示例#1
0
 private void sunucu_ClientdenYeniMesajAlindi(ClientdanMesajAlmaArgumanlari e)
 {
     Invoke(new dgClientdanYeniMesajAlindi(mesajAlindi), e);
 }
示例#2
0
        // Bir clientden mesaj alındığında ilgili olay bu fonksyonu çağırır
        private void mesajAlindi(ClientdanMesajAlmaArgumanlari e)
        {
            //Gelen mesajı & ve = işaretlerine göre ayrıştır
            NameValueCollection parametreler = mesajCoz(e.Mesaj);
            //Ayrıştırma başarısızsa çık
            if (parametreler == null || parametreler.Count < 1)
            {
                return;
            }
            //Ayrıştırma sonucunda komuta göre gerekli işlemleri yap
            try
            {
                switch (parametreler["komut"])
                {
                    case "siparis":
                        komut_siparis(parametreler["masa"], parametreler["departmanAdi"], parametreler["miktar"], parametreler["yemekAdi"], parametreler["siparisiGirenKisi"], parametreler["dusulecekDeger"], e.Client, parametreler["adisyonNotu"], parametreler["sonSiparisMi"], parametreler["porsiyon"], parametreler["tur"], parametreler["ilkSiparis"], parametreler["porsiyonSinifi"]);
                        break;
                    case "iptal": // ürün iptal edildiği bilgisini dağıtmak için
                        komut_iptal(parametreler["masa"], parametreler["departmanAdi"], parametreler["miktar"], parametreler["yemekAdi"], parametreler["siparisiGirenKisi"], parametreler["dusulecekDeger"], e.Client, parametreler["adisyonNotu"], parametreler["ikramYeniMiEskiMi"], parametreler["porsiyon"], parametreler["tur"], parametreler["iptalNedeni"]);
                        break;
                    case "hesapOdeniyor": // yeni masa açıldığı bilgisi geldiğinde
                        komut_hesapOdeniyor(parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "OdemeBitti": // yeni masa açıldığı bilgisi geldiğinde
                        komut_hesapOdemeBitti(parametreler["masa"], parametreler["departmanAdi"], parametreler["odenmeyenSiparisVarMi"]);
                        break;
                    case "AdisyonYazdir": // ikramın iptal edildiği bilgisini dağıtmak için
                        komut_adisyonYazdir(parametreler["masa"], parametreler["departmanAdi"], parametreler["garson"], parametreler["yazdirilacakIndirim"], parametreler["acilisZamani"], parametreler["firmaAdi"], parametreler["firmaAdresTelefon"], parametreler["yaziciWindowsAdi"], parametreler["odenenMiktar"]);
                        break;
                    case "Indirim": // yeni masa açıldığı bilgisi geldiğinde
                        komut_hesapIndirim(parametreler["masa"], parametreler["departmanAdi"], parametreler["odemeTipi"], parametreler["odemeMiktari"], e.Client, parametreler["indirimYapanKisi"]);
                        break;
                    case "bildirim":
                        komut_bildirim(parametreler["masalar"], e.Client);
                        break;
                    case "bildirimGoruldu":
                        komut_bildirimGoruldu(parametreler["masa"], parametreler["departmanAdi"], parametreler["yemekAdi"], parametreler["adedi"], parametreler["porsiyonu"]);
                        break;
                    case "GarsonIstendi":
                    case "HesapIstendi":
                    case "TemizlikIstendi":
                        komut_OzelBildirim(parametreler["masa"], parametreler["departmanAdi"], parametreler["komut"], e.Client, parametreler["kalanHesap"]);
                        break;
                    case "GarsonGoruldu":
                    case "HesapGoruldu":
                    case "TemizlikGoruldu":
                        komut_OzelBildirimGoruldu(parametreler["masa"], parametreler["departmanAdi"], parametreler["komut"]);
                        break;
                    case "masaGirilebilirMi":
                        komut_masaGirilebilirMi(parametreler["masa"], parametreler["departmanAdi"], e.Client);
                        break;
                    case "masaDegistirTablet":
                    case "masaDegistir": // Masa değiştirmek ve bu bilgiyi diğer kullanıcılara bildirmek için
                        komut_masaDegistir(parametreler["yeniMasa"], parametreler["yeniDepartmanAdi"], parametreler["eskiMasa"], parametreler["eskiDepartmanAdi"], parametreler["yapilmasiGereken"], parametreler["komut"], e.Client);
                        break;
                    case "ikram": // ürün ikram edildiği bilgisini dağıtmak için
                        komut_ikram(parametreler["masa"], parametreler["departmanAdi"], parametreler["miktar"], parametreler["yemekAdi"], parametreler["siparisiGirenKisi"], parametreler["dusulecekDeger"], e.Client, parametreler["adisyonNotu"], parametreler["porsiyon"], parametreler["tur"]);
                        break;
                    case "ikramIptal": // ikramın iptal edildiği bilgisini dağıtmak için
                        komut_ikramIptal(parametreler["masa"], parametreler["departmanAdi"], parametreler["miktar"], parametreler["yemekAdi"], parametreler["siparisiGirenKisi"], parametreler["dusulecekDeger"], e.Client, parametreler["adisyonNotu"], parametreler["ikramYeniMiEskiMi"], parametreler["porsiyon"], parametreler["tur"]);
                        break;
                    case "urunuTasiTablet":
                    case "urunuTasi":
                        komut_urunuTasi(parametreler["masa"], parametreler["departmanAdi"], parametreler["yeniMasa"], parametreler["yeniDepartmanAdi"], parametreler["siparisiGirenKisi"], parametreler["aktarmaBilgileri"], e.Client);
                        break;
                    case "OdemeYapildi": // herhangi bir ödeme yapıldığında
                        komut_OdemeYapildi(parametreler["masa"], parametreler["departmanAdi"], parametreler["odemeTipi"], parametreler["odemeMiktari"], e.Client, parametreler["secilipOdenenSiparisBilgileri"], parametreler["odemeyiAlanKisi"]);
                        break;
                    case "OdemeGuncelle": // Ödeme güncellendiğinde
                        komut_OdemeGuncelle(parametreler["masa"], parametreler["departmanAdi"], parametreler["odemeler"], parametreler["gelenOdemeler"], e.Client, parametreler["siparisiGirenKisi"]);
                        break;
                    case "masayiAc":
                        komut_masayiAc(parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "giris": // bir kullanıcı servera bağlandığında
                        komut_giris(e.Client, parametreler["nick"]);
                        break;
                    case "YaziciIstegi": // bir kullanıcı servera bağlandığında
                        komut_yaziciGonder(e.Client, parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "LoadSiparis": // bir kullanıcı menü ekranını açmak istediğinde masada verilen siparişleri aktarmak için
                        komut_loadSiparis(e.Client, parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "OdenenleriGonder": // bir kullanıcı menü ekranını açmak istediğinde masada verilen siparişleri aktarmak için
                        komut_OdenenleriGonder(e.Client, parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "OdemeBilgileriGuncelleTablet":
                    case "OdemeBilgileriTablet":
                        komut_OdemeBilgileriTablet(e.Client, parametreler["masa"], parametreler["departmanAdi"], parametreler["komut"]);
                        break;
                    case "AdisyonNotu": // adisyon notu değiştirileceğinde eski adisyon notunu göstermek için
                        komut_adisyonNotu(e.Client, parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "departmanMasaSecimiIcin": // ürün taşıma için
                    case "departman"://departmanın masaları hakkında bilgi
                    case "departmanMasaTasimaIcin":
                        komut_departman(e.Client, parametreler["departmanAdi"], parametreler["komut"], parametreler["masaDepartman"]);
                        break;
                    case "anketIstegi":// anket isteği geldiğinde
                        komut_anketIstegi(e.Client);
                        break;
                    case "anketCevaplari": // anket cevapları geldiğinde
                        komut_anketCevaplari(parametreler["kullaniciBilgileri"], parametreler["cevapBilgileri"], parametreler["soruBilgileri"]); // anket cevapları ve kullanıcı bilgileri
                        break;
                    case "cikis": // bir kullanıcı serverdan çıktığında
                        komut_cikis(e.Client);
                        break;
                    case "masaAcildi": // yeni bir masa açıldığı bilgisini dağıtmak için
                        komut_masaAcildi(parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "masaKapandi": // bir masa kapandığı bilgisini dağıtmak için
                        komut_masaKapandi(parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "listeBos":
                        komut_listeBos(parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "adisyonNotunuGuncelle":
                        komut_adisyonNotunuGuncelle(parametreler["masa"], parametreler["departmanAdi"], parametreler["adisyonNotu"]);
                        break;
                    case "masaGirilebilir":
                        komut_masaGirilebilir(parametreler["masa"], parametreler["departmanAdi"]);
                        break;
                    case "veriGonder":
                        komut_veriGonder(e.Client, parametreler["kacinci"], parametreler["sadeceXML"]);
                        break;
                }
            }
            catch
            {
                //parametre hatalı istenilen işlem yapılamadı hatası ver
                if (e.Client != null)
                {
                    komut_IslemHatasi(e.Client, "İstenilen işlem gerçekleştirilemedi, lütfen tekrar deneyiniz");
                }
            }

            //Mesajı 'Son Gelen 50 Mesaj' listesinde en başa ekle
            son50Mesaj.Insert(0, "" + e.Mesaj);
            //Listedeki mesaj sayısı 50'i geçmişse sondan sil.
            if (son50Mesaj.Count > 50)
            {
                son50Mesaj.RemoveAt(50);
            }
        }