VB.NET Uçuş Sitesi Flamingo Airlanes

 VB.NET Uçuş Sitesi Flamingo Airlanes
Okunuyor VB.NET Uçuş Sitesi Flamingo Airlanes

VB.NET Uçuş Sitesi Flamingo Airlanes projesi üzerinde çok çabaladığım bir projedir kendisi , asp.net platformunda yeni olduğum zamanlar kendimi geliştirmek adına yapmıştım.Yorduğu kadar beni eğittiğini de söyleyebilirim şimdi raporunu sizlerle paylaşmak istiyorum.

Projenin Videosu:

Kullanılan veritabanı :

access veritabanı (2007 ve üstü sürümler için uzantı .accdb)

Veritabanı adı : airlines

Tabloları :

projemizin tablolari

Admin tablosu adminin kullanıcı adı ve şifresini saklar

Duyurular tablosu eklicemiz duyuruları saklar

Haberler tablosu eklicemiz haberleri saklar

Kampanyalar tablosu eklediğimiz kampanyaları saklar

Nereden tablosu uçağın kalkış şehirlerini girdiğimiz tablodur

Nereye tablosu uçağın gidiş yerlerini girdiğimiz tablodur

Rezerv tablosu sefere göre rezerv yapan müşterileri tuttuğumuz tablodur

Sefer tablosu nereden ve nereye kullanılarak sefer belirleyip ücretlendirdiğimiz tablodur.

Programlama dili VB dir. Visual studioda kodlanmıştır.Tasarım için CSS kullanılmıştır.

Siteyi yaparken renkleri flamingodan esinlenilerek oluşturulmuş bu nedenle flamingo airlanes adı koyulmuştur projeye ve firmanın maskotu flamingo pablodur.

VB.NET Uçuş Sitesi Örnek kodlar ve açıklamaları :

anasayfa

Gördüğümüz gibi master pagemizde en tepede kendi oluşturduğmuz banner var master page kullandımız tüm sayfalarda otomatik banner olarak çekiyor

item template

Görüldüğü gibi duyurular, kampanyalar gibi anasayfada görülmesini istediğimiz başlıkları datalistlere ekledik.Datelistlerin içine birbirleriyle uyumlu renklerde labeller koyarak uygun bi görüntü oluşturduk.

Fotoğrafta görüldüğü gibi duyurularımızdaki labellera evaller vererek tablomuzdaki hangi içeriği çekmesi gerektiğini gösterdik tabiki bu içeriklere erişebilmesi için öncelikle datalistmizi veritabanımıza bağlamış olmamız gerekmekte onuda alttaki şekilde hallettik.

Fotoğrafı incelerek öncelikle access veritabanı kullanmak için

Imports System.Data.OleDb

Imports System.Data

 

 

Kütüphanelerini programımıza eklediğimizin farkına varacağız ardından page loada yani sayfa yüklenirken bazı fonksiyonları çalıştırmasını söylüyoruz.Bu fonksiyonların kodlarını tahlil edecek olursak

Public Sub listelehaber()



Dim baglan As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("airlanes.accdb"))

baglan.Open() '' VERİTABANI BAĞLANTI KODU

Dim kmt As New OleDbCommand("Select TOP 2 * from Haberler order by id desc", baglan)

   '' SQL LİSTELEME KODU ANCAK SAYFA TAMAMEN KAPLAMASIN DİYE TOP 2 YAPARAK 2 VERİ ÇEKDİK BU 2 VERİNİNDE SON GİRİLEN 2

    '' 2 VERİ OLMASI İÇİN ORDER BY ID DESC DEDİK BU SAYEDE id alanına göre tersten sıralayak son girilen 2 veriyi anasayfada

        ' vermiş olacak

Dim cek As OleDbDataReader = kmt.ExecuteReader() ''kodu cek ile okutturduk

datalist_duyuru.DataSource = cek

datalist_duyuru.DataBind() ''dataliste aktardık artık datalistimiz evaller ile gerekli alanları çekebilecek.

