//hesap ekranı load olurken ödenen siparişlere dair bilgileri gönderen method private void komut_OdenenleriGonder(ClientRef client, string masa, string departmanAdi) { StringBuilder siparisBilgileri = new StringBuilder(); SqlCommand cmd = SQLBaglantisi.getCommand("SELECT Fiyatı, Adet, YemekAdi, Porsiyon, KiloSatisiMi from Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE Adisyon.MasaAdi='" + masa + "' and Adisyon.DepartmanAdi='" + departmanAdi + "' and Siparis.IptalMi=0 AND Siparis.OdendiMi=1 AND Adisyon.AcikMi=1 AND Adisyon.IptalMi=0 ORDER BY Adet DESC"); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { try { siparisBilgileri.Append("*" + dr.GetInt32(0).ToString() + "-" + dr.GetDecimal(1).ToString() + "-" + dr.GetString(2) + "-" + dr.GetDecimal(3) + "-" + dr.GetBoolean(4)); } catch { cmd.Connection.Close(); cmd.Connection.Dispose(); //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); siparisBilgileri.Clear(); return; } } StringBuilder odemeBilgileri = new StringBuilder(); cmd = SQLBaglantisi.getCommand("SELECT OdemeTipi, OdenenMiktar from OdemeDetay JOIN Adisyon ON OdemeDetay.AdisyonID=Adisyon.AdisyonID WHERE Adisyon.MasaAdi='" + masa + "' AND Adisyon.DepartmanAdi='" + departmanAdi + "' AND Adisyon.AcikMi=1 AND Adisyon.IptalMi=0"); dr = cmd.ExecuteReader(); while (dr.Read()) { try { odemeBilgileri.Append("*" + dr.GetInt32(0).ToString() + "-" + dr.GetDecimal(1).ToString()); } catch { cmd.Connection.Close(); cmd.Connection.Dispose(); //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); odemeBilgileri.Clear(); return; } } cmd.Connection.Close(); cmd.Connection.Dispose(); if (odemeBilgileri.Length >= 1) { odemeBilgileri.Remove(0, 1); } if (siparisBilgileri.Length >= 1) { siparisBilgileri.Remove(0, 1); } client.MesajYolla("komut=OdenenleriGonder&siparisBilgileri=" + siparisBilgileri + "&odemeBilgileri=" + odemeBilgileri); }
private void komut_OzelBildirim(string masa, string departmanAdi, string komut, ClientRef client, string kalanHesap = null) { SqlCommand cmd; if (komut == "HesapIstendi") { cmd = SQLBaglantisi.getCommand("SELECT OdemeYapiliyor FROM Adisyon WHERE AcikMi=1 AND IptalMi=0 AND MasaAdi=@_MasaAdi AND DepartmanAdi=@_DepartmanAdi"); cmd.Parameters.AddWithValue("@_MasaAdi", masa); cmd.Parameters.AddWithValue("@_DepartmanAdi", departmanAdi); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); try { if (dr.GetBoolean(0)) { client.MesajYolla("komut=hesapIslemde"); cmd.Connection.Close(); cmd.Connection.Dispose(); return; } } catch { } } cmd = SQLBaglantisi.getCommand("UPDATE Adisyon SET " + komut + "=1 WHERE MasaAdi=@_MasaAdi AND DepartmanAdi=@_DepartmanAdi AND AcikMi=1 AND IptalMi=0"); cmd.Parameters.AddWithValue("@_MasaAdi", masa); cmd.Parameters.AddWithValue("@_DepartmanAdi", departmanAdi); cmd.ExecuteNonQuery(); cmd.Connection.Close(); cmd.Connection.Dispose(); if (kalanHesap != null && Convert.ToDecimal(kalanHesap.Replace('.', ',')) == 0) { //masayı kapat if (siparisForm != null) { if (siparisForm.viewdakiDepartmaninAdi != null) { if (siparisForm.viewdakiDepartmaninAdi == departmanAdi) { Button tablebutton = siparisForm.tablePanel.Controls[masa] as Button; tablebutton.ForeColor = SystemColors.ActiveCaption; tablebutton.BackColor = Color.White; if (siparisForm.hangiMasaButonunaBasildi != null) { if (siparisForm.hangiMasaButonunaBasildi.Text == masa) { if (siparisForm.siparisMenuForm != null) { if (siparisForm.siparisMenuForm.hesapForm != null) { this.Invoke((MethodInvoker)delegate { siparisForm.siparisMenuForm.hesapForm.Close(); }); } this.Invoke((MethodInvoker)delegate { siparisForm.siparisMenuForm.Close(); }); } } } } } } komut_listeBos(masa, departmanAdi); //Tüm kullanıcılara kapatılmak istenilen masayı gönderelim tumKullanicilaraMesajYolla("komut=masaKapandi&masa=" + masa + "&departmanAdi=" + departmanAdi); } else { tumKullanicilaraMesajYolla("komut=" + komut + "&masa=" + masa + "&departmanAdi=" + departmanAdi); } }
private void komut_OdemeGuncelle(string masa, string departmanAdi, string _odemeler, string _gelenOdemeler, ClientRef client, string siparisiGirenKisi) { string[] stringOdemeler, stringGelenOdemeler; try { stringOdemeler = _odemeler.Split('*'); stringGelenOdemeler = _gelenOdemeler.Split('*'); } catch { //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); return; } decimal[] odemeler = { 0, 0, 0 }, gelenOdemeler = { 0, 0, 0 }; odemeler[0] = Convert.ToDecimal(stringOdemeler[0]); odemeler[1] = Convert.ToDecimal(stringOdemeler[1]); odemeler[2] = Convert.ToDecimal(stringOdemeler[2]); gelenOdemeler[0] = Convert.ToDecimal(stringGelenOdemeler[0]); gelenOdemeler[1] = Convert.ToDecimal(stringGelenOdemeler[1]); gelenOdemeler[2] = Convert.ToDecimal(stringGelenOdemeler[2]); // adisyon id al int adisyonID; SqlCommand cmd = SQLBaglantisi.getCommand("SELECT AdisyonID FROM Adisyon WHERE MasaAdi='" + masa + "' AND DepartmanAdi='" + departmanAdi + "' AND AcikMi=1"); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); try // açık { adisyonID = dr.GetInt32(0); } catch// kapalı { cmd.Connection.Close(); cmd.Connection.Dispose(); KontrolFormu dialog = new KontrolFormu("Ödeme bilgileri kaydedilirken bir hata oluştu, lütfen tekrar deneyiniz", false); dialog.Show(); return; } decimal odenenMiktar = 0; for (int i = 0; i < odemeler.Length; i++) { if (odemeler[i] != gelenOdemeler[i]) // değişen ödemeleri güncelle { odenenMiktar = gelenOdemeler[i]; int odemeTipi = 101 + i; cmd = SQLBaglantisi.getCommand("IF EXISTS (SELECT * FROM OdemeDetay WHERE AdisyonID=@_AdisyonID1 AND OdemeTipi=@_OdemeTipi1) UPDATE OdemeDetay SET OdenenMiktar=@_OdenenMiktar1, IndirimiKimGirdi=@_IndirimiKimGirdi1 WHERE OdemeTipi=@_OdemeTipi2 AND AdisyonID=@_AdisyonID2 ELSE INSERT INTO OdemeDetay(AdisyonID,OdemeTipi,OdenenMiktar,IndirimiKimGirdi) VALUES(@_AdisyonID3,@_OdemeTipi2,@_OdenenMiktar2,@_IndirimiKimGirdi2)"); cmd.Parameters.AddWithValue("@_AdisyonID1", adisyonID); cmd.Parameters.AddWithValue("@_OdemeTipi1", odemeTipi); cmd.Parameters.AddWithValue("@_OdenenMiktar1", odenenMiktar); cmd.Parameters.AddWithValue("@_IndirimiKimGirdi1", siparisiGirenKisi); cmd.Parameters.AddWithValue("@_OdemeTipi2", odemeTipi); cmd.Parameters.AddWithValue("@_AdisyonID2", adisyonID); cmd.Parameters.AddWithValue("@_AdisyonID3", adisyonID); cmd.Parameters.AddWithValue("@_OdemeTipi2", odemeTipi); cmd.Parameters.AddWithValue("@_OdenenMiktar2", odenenMiktar); cmd.Parameters.AddWithValue("@_IndirimiKimGirdi2", siparisiGirenKisi); cmd.ExecuteNonQuery(); cmd.Connection.Close(); cmd.Connection.Dispose(); } } client.MesajYolla("komut=odemeGuncelleTamamlandi&odemeler=" + odemeler[0] + "*" + odemeler[1] + "*" + odemeler[2] + "&gelenOdemeler=" + gelenOdemeler[0] + "*" + gelenOdemeler[1] + "*" + gelenOdemeler[2] + "&siparisiGirenKisi=" + siparisiGirenKisi); tumKullanicilaraMesajYolla("komut=OdemeIndirimOnayTablet&masaAdi=" + masa + "&departmanAdi=" + departmanAdi); }
private void komut_OdemeYapildi(string masa, string departmanAdi, string odemeTipi, string odemeMiktari, ClientRef client, string secilipOdenenSiparisBilgileri, string odemeyiAlanKisi) { string[] siparisler; try { siparisler = secilipOdenenSiparisBilgileri.Split('*'); } catch { //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); return; } SqlCommand cmd; int adisyonID = -1; if (siparisler.Count() > 0 && siparisler[0] != "") { int gelenAdet; string yemeginAdi, tur; decimal yemeginFiyati, porsiyon; bool turBool = false; for (int i = 0; i < siparisler.Count(); i++) { string[] detaylari = siparisler[i].Split('-'); try { gelenAdet = Convert.ToInt32(detaylari[0]); yemeginAdi = detaylari[1]; yemeginFiyati = Convert.ToDecimal(detaylari[2]); porsiyon = Convert.ToDecimal(detaylari[3]); tur = Convert.ToString(detaylari[4]); if (tur == "K") turBool = true; } catch { break; } cmd = SQLBaglantisi.getCommand("SELECT SiparisID,Adisyon.AdisyonID,Adet,Siparis.VerilisTarihi,Siparis.Garsonu,NotificationGorulduMu FROM Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE Adisyon.AcikMi=1 AND Adisyon.IptalMi=0 AND Siparis.IkramMi=0 AND Siparis.IptalMi=0 AND Siparis.OdendiMi=0 AND Adisyon.MasaAdi=@_MasaAdi AND Adisyon.DepartmanAdi=@_DepartmanAdi' AND Siparis.YemekAdi=@_YemekAdi AND Siparis.Porsiyon=CONVERT(DECIMAL(5,2),@_Porsiyon) AND Siparis.KiloSatisiMi=@_Tur ORDER BY Adet DESC"); cmd.Parameters.AddWithValue("@_MasaAdi", masa); cmd.Parameters.AddWithValue("@_DepartmanAdi", departmanAdi); cmd.Parameters.AddWithValue("@_YemekAdi", yemeginAdi); cmd.Parameters.AddWithValue("@_Porsiyon", porsiyon); cmd.Parameters.AddWithValue("@_Tur", turBool); SqlDataReader dr = cmd.ExecuteReader(); int siparisID, adet; DateTime verilisTarihi; bool NotificationGorulduMu; while (dr.Read()) { try { siparisID = dr.GetInt32(0); adisyonID = dr.GetInt32(1); adet = dr.GetInt32(2); verilisTarihi = dr.GetDateTime(3); siparisiKimGirdi = dr.GetString(4); NotificationGorulduMu = dr.GetBoolean(5); cmd.Connection.Close(); cmd.Connection.Dispose(); } catch { cmd.Connection.Close(); cmd.Connection.Dispose(); //HATA MESAJI GÖNDER komut_IslemHatasi(client, "Ödeme işlemi gerçekleşirken hata oluştu, lütfen tekrar deneyiniz"); return; } if (adet < gelenAdet) // ödenmesi istenenlerin sayısı(kacPorsiyon) ödenebileceklerden(porsiyon) küçükse { odendiUpdateTam(siparisID); gelenAdet -= adet; } else if (adet > gelenAdet) // den büyükse { odendiUpdateInsert(siparisID, adisyonID, adet, (double)yemeginFiyati, gelenAdet, yemeginAdi, verilisTarihi, porsiyon, turBool, NotificationGorulduMu); gelenAdet = 0; } else // elimizde ikram edilmemişler ikramı istenene eşitse { odendiUpdateTam(siparisID); gelenAdet = 0; } if (gelenAdet == 0) break; } } } if (adisyonID == -1) { cmd = SQLBaglantisi.getCommand("SELECT AdisyonID FROM Adisyon WHERE AcikMi=1 AND MasaAdi='" + masa + "' AND DepartmanAdi='" + departmanAdi + "'"); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); adisyonID = dr.GetInt32(0); cmd.Connection.Close(); cmd.Connection.Dispose(); } cmd = SQLBaglantisi.getCommand("IF EXISTS (SELECT * FROM OdemeDetay WHERE AdisyonID=@_AdisyonID1 AND OdemeTipi=@_OdemeTipi1) UPDATE OdemeDetay SET OdenenMiktar=OdenenMiktar+@_OdenenMiktar1, IndirimiKimGirdi=@_IndirimiKimGirdi1 WHERE OdemeTipi=@_OdemeTipi2 AND AdisyonID=@_AdisyonID2 ELSE INSERT INTO OdemeDetay(AdisyonID,OdemeTipi,OdenenMiktar,IndirimiKimGirdi) VALUES(@_AdisyonID3,@_OdemeTipi3,@_OdenenMiktar2,@_IndirimiKimGirdi2)"); cmd.Parameters.AddWithValue("@_AdisyonID1", adisyonID); cmd.Parameters.AddWithValue("@_OdemeTipi1", Convert.ToInt32(odemeTipi)); cmd.Parameters.AddWithValue("@_OdenenMiktar1", Convert.ToDecimal(odemeMiktari)); cmd.Parameters.AddWithValue("@_IndirimiKimGirdi1", odemeyiAlanKisi); cmd.Parameters.AddWithValue("@_OdemeTipi2", Convert.ToInt32(odemeTipi)); cmd.Parameters.AddWithValue("@_AdisyonID2", adisyonID); cmd.Parameters.AddWithValue("@_AdisyonID3", adisyonID); cmd.Parameters.AddWithValue("@_OdemeTipi3", Convert.ToInt32(odemeTipi)); cmd.Parameters.AddWithValue("@_OdenenMiktar2", Convert.ToDecimal(odemeMiktari)); cmd.Parameters.AddWithValue("@_IndirimiKimGirdi2", odemeyiAlanKisi); cmd.ExecuteNonQuery(); cmd.Connection.Close(); cmd.Connection.Dispose(); client.MesajYolla("komut=OdemeOnay&odemeTipi=" + odemeTipi + "&odemeMiktari=" + odemeMiktari + "&secilipOdenenSiparisBilgileri=" + secilipOdenenSiparisBilgileri); tumKullanicilaraMesajYolla("komut=OdemeIndirimOnayTablet&masaAdi=" + masa + "&departmanAdi=" + departmanAdi); }
// Anket isteği geldiğinde anket sorularını clienta gönderen fonksiyon private void komut_anketIstegi(ClientRef client) { StringBuilder anketSorulari = new StringBuilder(); SqlCommand cmd = SQLBaglantisi.getCommand("SELECT Soru,SorununSirasi FROM AnketSorular WHERE SoruAktifMi=1 ORDER BY SorununSirasi ASC"); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { try { anketSorulari.Append("*" + dr.GetString(0) + "-" + dr.GetInt32(1)); } catch { anketSorulari.Clear(); } } cmd.Connection.Close(); cmd.Connection.Dispose(); //İlk sorunun başına konulan "*" metnini kaldır if (anketSorulari.Length >= 1) { anketSorulari.Remove(0, 1); } //Kullanıcıya soruları gönderelim client.MesajYolla("komut=anketIstegi&sorular=" + anketSorulari); }
//yapılan ödemelerden ödenen ürünler çıkarılarak seçilmeden ödenen miktar bulunur ve gönderilir private void komut_OdemeBilgileriTablet(ClientRef client, string masa, string departmanAdi, string komut) { decimal alinanOdemeler = 0, odenenUrunler = 0, indirimler = 0; StringBuilder odenenUrunBilgileri = new StringBuilder(); SqlCommand cmd = SQLBaglantisi.getCommand("SELECT Fiyatı, Adet, Porsiyon, YemekAdi, KiloSatisiMi from Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE Adisyon.MasaAdi='" + masa + "' and Adisyon.DepartmanAdi='" + departmanAdi + "' and Siparis.IptalMi=0 AND Siparis.OdendiMi=1 AND Siparis.IkramMi=0 AND Adisyon.AcikMi=1 AND Adisyon.IptalMi=0 ORDER BY Adet DESC"); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { try { odenenUrunler += dr.GetDecimal(0) * dr.GetInt32(1); //fiyat - adet -porsiyon - yemekadi - kiloSatışıMı odenenUrunBilgileri.Append("*" + dr.GetDecimal(0).ToString() + "-" + dr.GetInt32(1).ToString() + "-" + dr.GetDecimal(2) + "-" + dr.GetString(3) + "-" + dr.GetBoolean(4)); } catch { cmd.Connection.Close(); cmd.Connection.Dispose(); //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); return; } } if (odenenUrunBilgileri.Length >= 1) { odenenUrunBilgileri.Remove(0, 1); } cmd = SQLBaglantisi.getCommand("SELECT OdemeTipi, OdenenMiktar from OdemeDetay JOIN Adisyon ON OdemeDetay.AdisyonID=Adisyon.AdisyonID WHERE Adisyon.MasaAdi='" + masa + "' AND Adisyon.DepartmanAdi='" + departmanAdi + "' AND Adisyon.AcikMi=1 AND Adisyon.IptalMi=0"); dr = cmd.ExecuteReader(); while (dr.Read()) { try { int odemeTipi = dr.GetInt32(0); if (odemeTipi == 104 || odemeTipi < 101) { indirimler += dr.GetDecimal(1); } else { alinanOdemeler += dr.GetDecimal(1); } } catch { cmd.Connection.Close(); cmd.Connection.Dispose(); //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); return; } } cmd.Connection.Close(); cmd.Connection.Dispose(); alinanOdemeler -= odenenUrunler; if (komut == "OdemeBilgileriGuncelleTablet" && odenenUrunBilgileri.Length >= 1) { client.MesajYolla("komut=" + komut + "&alinanOdemeler=" + alinanOdemeler + "&indirimler=" + indirimler + "&odenenUrunBilgileri=" + odenenUrunBilgileri); } else { client.MesajYolla("komut=" + komut + "&alinanOdemeler=" + alinanOdemeler + "&indirimler=" + indirimler); } }
//parametre hatalı istenilen işlem yapılamadı hatası ver private void komut_IslemHatasi(ClientRef client, string hata) { client.MesajYolla("komut=IslemHatasi&hata=" + hata); }
private void komut_yaziciGonder(ClientRef client, string masaAdi, string departmanAdi) { List<string[]> adisyonYazicilari = new List<string[]>(); List<string[]> digerYazicilar = new List<string[]>(); SqlCommand cmd = SQLBaglantisi.getCommand("SELECT YaziciAdi,FirmaAdi,FirmaAdres,Yazici,Telefon FROM Yazici"); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { string[] yazici = new string[5]; yazici[0] = dr.GetString(0); // yazici adı yazici[1] = dr.GetString(1); // firma adı yazici[2] = dr.GetString(2); // firma adres yazici[3] = dr.GetString(3); // yazıcı windows adı yazici[4] = dr.GetString(4); // telefon try { if (yazici[0].Substring(0, 7) == "Adisyon") { adisyonYazicilari.Add(yazici); } else { digerYazicilar.Add(yazici); } } catch { digerYazicilar.Add(yazici); } } // masaya bakan ilk garsonun ismini döndüren sql sorgusu cmd = SQLBaglantisi.getCommand("SELECT TOP 1 Garsonu,AcilisZamani FROM Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE MasaAdi='" + masaAdi + "' AND DepartmanAdi='" + departmanAdi + "' AND AcikMi=1 ORDER BY VerilisTarihi ASC"); dr = cmd.ExecuteReader(); dr.Read(); string garson; DateTime acilisZamani; try // açık { garson = dr.GetString(0); acilisZamani = dr.GetDateTime(1); } catch { KontrolFormu dialog = new KontrolFormu("Adisyon bilgileri alınırken hata oluştu, lütfen tekrar deneyiniz", false); dialog.Show(); return; } cmd.Connection.Close(); cmd.Connection.Dispose(); StringBuilder aYazicilari = new StringBuilder(), dYazicilari = new StringBuilder(); for (int i = 0; i < adisyonYazicilari.Count; i++) { aYazicilari.Append("*" + adisyonYazicilari[i][0] + "-" + adisyonYazicilari[i][1] + "-" + adisyonYazicilari[i][2] + "-" + adisyonYazicilari[i][3] + "-" + adisyonYazicilari[i][4]); } for (int i = 0; i < digerYazicilar.Count; i++) { dYazicilari.Append("*" + digerYazicilar[i][0] + "-" + digerYazicilar[i][1] + "-" + digerYazicilar[i][2] + "-" + digerYazicilar[i][3] + "-" + digerYazicilar[i][4]); } //baştaki * ı sil if (aYazicilari.Length >= 1) { aYazicilari.Remove(0, 1); } if (dYazicilari.Length >= 1) { dYazicilari.Remove(0, 1); } client.MesajYolla("komut=BulunanYazicilar&adisyonYazicilari=" + aYazicilari + "&digerYazicilar=" + dYazicilari + "&garson=" + garson + "&acilisZamani=" + acilisZamani.ToString()); }
private void komut_hesapIndirim(string masa, string departmanAdi, string odemeTipi, string odemeMiktari, ClientRef client, string indirimYapanKisi) { SqlCommand cmd = SQLBaglantisi.getCommand("SELECT AdisyonID FROM Adisyon WHERE AcikMi=1 AND MasaAdi='" + masa + "' AND DepartmanAdi='" + departmanAdi + "'"); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); int adisyonID = dr.GetInt32(0); if (Convert.ToInt32(odemeTipi) < 101) { if (indirimYapanKisi != "") { cmd = SQLBaglantisi.getCommand("IF EXISTS (SELECT * FROM OdemeDetay WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi='" + odemeTipi + "') UPDATE OdemeDetay SET OdenenMiktar='" + odemeMiktari + "', IndirimiKimGirdi=@_IndirimiKimGirdi WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi='" + odemeTipi + "' ELSE INSERT INTO OdemeDetay(AdisyonID,OdemeTipi,OdenenMiktar,IndirimiKimGirdi2) VALUES(@_AdisyonID,@_OdemeTipi,@_OdenenMiktar,@_IndirimiKimGirdi2)"); cmd.Parameters.AddWithValue("@_IndirimiKimGirdi", indirimYapanKisi); cmd.Parameters.AddWithValue("@_IndirimiKimGirdi2", indirimYapanKisi); } else { cmd = SQLBaglantisi.getCommand("IF EXISTS (SELECT * FROM OdemeDetay WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi='" + odemeTipi + "') UPDATE OdemeDetay SET OdenenMiktar='" + odemeMiktari + "' WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi='" + odemeTipi + "' ELSE INSERT INTO OdemeDetay(AdisyonID,OdemeTipi,OdenenMiktar) VALUES(@_AdisyonID,@_OdemeTipi,@_OdenenMiktar)"); } } else { if (indirimYapanKisi != "") { cmd = SQLBaglantisi.getCommand("IF EXISTS (SELECT * FROM OdemeDetay WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi<101) UPDATE OdemeDetay SET OdenenMiktar=@_OdenenMiktar2, OdemeTipi=@_OdemeTipi2, IndirimiKimGirdi=@_IndirimiKimGirdi WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi=(SELECT OdemeTipi FROM OdemeDetay WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi<101) ELSE INSERT INTO OdemeDetay(AdisyonID,OdemeTipi,OdenenMiktar,IndirimiKimGirdi) VALUES(@_AdisyonID,@_OdemeTipi,@_OdenenMiktar,@_IndirimiKimGirdi2)"); cmd.Parameters.AddWithValue("@_IndirimiKimGirdi", indirimYapanKisi); cmd.Parameters.AddWithValue("@_OdenenMiktar2", Convert.ToDecimal(odemeMiktari)); cmd.Parameters.AddWithValue("@_OdemeTipi2", Convert.ToInt32(odemeTipi)); cmd.Parameters.AddWithValue("@_IndirimiKimGirdi2", indirimYapanKisi); } else { cmd = SQLBaglantisi.getCommand("IF EXISTS (SELECT * FROM OdemeDetay WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi<101) UPDATE OdemeDetay SET OdenenMiktar=@_OdenenMiktar2, OdemeTipi=@_OdemeTipi2 WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi=(SELECT OdemeTipi FROM OdemeDetay WHERE AdisyonID='" + adisyonID + "' AND OdemeTipi<101) ELSE INSERT INTO OdemeDetay(AdisyonID,OdemeTipi,OdenenMiktar) VALUES(@_AdisyonID,@_OdemeTipi,@_OdenenMiktar)"); cmd.Parameters.AddWithValue("@_OdenenMiktar2", Convert.ToDecimal(odemeMiktari)); cmd.Parameters.AddWithValue("@_OdemeTipi2", Convert.ToInt32(odemeTipi)); } } cmd.Parameters.AddWithValue("@_AdisyonID", adisyonID); cmd.Parameters.AddWithValue("@_OdemeTipi", Convert.ToInt32(odemeTipi)); cmd.Parameters.AddWithValue("@_OdenenMiktar", Convert.ToDecimal(odemeMiktari)); cmd.ExecuteNonQuery(); cmd.Connection.Close(); cmd.Connection.Dispose(); client.MesajYolla("komut=IndirimOnay&odemeTipi=" + odemeTipi + "&odemeMiktari=" + odemeMiktari); tumKullanicilaraMesajYolla("komut=OdemeIndirimOnayTablet&masaAdi=" + masa + "&departmanAdi=" + departmanAdi); }
private void komut_iptal(string masa, string departmanAdi, string miktar, string yemekAdi, string siparisiGirenKisi, string dusulecekDegerGelen, ClientRef client, string adisyonNotu, string ikraminGrubu, string porsiyon, string tur, string iptalNedeni) { SqlCommand cmd = SQLBaglantisi.getCommand("SELECT OdemeYapiliyor,HesapIstendi FROM Adisyon WHERE AcikMi=1 AND IptalMi=0 AND MasaAdi=@_MasaAdi AND DepartmanAdi=@_DepartmanAdi"); cmd.Parameters.AddWithValue("@_MasaAdi", masa); cmd.Parameters.AddWithValue("@_DepartmanAdi", departmanAdi); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); try { if (dr.GetBoolean(0)) { client.MesajYolla("komut=hesapIslemde"); cmd.Connection.Close(); cmd.Connection.Dispose(); return; } else if (dr.GetBoolean(1)) { client.MesajYolla("komut=hesapGeliyor"); cmd.Connection.Close(); cmd.Connection.Dispose(); return; } } catch { } cmd.Connection.Close(); cmd.Connection.Dispose(); miktar = miktar.Replace('.', ','); dusulecekDegerGelen = dusulecekDegerGelen.Replace('.', ','); porsiyon = porsiyon.Replace('.', ','); bool turBool = false; if (tur == "K") { turBool = true; } if (siparisForm != null) { if (siparisForm.hangiMasaButonunaBasildi != null && siparisForm.viewdakiDepartmaninAdi != null) { if (siparisForm.siparisMenuForm != null && siparisForm.viewdakiDepartmaninAdi == departmanAdi && siparisForm.hangiMasaButonunaBasildi.Text == masa) { //invoke thread ler arası haberleşme this.Invoke((MethodInvoker)delegate { siparisForm.siparisMenuForm.iptalGeldi(miktar, yemekAdi, dusulecekDegerGelen, ikraminGrubu, porsiyon, turBool); }); } } } siparisiKimGirdi = siparisiGirenKisi; int istenilenSiparisiptalSayisi = Convert.ToInt32(miktar); this.adisyonNotu = adisyonNotu; double dusulecekDeger = Convert.ToDouble(dusulecekDegerGelen); string ikramSQLGirdisi; if (ikraminGrubu == "0" || ikraminGrubu == "1") // eski ikram veya yeni ikram grubundaysa, ikramlardan iptal edilecek ikramSQLGirdisi = "1"; else // değilse siparişlerden ikram edilecek ikramSQLGirdisi = "0"; cmd = SQLBaglantisi.getCommand("SELECT SiparisID,Adisyon.AdisyonID,Adet,Siparis.VerilisTarihi FROM Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE Adisyon.AcikMi=1 AND Adisyon.IptalMi=0 AND Siparis.IkramMi='" + ikramSQLGirdisi + "' AND Siparis.IptalMi=0 AND Siparis.OdendiMi=0 AND Adisyon.MasaAdi='" + masa + "' AND Adisyon.DepartmanAdi='" + departmanAdi + "' AND Siparis.YemekAdi='" + yemekAdi + "' AND Siparis.Garsonu='" + siparisiGirenKisi + "' AND Siparis.Porsiyon=CONVERT(DECIMAL(5,2),@_Porsiyon) AND Siparis.KiloSatisiMi=@_Tur ORDER BY Adet DESC"); cmd.Parameters.AddWithValue("@_Porsiyon", Convert.ToDecimal(porsiyon)); cmd.Parameters.AddWithValue("@_Tur", turBool); dr = cmd.ExecuteReader(); int siparisID, adisyonID = 0; int adet; DateTime verilisTarihi; while (dr.Read()) { try { siparisID = dr.GetInt32(0); adisyonID = dr.GetInt32(1); adet = dr.GetInt32(2); verilisTarihi = dr.GetDateTime(3); } catch { //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İptal etme gerçekleştirilemedi, lütfen tekrar deneyiniz"); return; } if (adet < istenilenSiparisiptalSayisi) // elimizdeki siparişler iptali istenenden küçükse { iptalUpdateTam(siparisID, iptalNedeni); istenilenSiparisiptalSayisi -= adet; } else if (adet > istenilenSiparisiptalSayisi) // den büyükse { iptalUpdateInsert(siparisID, adisyonID, adet, dusulecekDeger, istenilenSiparisiptalSayisi, yemekAdi, verilisTarihi, Convert.ToDecimal(porsiyon), iptalNedeni, turBool); istenilenSiparisiptalSayisi = 0; } else // elimizdeki siparişler iptali istenene eşitse { iptalUpdateTam(siparisID, iptalNedeni); istenilenSiparisiptalSayisi = 0; } if (istenilenSiparisiptalSayisi == 0) break; } if (istenilenSiparisiptalSayisi != 0)// iptal edilecekler daha bitmedi başka garsonların siparişlerinden iptale devam et { cmd = SQLBaglantisi.getCommand("SELECT SiparisID,Adisyon.AdisyonID,Adet,Siparis.VerilisTarihi FROM Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE Adisyon.AcikMi=1 AND Adisyon.IptalMi=0 AND Siparis.IkramMi='" + ikramSQLGirdisi + "' AND Siparis.IptalMi=0 AND Siparis.OdendiMi=0 AND Adisyon.MasaAdi='" + masa + "' AND Adisyon.DepartmanAdi='" + departmanAdi + "' AND Siparis.YemekAdi='" + yemekAdi + "' AND Siparis.Garsonu!='" + siparisiGirenKisi + "' AND Siparis.Porsiyon=CONVERT(DECIMAL(5,2),@_Porsiyon) AND Siparis.KiloSatisiMi=@_Tur ORDER BY Adet DESC"); cmd.Parameters.AddWithValue("@_Porsiyon", Convert.ToDecimal(porsiyon)); cmd.Parameters.AddWithValue("@_Tur", turBool); dr = cmd.ExecuteReader(); while (dr.Read()) { try { siparisID = dr.GetInt32(0); adisyonID = dr.GetInt32(1); adet = dr.GetInt32(2); verilisTarihi = dr.GetDateTime(3); } catch { //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İptal etme gerçekleştirilemedi, lütfen tekrar deneyiniz"); return; } if (adet < istenilenSiparisiptalSayisi) // elimizdeki siparişler iptali istenenden küçükse { iptalUpdateTam(siparisID, iptalNedeni); istenilenSiparisiptalSayisi -= adet; } else if (adet > istenilenSiparisiptalSayisi) // den büyükse { iptalUpdateInsert(siparisID, adisyonID, adet, dusulecekDeger, istenilenSiparisiptalSayisi, yemekAdi, verilisTarihi, Convert.ToDecimal(porsiyon), iptalNedeni, turBool); istenilenSiparisiptalSayisi = 0; } else // elimizdeki siparişler iptali istenene eşitse { iptalUpdateTam(siparisID, iptalNedeni); istenilenSiparisiptalSayisi = 0; } if (istenilenSiparisiptalSayisi == 0) break; } } // iptal edilen ürünler için mutfağa adisyon iptalYazicisi(masa, departmanAdi); if (adisyonNotu != null && adisyonNotu != "") { cmd = SQLBaglantisi.getCommand("UPDATE Adisyon SET AdisyonNotu=@adisyonNotu WHERE AdisyonID=@id"); cmd.Parameters.AddWithValue("@adisyonNotu", adisyonNotu); cmd.Parameters.AddWithValue("@id", adisyonID); cmd.ExecuteNonQuery(); } cmd.Connection.Close(); cmd.Connection.Dispose(); //Tüm kullanıcılara iptal mesajı gönderelim tumKullanicilaraMesajYolla("komut=iptal&masa=" + masa + "&departmanAdi=" + departmanAdi + "&miktar=" + miktar + "&yemekAdi=" + yemekAdi + "&dusulecekDeger=" + dusulecekDeger + "&ikramYeniMiEskiMi=" + ikraminGrubu + "&porsiyon=" + porsiyon + "&tur=" + tur); }
// giris komutunu uygulayan fonksiyon private void komut_giris(ClientRef client, string nick) { //Eşzamanlı erişimlere karşı koleksiyonu kilitleyelim lock (kullanicilar) { BagliKullanicilar kullanici = null; asd: //Tüm kullanıcıları tara, //aynı nickli başkası varsa ismi değiştir foreach (BagliKullanicilar kul in kullanicilar) { if (kul.Nick == nick) { Random x = new Random(); nick += x.Next(0, 10); goto asd; } } ////Nick kullanımdaysa clientye uygun dönüş mesajını verip çık //if (kullanici != null) //{ // client.MesajYolla("komut=giris&sonuc=basarisiz"); // return; //} //Tüm kullanıcıları tara, //aynı client zaten listede varsa sadece nickini güncelle foreach (BagliKullanicilar kul in kullanicilar) { if (kul.Client == client) { kullanici = kul; break; } } //Client listede varsa sadece nickini güncelle if (kullanici != null) { kullanici.Nick = nick; } //Listede yoksa listeye ekle else { kullanicilar.Add(new BagliKullanicilar(client, nick)); if (kullanicilar.Count > Properties.Settings.Default.IP4B) { Properties.Settings.Default.IP4B = kullanicilar.Count; Properties.Settings.Default.Save(); } } } //Kullanıcıya işlemin başarılı olduğu bilgisini gönder client.MesajYolla("komut=giris&sonuc=basarili"); //Kullanıcı listesini ekranda gösterelim kullaniciListesiniYenile(); }
// departman komutu- açık masa bilgilerini alan fonksiyon private void komut_departman(ClientRef client, string departmanAdi, string komut, string masaDepartman = null) { StringBuilder acikMasalar = new StringBuilder(); SqlCommand cmd = SQLBaglantisi.getCommand("SELECT MasaAdi FROM Adisyon WHERE DepartmanAdi='" + departmanAdi + "' AND AcikMi=1"); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { try { acikMasalar.Append("*" + dr.GetString(0)); } catch { acikMasalar.Clear(); } } cmd.Connection.Close(); cmd.Connection.Dispose(); //İlk masanın başına konulan "*" metnini kaldır if (acikMasalar.Length >= 1) { acikMasalar.Remove(0, 1); } if (masaDepartman == null) { //Kullanıcıya istenilen departmanın açık kapalı masalarını gönderelim client.MesajYolla("komut=" + komut + "&masa=" + acikMasalar); } else { client.MesajYolla("komut=" + komut + "&masa=" + acikMasalar + "&masaDepartman=" + masaDepartman); } }
private void komut_bildirim(string masalar, ClientRef client) { string[] departmanVeMasalar; string[][] masaBilgileri; if (masalar != "hepsi") { try { departmanVeMasalar = masalar.Split('*'); masaBilgileri = new string[departmanVeMasalar.Count()][]; for (int i = 0; i < departmanVeMasalar.Count(); i++) { masaBilgileri[i] = new string[departmanVeMasalar[i].Count()]; masaBilgileri[i] = departmanVeMasalar[0].Split('-'); } } catch { return; } SqlCommand cmd = null; StringBuilder bildirimBilgileri = null; StringBuilder ozelBildirimBilgileri = null; for (int i = 0; i < masaBilgileri.Count(); i++) { for (int j = 1; j < masaBilgileri[i].Count(); j++) { bildirimBilgileri = new StringBuilder(); cmd = SQLBaglantisi.getCommand("SELECT Fiyatı, Adet, YemekAdi, Porsiyon from Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE Adisyon.MasaAdi=@_MasaAdi and Adisyon.DepartmanAdi=@_DepartmanAdi AND Siparis.NotificationGorulduMu=0 AND Siparis.IkramMi=0 AND Siparis.IptalMi=0 AND Siparis.OdendiMi=0 AND Adisyon.AcikMi=1 AND Adisyon.IptalMi=0 ORDER BY Adet DESC"); cmd.Parameters.AddWithValue("@_MasaAdi", masaBilgileri[i][j]); cmd.Parameters.AddWithValue("@_DepartmanAdi", masaBilgileri[i][0]); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { try { bildirimBilgileri.Append("*" + masaBilgileri[i][0] + "-" + masaBilgileri[i][j] + "-" + dr.GetDecimal(0).ToString() + "-" + dr.GetInt32(1).ToString() + "-" + dr.GetString(2) + "-" + dr.GetDecimal(3)); } catch { //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); bildirimBilgileri.Clear(); return; } } ozelBildirimBilgileri = new StringBuilder(); cmd = SQLBaglantisi.getCommand("SELECT DepartmanAdi, MasaAdi, HesapIstendi, TemizlikIstendi, GarsonIstendi from Adisyon WHERE AcikMi=1 AND IptalMi=0 AND (HesapIstendi=1 OR TemizlikIstendi=1 OR GarsonIstendi=1) AND MasaAdi=@_MasaAdi and DepartmanAdi=@_DepartmanAdi"); cmd.Parameters.AddWithValue("@_MasaAdi", masaBilgileri[i][j]); cmd.Parameters.AddWithValue("@_DepartmanAdi", masaBilgileri[i][0]); dr = cmd.ExecuteReader(); while (dr.Read()) { try { int ozelBildirim = 0; if (dr.GetBoolean(2)) //HesapIstendi ==> 1 { ozelBildirim += 1; } if (dr.GetBoolean(3)) //TemizlikIstendi ==> 2 { ozelBildirim += 2; } if (dr.GetBoolean(4)) //GarsonIstendi ==> 4 { ozelBildirim += 4; } // 3 ==> Hesap + Temizlik 5 ==> Hesap + Garson 6 ==> Temizlik + Garson 7 ==> Hepsi ozelBildirimBilgileri.Append("*" + ozelBildirim + "-" + dr.GetString(0) + "-" + dr.GetString(1)); } catch { //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); ozelBildirimBilgileri.Clear(); return; } } } } cmd.Connection.Close(); cmd.Connection.Dispose(); if (bildirimBilgileri != null) { if (bildirimBilgileri.Length >= 1) { bildirimBilgileri.Remove(0, 1); } } if (ozelBildirimBilgileri != null) { if (ozelBildirimBilgileri.Length >= 1) { ozelBildirimBilgileri.Remove(0, 1); } } client.MesajYolla("komut=bildirimBilgileri&bildirimBilgileri=" + bildirimBilgileri + "&ozelBildirimBilgileri=" + ozelBildirimBilgileri); } else { SqlCommand cmd = null; StringBuilder bildirimBilgileri = null; bildirimBilgileri = new StringBuilder(); cmd = SQLBaglantisi.getCommand("SELECT Fiyatı, Adet, YemekAdi, Porsiyon, DepartmanAdi, MasaAdi from Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE Siparis.NotificationGorulduMu=0 AND Siparis.IkramMi=0 AND Siparis.IptalMi=0 AND Siparis.OdendiMi=0 AND Adisyon.AcikMi=1 AND Adisyon.IptalMi=0 ORDER BY Adet DESC"); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { try { bildirimBilgileri.Append("*" + dr.GetString(4) + "-" + dr.GetString(5) + "-" + dr.GetDecimal(0).ToString() + "-" + dr.GetInt32(1).ToString() + "-" + dr.GetString(2) + "-" + dr.GetDecimal(3)); } catch { //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); bildirimBilgileri.Clear(); return; } } StringBuilder ozelBildirimBilgileri = null; ozelBildirimBilgileri = new StringBuilder(); cmd = SQLBaglantisi.getCommand("SELECT DepartmanAdi, MasaAdi, HesapIstendi, TemizlikIstendi, GarsonIstendi from Adisyon WHERE AcikMi=1 AND IptalMi=0 AND (HesapIstendi=1 OR TemizlikIstendi=1 OR GarsonIstendi=1)"); dr = cmd.ExecuteReader(); while (dr.Read()) { try { int ozelBildirim = 0; if (dr.GetBoolean(2)) //HesapIstendi ==> 1 { ozelBildirim += 1; } if (dr.GetBoolean(3)) //TemizlikIstendi ==> 2 { ozelBildirim += 2; } if (dr.GetBoolean(4)) //GarsonIstendi ==> 4 { ozelBildirim += 4; } // 3 ==> Hesap + Temizlik 5 ==> Hesap + Garson 6 ==> Temizlik + Garson 7 ==> Hepsi ozelBildirimBilgileri.Append("*" + ozelBildirim + "-" + dr.GetString(0) + "-" + dr.GetString(1)); } catch { //HATA MESAJI GÖNDER komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); ozelBildirimBilgileri.Clear(); return; } } cmd.Connection.Close(); cmd.Connection.Dispose(); if (bildirimBilgileri != null) { if (bildirimBilgileri.Length >= 1) { bildirimBilgileri.Remove(0, 1); } } if (ozelBildirimBilgileri != null) { if (ozelBildirimBilgileri.Length >= 1) { ozelBildirimBilgileri.Remove(0, 1); } } client.MesajYolla("komut=bildirimBilgileri&bildirimBilgileri=" + bildirimBilgileri + "&ozelBildirimBilgileri=" + ozelBildirimBilgileri); } }
private void komut_siparis(string masa, string departmanAdi, string miktar, string yemekAdi, string siparisiGirenKisi, string dusulecekDegerGelen, ClientRef client, string adisyonNotuGelen, string sonSiparisMi, string porsiyon, string tur = "P", string ilkSiparisMi = "", string porsiyonSinifi = "") { SqlCommand cmd = SQLBaglantisi.getCommand("SELECT OdemeYapiliyor,HesapIstendi FROM Adisyon WHERE AcikMi=1 AND IptalMi=0 AND MasaAdi=@_MasaAdi AND DepartmanAdi=@_DepartmanAdi"); cmd.Parameters.AddWithValue("@_MasaAdi", masa); cmd.Parameters.AddWithValue("@_DepartmanAdi", departmanAdi); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); try { if (dr.GetBoolean(0)) { if (Convert.ToInt32(sonSiparisMi) == 0) client.MesajYolla("komut=hesapIslemde&miktar=" + miktar + "&yemekAdi=" + yemekAdi + "&fiyat=" + dusulecekDegerGelen + "&porsiyon=" + porsiyon + "&porsiyonSinifi=" + porsiyonSinifi); else client.MesajYolla("komut=siparisListesineGeriEkle&miktar=" + miktar + "&yemekAdi=" + yemekAdi + "&fiyat=" + dusulecekDegerGelen + "&porsiyon=" + porsiyon + "&porsiyonSinifi=" + porsiyonSinifi); cmd.Connection.Close(); cmd.Connection.Dispose(); return; } else if (dr.GetBoolean(1)) { if (Convert.ToInt32(sonSiparisMi) == 0) client.MesajYolla("komut=hesapGeliyor"); cmd.Connection.Close(); cmd.Connection.Dispose(); return; } } catch { } cmd.Connection.Close(); cmd.Connection.Dispose(); miktar = miktar.Replace('.', ','); dusulecekDegerGelen = dusulecekDegerGelen.Replace('.', ','); porsiyon = porsiyon.Replace('.', ','); bool turBool = false; if (tur == "K") { turBool = true; } if (siparisForm != null) { if (siparisForm.hangiMasaButonunaBasildi != null && siparisForm.viewdakiDepartmaninAdi != null) { if (siparisForm.siparisMenuForm != null && siparisForm.viewdakiDepartmaninAdi == departmanAdi && siparisForm.hangiMasaButonunaBasildi.Text == masa) { //invoke thread ler arası haberleşme this.Invoke((MethodInvoker)delegate { siparisForm.siparisMenuForm.siparisOnayiGeldi(miktar, yemekAdi, dusulecekDegerGelen, porsiyon, turBool); }); } } } siparisiKimGirdi = siparisiGirenKisi; cmd = SQLBaglantisi.getCommand("SELECT AdisyonID FROM Adisyon WHERE MasaAdi='" + masa + "' AND DepartmanAdi='" + departmanAdi + "' AND AcikMi=1"); dr = cmd.ExecuteReader(); dr.Read(); int adisyonID; try // açık { adisyonID = dr.GetInt32(0); } catch// kapalı { cmd = SQLBaglantisi.getCommand("INSERT INTO Adisyon(AcikMi,AdisyonNotu,AcilisZamani,DepartmanAdi,MasaAdi) VALUES(@_acikMi,@_AdisyonNotu,@_AcilisZamani,@_DepartmanAdi,@_MasaAdi) SELECT SCOPE_IDENTITY()"); cmd.Parameters.AddWithValue("@_acikmi", 1); cmd.Parameters.AddWithValue("@_AdisyonNotu", adisyonNotuGelen); cmd.Parameters.AddWithValue("@_AcilisZamani", DateTime.Now); cmd.Parameters.AddWithValue("@_DepartmanAdi", departmanAdi); cmd.Parameters.AddWithValue("@_MasaAdi", masa); try { adisyonID = Convert.ToInt32(cmd.ExecuteScalar()); } catch { komut_IslemHatasi(client, "İşlem gerçekleştirilemedi, lütfen tekrar deneyiniz"); return; } } bool urunYaziciyaBildirilmeliMi = yaziciBilgilendirilmeliMi(yemekAdi); string ciktiAlinanYazici = urunYazicisiniBul(yemekAdi); cmd = SQLBaglantisi.getCommand("INSERT INTO Siparis(AdisyonID,Garsonu,Fiyatı,Adet,YemekAdi,VerilisTarihi,CiktiAlinmaliMi,Porsiyon,KiloSatisiMi,NotificationGorulduMu,CiktiAlinanYazici) VALUES(@_AdisyonID,@_Garsonu,@_Fiyatı,@_Adet,@_YemekAdi,@_VerilisTarihi,@_CiktiAlinmaliMi,@_Porsiyon,@_KiloSatisiMi,@_NotificationGorulduMu,@_CiktiAlinanYazici)"); cmd.Parameters.AddWithValue("@_AdisyonID", adisyonID); cmd.Parameters.AddWithValue("@_Garsonu", siparisiKimGirdi); cmd.Parameters.AddWithValue("@_Fiyatı", Convert.ToDecimal(dusulecekDegerGelen)); cmd.Parameters.AddWithValue("@_Adet", Convert.ToInt32(miktar)); cmd.Parameters.AddWithValue("@_YemekAdi", yemekAdi); cmd.Parameters.AddWithValue("@_VerilisTarihi", DateTime.Now); cmd.Parameters.AddWithValue("@_CiktiAlinmaliMi", urunYaziciyaBildirilmeliMi); cmd.Parameters.AddWithValue("@_Porsiyon", Convert.ToDecimal(porsiyon)); cmd.Parameters.AddWithValue("@_CiktiAlinanYazici", ciktiAlinanYazici); if (!turBool) { cmd.Parameters.AddWithValue("@_KiloSatisiMi", 0); cmd.Parameters.AddWithValue("@_NotificationGorulduMu", 0); } else { cmd.Parameters.AddWithValue("@_KiloSatisiMi", 1); cmd.Parameters.AddWithValue("@_NotificationGorulduMu", 1); } cmd.ExecuteNonQuery(); if (adisyonNotuGelen != "") { cmd = SQLBaglantisi.getCommand("UPDATE Adisyon SET AdisyonNotu=@adisyonNotu WHERE AdisyonID=@id"); cmd.Parameters.AddWithValue("@adisyonNotu", adisyonNotuGelen); cmd.Parameters.AddWithValue("@id", adisyonID); cmd.ExecuteNonQuery(); } cmd.Connection.Close(); cmd.Connection.Dispose(); if (Convert.ToInt32(sonSiparisMi) == 0) // mutfağa adisyon gönder { cmd = SQLBaglantisi.getCommand("SELECT DISTINCT CiktiAlinanYazici,Garsonu FROM Siparis JOIN Adisyon ON Siparis.AdisyonID=Adisyon.AdisyonID WHERE Siparis.AdisyonID=@_AdisyonID AND AcikMi=1 AND IkramMi=0 AND Adisyon.IptalMi=0 AND Siparis.IptalMi=0 AND CiktiAlindiMi=0 AND CiktiAlinmaliMi=1"); cmd.Parameters.AddWithValue("@_AdisyonID", adisyonID); dr = cmd.ExecuteReader(); while (dr.Read()) { string tanimliYaziciAdi = "", garsonu = ""; if (!dr.IsDBNull(0)) tanimliYaziciAdi = dr.GetString(0); if (tanimliYaziciAdi == "") continue; garsonu = dr.GetString(1); SqlCommand cmd2 = SQLBaglantisi.getCommand("SELECT FirmaAdi,Yazici FROM Yazici WHERE YaziciAdi=@_YaziciAdi"); cmd2.Parameters.AddWithValue("@_YaziciAdi", tanimliYaziciAdi); SqlDataReader dr2 = cmd2.ExecuteReader(); string firmaAdi = "", yaziciAdi = ""; while (dr2.Read()) { firmaAdi = dr2.GetString(0); yaziciAdi = dr2.GetString(1); } cmd2.Connection.Close(); cmd2.Connection.Dispose(); asyncYaziciyaGonder(masa, departmanAdi, firmaAdi, yaziciAdi, tanimliYaziciAdi, garsonu, raporMutfak).Join(); } cmd.Connection.Close(); cmd.Connection.Dispose(); } //Tüm kullanıcılara sipariş mesajı gönderelim tumKullanicilaraMesajYolla("komut=siparis&masa=" + masa + "&departmanAdi=" + departmanAdi + "&miktar=" + miktar + "&yemekAdi=" + yemekAdi + "&dusulecekDeger=" + dusulecekDegerGelen + "&porsiyon=" + porsiyon + "&tur=" + tur + "&ilkSiparis=" + ilkSiparisMi); }
private void komut_masaDegistir(string yeniMasa, string yeniDepartmanAdi, string eskiMasa, string eskiDepartmanAdi, string yapilmasiGereken, string komut, ClientRef client) { SqlCommand cmd; switch (Convert.ToInt32(yapilmasiGereken)) { case 0: // departman değişmedi ve masaların ikisi de açık cmd = SQLBaglantisi.getCommand("UPDATE Adisyon SET MasaAdi = CASE MasaAdi WHEN @masaninAdiEski THEN @masaninAdiYeni WHEN @masaninAdiYeni THEN @masaninAdiEski END WHERE MasaAdi in (@masaninAdiEski,@masaninAdiYeni) AND AcikMi=1 AND DepartmanAdi=@departmanAdiEski"); cmd.Parameters.AddWithValue("@masaninAdiEski", eskiMasa); cmd.Parameters.AddWithValue("@masaninAdiYeni", yeniMasa); cmd.Parameters.AddWithValue("@departmanAdiEski", eskiDepartmanAdi); cmd.ExecuteNonQuery(); cmd.Connection.Close(); cmd.Connection.Dispose(); break; case 1: // masalar açık departman değişti cmd = SQLBaglantisi.getCommand("UPDATE Adisyon SET MasaAdi = CASE MasaAdi WHEN @masaninAdiEski THEN @masaninAdiYeni WHEN @masaninAdiYeni THEN @masaninAdiEski END, DepartmanAdi = CASE DepartmanAdi WHEN @departmanAdiEski THEN @departmanAdiYeni WHEN @departmanAdiYeni THEN @departmanAdiEski END WHERE MasaAdi in (@masaninAdiEski,@masaninAdiYeni) AND AcikMi=1 AND DepartmanAdi in (@departmanAdiEski,@departmanAdiYeni)"); cmd.Parameters.AddWithValue("@masaninAdiEski", eskiMasa); cmd.Parameters.AddWithValue("@masaninAdiYeni", yeniMasa); cmd.Parameters.AddWithValue("@departmanAdiEski", eskiDepartmanAdi); cmd.Parameters.AddWithValue("@departmanAdiYeni", yeniDepartmanAdi); cmd.ExecuteNonQuery(); cmd.Connection.Close(); cmd.Connection.Dispose(); break; case 2: // departman değişmedi 1 masa açık cmd = SQLBaglantisi.getCommand("UPDATE Adisyon SET MasaAdi=@masaninAdi WHERE MasaAdi='" + eskiMasa + "' AND DepartmanAdi='" + eskiDepartmanAdi + "' AND AcikMi=1"); cmd.Parameters.AddWithValue("@masaninAdi", yeniMasa); cmd.ExecuteNonQuery(); cmd.Connection.Close(); cmd.Connection.Dispose(); break; case 3: // departman değişti 1 masa açık cmd = SQLBaglantisi.getCommand("UPDATE Adisyon SET MasaAdi=@masaninAdi, DepartmanAdi=@departmanAdi WHERE MasaAdi='" + eskiMasa + "' AND DepartmanAdi='" + eskiDepartmanAdi + "' AND AcikMi=1"); cmd.Parameters.AddWithValue("@masaninAdi", yeniMasa); cmd.Parameters.AddWithValue("@departmanAdi", yeniDepartmanAdi); cmd.ExecuteNonQuery(); cmd.Connection.Close(); cmd.Connection.Dispose(); break; default: break; } if (siparisForm != null) { if (siparisForm.siparisMenuForm != null) { //invoke thread ler arası haberleşme this.Invoke((MethodInvoker)delegate { siparisForm.komut_masaDegisti(eskiMasa, eskiDepartmanAdi, yeniMasa, yeniDepartmanAdi, "masaDegistir"); }); } } //Tüm kullanıcılara masa değiştir mesajı gönderelim tumKullanicilaraMesajYolla("komut=masaDegistir&masa=" + eskiMasa + "&departmanAdi=" + eskiDepartmanAdi + "¥iMasa=" + yeniMasa + "¥iDepartmanAdi=" + yeniDepartmanAdi); if (komut == "masaDegistirTablet") client.MesajYolla("komut=masaDegistirTablet&masa=" + eskiMasa + "&departmanAdi=" + eskiDepartmanAdi + "¥iMasa=" + yeniMasa + "¥iDepartmanAdi=" + yeniDepartmanAdi + "&yapilmasiGerekenIslem=" + yapilmasiGereken); }
private void komut_veriGonder(ClientRef client, string kacinci, string sadeceXML) { int kacinciDosya = Convert.ToInt32(kacinci); int sadeceXMLMi = Convert.ToInt32(sadeceXML); string path2 = Application.StartupPath; string[] xmlDosyalari = Directory.GetFiles(path2, "*.xml", SearchOption.TopDirectoryOnly); if (sadeceXMLMi == 1) { if (kacinciDosya > xmlDosyalari.Count()) { if (adminForm != null) adminForm.veriAktarimiTamamlandi(adminForm.buttonBilgiAktar); client.MesajYolla("komut=aktarimTamamlandi"); return; } client.gonder("<komut=dosyalar&kacinci=" + kacinciDosya + ">", Path.GetFileName(xmlDosyalari[kacinciDosya - 1]), path2 + "\\"); } else { string image_outputDir = System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); DirectoryInfo df = new DirectoryInfo(Application.StartupPath + @"\resimler\"); if (!df.Exists) // klasör yoksa oluştur { // create new directory DirectoryInfo di = Directory.CreateDirectory(image_outputDir + @"\resimler\"); } string path1 = Application.StartupPath + @"\resimler"; string[] imageFiles = Directory.GetFiles(path1, "*.png", SearchOption.TopDirectoryOnly); if (kacinciDosya > imageFiles.Count() + xmlDosyalari.Count()) { adminForm.veriAktarimiTamamlandi(adminForm.buttonBilgiAktar); client.MesajYolla("komut=aktarimTamamlandi"); return; } if (kacinciDosya <= xmlDosyalari.Count()) { client.gonder("<komut=dosyalar&kacinci=" + kacinciDosya + ">", Path.GetFileName(xmlDosyalari[kacinciDosya - 1]), path2 + "\\"); } else { client.gonder("<komut=dosyalar&kacinci=" + kacinciDosya + ">", Path.GetFileName(imageFiles[kacinciDosya - 1 - xmlDosyalari.Count()]), path1 + "\\"); } } }
private void komut_masaGirilebilirMi(string masa, string departmanAdi, ClientRef client) { SqlCommand cmd = SQLBaglantisi.getCommand("SELECT OdemeYapiliyor FROM Adisyon WHERE AcikMi=1 AND IptalMi=0 AND MasaAdi=@_MasaAdi AND DepartmanAdi=@_DepartmanAdi"); cmd.Parameters.AddWithValue("@_MasaAdi", masa); cmd.Parameters.AddWithValue("@_DepartmanAdi", departmanAdi); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); bool masaSerbestMi = false; try { masaSerbestMi = dr.GetBoolean(0); } catch { masaSerbestMi = false; } cmd.Connection.Close(); cmd.Connection.Dispose(); client.MesajYolla("komut=masaGirilebilirMi&cevap=" + !masaSerbestMi); // masaSebestMi nin ! ini yollarız çünkü hesap alınıyorsa true gelicek alınmıyorsa yani masa serbestse false gelicek }
//Adisyonun notunu değiştirme fonksiyonu private void komut_adisyonNotu(ClientRef client, string masa, string departmanAdi) { string adisyonNotu = ""; //adisyonNotu'nu sql den al SqlCommand cmd = SQLBaglantisi.getCommand("SELECT AdisyonNotu FROM Adisyon WHERE AcikMi=1 AND MasaAdi='" + masa + "' AND DepartmanAdi='" + departmanAdi + "'"); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); try { adisyonNotu = dr.GetString(0); } catch { adisyonNotu = "1"; } cmd.Connection.Close(); cmd.Connection.Dispose(); client.MesajYolla("komut=AdisyonNotu&adisyonNotu=" + adisyonNotu); }
/// Bir clientye bir mesaj yollar /// <param name="mesaj">Yollanacak mesaj</param> /// <returns>Ýþlemin baþarý durumu</returns> public bool MesajYolla(ClientRef client, string mesaj) { return client.MesajYolla(mesaj); }