baglan.Close() ''bağlantıda kapattık

End Sub

 

Evet Fonksiyonumuzun içeriğindeki kodların anlamları bu şekilde.

VB.NET Uçuş Sitesi Görüldüğü gibi projemizde birden fazla aspx sayfası var.

Burada dikkat edilmesi gereken şey  menü alanındaki butonlarla yönlendirdimiz sayfalarda yanlızca bilgilendirme içerikleri bulunmaktadır bu sayfalar panel ve table ile şekillendirilmiştir içerikleri ise turkish airlines sitesinden kopyala yapıştır metotuyla alınmıştır.

Örnek:

<div class="menu">

           

            <div style="width: 1000px; height: 40px; float: right">

              <a href="default.aspx"><div class="menubuton" style=" background-repeat: repeat">

                    Anasayfa

                </div></a>

                 <a href="seyehat_bilgileri.aspx"><div class="menubuton">

                    Seyehat Bilgileri

                </div></a>

                 <a href="deneyim.aspx"><div class="menubuton">

                    Seyehat Deneyimi

                </div></a>

                 <a href="kurumsal.aspx"><div class="menubuton">

                    Kurumsal</div></a>

                

           

            </div>

        </div>

 

Sıra admin masterdan bahsetmek isterim tamamen default master ile kopyala yapıştır tekniğiyle oluşturuldu farkı sağ menüde ki datalistleri sildik bu alanlara admin menüsündeki gerekli sayfalara yönlendirmek için butonlar koyduk. Ve bu butonları kategorilerine göre sıraladık.

VB.NET Uçuş Sitesi Örnek kodlar

Protected Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click

        Response.Redirect("sefer_mevki.aspx")

    End Sub



    Protected Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click

        Response.Redirect("sefer_duzenle.aspx")

    End Sub



    Protected Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click

        Response.Redirect("rezerv.aspx")

    End Sub

 

Bu şekilde kodlara response.redirect vererek butona basıldında istediğimiz sayfalara yönlenmelerini sağladık.

Öncelikle anasayfamızda nereden nereye gidilceni müşteri seçer ve listeleye tıklar..

Nereden nereye gidilceni seçtikden sonra seferleri listeleye tıklarız gelen seferlerden bize uygun olanın bilgilerini alttaki gidiş alanına gireriz eğer tek yönlü bir gidişi seçtiysek dönüş tarihini seçmemiz bir şey değiştirmicektir.

Ortadaki tek yön tickini kaldırmamız çift yön anlamına gelir tickliyken tek yön bu sebeple kaldırmıyoruz

VB.NET Uçuş Sitesi Saat alanınada veritabanındaki kalkış saatini yani sabah 11 giriyoruz ardından sefer kontrol diyoruz herhangi bir yanlış hatamız varsa javascript kodu sayesinde ekrana uyarı geliyor hayır yok ise bir sonraki işleme geçiyoruz..

Ardından devama tıklarız.Bir sonraki sayfada koltuk seçimini yapar ve bu sayfadan gönderdiğimiz verileri alıp veritabanına işler…

Şimdi alt sayfada verileri gönderdiğimiz rezervasyon sayfasını göstereceğiz.

Son olarak rezervasyon tamamla deriz ve iletişim bilgilerini kaydeden kişiye göre veritabanına ekler.

VB.NET Uçuş Sitesinin Kodlamalardaki örneklerini inceleyelim.

Imports System.Data.OleDb

'' OLEDB KOMUTLARINI KULLANMAK İÇİN KÜTÜPHANEYİ İMPORT ETTİK

Public Class _default1

    Inherits System.Web.UI.Page

    Dim ekopromosyon As String

    Dim ekoesnek As String

    Dim business As String

    Dim sefer As String

    Dim yon As String

    Dim tarihgidis As String

    Dim tarisgelis As String

    Dim onay As String

    '' DEĞİŞKENKLERİ OLUŞTURDUK

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Label4.Text = ""

        Label5.Text = ""

        If (Not Page.IsPostBack) Then

            listelenereden() 'TEKRAR YÜKLEMEMESİ HER SEFERDE İÇİN ISPOCK BACK İÇİNE YAZDIK

            listelenereye()

        End If







    End Sub

    Public Sub listelenereden() '' NEREDENİ VERİTABANINDAN ÇEKDİK

        DropDownList1.Items.Clear()

        Dim baglan As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("airlanes.accdb"))

        baglan.Open()

        Dim kmt As New OleDbCommand("Select * from Nereden order by id", baglan)

        Dim cek As OleDbDataReader = kmt.ExecuteReader()

        ''

        While cek.Read

            DropDownList1.Items.Add(cek(1))



        End While

        baglan.Close()

    End Sub

    Public Sub listelenereye() '' NEREYE LİSTESİNİ VERİTABANINDAN SEÇDİK VE BUNLARI COMBOBAXLARA YETLEŞTİRDİK

        DropDownList2.Items.Clear()

        Dim baglan As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("airlanes.accdb"))

        baglan.Open()

        Dim kmt As New OleDbCommand("Select * from Nereye order by id", baglan)

        Dim cek As OleDbDataReader = kmt.ExecuteReader()

        ''

        While cek.Read

            DropDownList2.Items.Add(cek(1))



        End While

        baglan.Close()

    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        If Session("onay") = "tamam" Then

            ''EĞER ONAY TAMAMSA YANİ KONTROL BUTONUNDA HATA YOKSA FİYAT HESAPLAMASINI YAPAR HANGİ ALAN SEÇİLDİYSE ONA GÖRE İŞLEMİ YAPAR

            '' HANGİ ALANIN SEÇİLDİĞİNİ İFLER İLE KONTROL ETTİK

            Session("toplam") = (Integer.Parse(DropDownList3.SelectedItem.Text) + Integer.Parse(DropDownList5.SelectedItem.Text) + Integer.Parse(DropDownList4.SelectedItem.Text)).ToString()

            If Integer.Parse(Session("toplam")) < 6 Then

                If RadioButton1.Checked = True Then

                    Session("Class") = lbl_ekopromosyon.Text

                End If



                If RadioButton2.Checked = True Then

                    Session("Class") = lbl_ekoesnek.Text

                End If

                If RadioButton3.Checked = True Then

                    Session("Class") = lbl_business.Text



                End If



                If Session("Yon") = "tek yön" Then

                    '' TEK YÖNSE HESAPLANDIMIZ RAKAMI SESSİONA AKTARIR HAYIR ÇİFT YÖNSE 2 İLE ÇARPAR ÇÜNKÜ 2 UÇUŞ YAPIYORUZ

                    Session("ToplamUcret") = (Integer.Parse(Session("Class")) * Integer.Parse(Session("Toplam"))).ToString()

                ElseIf Session("Yon") = "çift yön" Then

                    Session("ToplamUcret") = ((Integer.Parse(Session("Class")) * Integer.Parse(Session("Toplam") * 2))).ToString()

                End If



                Response.Redirect("rezervasyon.aspx")

            Else

                Dim myScript As String = "window.alert('En Fazla 5 Yolcu Seçimi Yapınız');" ''JAVASCRİPT KODUYLA UYARI VERİYORUZ

                ClientScript.RegisterStartupScript(Me.GetType(), "myScript", myScript, True)

            End If





        Else

            Dim myScript As String = "window.alert('Lütfen Öncelikle Sefer Ayarlarını Yapınız');"

            ClientScript.RegisterStartupScript(Me.GetType(), "myScript", myScript, True)

        End If



    End Sub



    Protected Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged





    End Sub

    Private Sub kontrol2()

        Dim baglan As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("airlanes.accdb"))

        If baglan.State = ConnectionState.Closed Then

            baglan.Open()

        End If

        If CheckBox1.Checked = True Then

            Session("Yon") = "tek yön" ''COMBOBOX 1 SEÇİLİYSE TEK YÖN OLARAK AKTARIR YÖN SESSİONA



            Dim cmd As New OleDbCommand("select * from sefer where nereden='" + DropDownList1.SelectedItem.Text + "'and nereye='" + DropDownList2.SelectedItem.Text + "' and saat='" + TextBox1.Text + "'and tur='" + Session("Yon").ToString() + "' and tarih_gidis='" + Calendar1.SelectedDate.ToShortDateString() + "'", baglan)

            Dim oku3 As OleDbDataReader = cmd.ExecuteReader()

            If oku3.Read() Then

                ''NEREDEN NEREYE BAKAR EĞER OKURSA BÖYLE BİR SEFER VARDIR WHERE İLE ŞART KOŞARAK KULLANICININ SEÇTİĞİ İLLER ÜZERİNDEN KONTROL YAPILIR





                ekopromosyon = oku3(4)

                ekoesnek = oku3(5)

                business = oku3(6) ''FİYAT ALANLARINI DOLDURMAK İÇİN FİYAT LİSTESİNİ OKUDUYSA SEFER TABLOSUNDAN ÇEKDİK

                Session("seferid") = oku3(0)

                lbl_business.Text = business

                lbl_ekoesnek.Text = ekoesnek

                lbl_ekopromosyon.Text = ekopromosyon ''LABELLERE YAZDIK

                sefer = "var" ''SEFER VAR DEDİK

                onay = "tamam" ''ONAYIDA VERDİK

                Session("onay") = "tamam" 'SESSİON ONAYDA TAMAM DERİZ

            Else



                Dim myScript As String = "window.alert('Malasef Seçtiğiniz Sefer Bulunmamaktadır');"

                ClientScript.RegisterStartupScript(Me.GetType(), "myScript", myScript, True) ''DEĞİLSE UYARDIK

                sefer = "Yok" ''SESSİONLARI BUNA GÖRE DÜZENLEDİK

                onay = "hayır"

            End If

            If sefer = "var" Then

                Dim dsPerson As New DataSet()

                Dim strSelectCmd As String = "select * from sefer where nereden='" + DropDownList1.SelectedItem.Text + "'and nereye='" + DropDownList2.SelectedItem.Text + "'"

                Dim da As New OleDbDataAdapter(strSelectCmd, baglan)

                da.Fill(dsPerson, "sefer") ''EĞER VARSA DATAWİEWİ DOLDURDUK YOKSA ZATEN DÖNMİCEK ALTTADA AYNI İŞLEMLERİ ÇİFT YÖN İÇİN YAPDIK

                Dim dvPerson As DataView = dsPerson.Tables("sefer").DefaultView

                GridView1.DataSource = dvPerson

                GridView1.DataBind()



SIRADA REZERV SAYFASINA BAKALIM



  Private Sub LogAl()

        Dim baglan As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("airlanes.accdb"))

        baglanti.Open()



        Dim cmd As New OleDbCommand("select * from rezerv where sefer_id='" + Session("seferid").ToString() + "'", baglanti) 'select * from satis where arac_id='" + arac_id + "'and sefer_id='" + sefer_id + "'and sefer_tarihi='" + tarih + "'and sefer_saati='" + tarih_saat + "'", baglanti)

        Dim oku As OleDbDataReader = cmd.ExecuteReader()





        Try

            While oku.Read ''OKUDU KOLTUKLARI SWİTCH CASE İLE KONTROL EDEREK VAR OLANLARI DOLU YANİ KIRMIZI KOLTUK YAPACAK

                '' SQL KONTROL BİLGİLERİNİ Bİ ÖNCEKİ SAYFADAKİ GİRİLEN BİLGİLER ÜZERİNDEN KONTROL EDİCEK





                Dim koltuk_No As String = oku(1).ToString

                Select Case oku(1)

                    Case "1"

                        btn1.Text = oku(3).ToString()

                        btn1.BackColor = Color.Red

                        Exit Select

                    Case "2"

                        btn2.Text = oku(3).ToString()

                        btn2.BackColor = Color.Red

                        Exit Select

                    Case "3"

                        btn3.Text = oku(3).ToString()

                        btn3.BackColor = Color.Red

                        Exit Select

                    Case "4"

                        btn4.Text = oku(3).ToString()

                        btn4.BackColor = Color.Red

                        Exit Select

                    Case "5"

                        btn5.Text = oku(3).ToString()

                        btn5.BackColor = Color.Red

                        Exit Select

                    Case "6"

                        btn6.Text = oku(3).ToString()

                        btn6.BackColor = Color.Red

                        Exit Select

                    Case "7"

                        btn7.Text = oku(3).ToString()

                        btn7.BackColor = Color.Red

                        Exit Select

                    Case "8"

                        btn8.Text = oku(3).ToString()

                        btn8.BackColor = Color.Red

                        Exit Select

                    Case "9"

                        btn9.Text = oku(3).ToString()

                        btn9.BackColor = Color.Red

                        Exit Select

                    Case "10"

                        btn10.Text = oku(3).ToString()

                        btn10.BackColor = Color.Red

                        Exit Select

                    Case "11"

                        btn11.Text = oku(3).ToString()

                        btn11.BackColor = Color.Red

                        Exit Select

                    Case "12"

                        btn12.Text = oku(3).ToString()

                        btn12.BackColor = Color.Red

                        Exit Select

                    Case "13"

                        btn13.Text = oku(3).ToString()

                        btn13.BackColor = Color.Red

                        Exit Select

                    Case "14"

                        btn14.Text = oku(3).ToString()

                        btn14.BackColor = Color.Red

                        Exit Select

                    Case "15"

                        btn15.Text = oku(3).ToString()

                        btn15.BackColor = Color.Red

                  Exit Select

                    Case "16"

                        btn16.Text = oku(3).ToString()

                        btn16.BackColor = Color.Red

                        Exit Select

                    Case "17"

                        btn17.Text = oku(3).ToString()

                        btn17.BackColor = Color.Red

                        Exit Select

                    Case "18"

                        btn18.Text = oku(3).ToString()

                        btn18.BackColor = Color.Red

                        Exit Select

                    Case "19"

                        btn19.Text = oku(3).ToString()

                        btn19.BackColor = Color.Red

                        Exit Select

                    Case "20"

                        btn20.Text = oku(3).ToString()

                        btn20.BackColor = Color.Red

                        Exit Select

                End Select





            End While



        Catch ex As Exception



      End Try



End Sub

 

Şimdi 20 koltumuzu kontrol ettik.

i = ListBox1.Items.Count + 1



If i <= Integer.Parse(Session("toplam").ToString()) Then

If (CType(sender, Button).BackColor = Color.Chartreuse) Then ''yeşilse ve tıklanırsa yani seçilirse



CType(sender, Button).BackColor = Color.Orange ''arkaplanı turuncu yap



If Not koltuklar.Contains(CType(sender, Button).Text) Then

koltuklar.Add(CType(sender, Button).Text) ''koltuklar dizisine ekle tıklanan değeri

End If

Bu şekilde koltuk seçimlerini kontrol ettik.

Private Sub koltukYazdir()



Dim koltuk As String = ""

For i As Integer = 0 To koltuklar.Count - 1

koltuk += koltuklar(i).ToString()

ListBox1.Items.Add(koltuk) ''aldiğimiz veriyi listboxa ekleriz

Next

If koltuklar.Count >= 1 Then





koltuk = koltuk.Remove(koltuk.Length - 1, 1)

ListBox1.Items.Remove(koltuk) ''tekrar tıklanırsa listboxdan sileriz

End If

txtKoltukNo.Text = koltuk

End Sub

 

Listbox ekleme işlemini bu şekilde yapdık.

Admin panelimizde ise temel sql ekleme silme güncelleme ve listeleme komutlarını kullandık.Bu kadar arkadaşlar.

Flemingo Airlanes Projesini İndir Rapor + Proje Dosyası + Kurulum videosu

Yapılan Yorumlar

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.