예제 #1
0
        //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);
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        // 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);
        }
예제 #6
0
        //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);
            }
        }
예제 #7
0
 //parametre hatalı istenilen işlem yapılamadı hatası ver
 private void komut_IslemHatasi(ClientRef client, string hata)
 {
     client.MesajYolla("komut=IslemHatasi&hata=" + hata);
 }
예제 #8
0
        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());
        }
예제 #9
0
        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);
        }
예제 #10
0
        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);
        }
예제 #11
0
        // 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();
        }
예제 #12
0
        // 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);
            }
        }
예제 #13
0
        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);
            }
        }
예제 #14
0
        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);
        }
예제 #15
0
        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 + "&yeniMasa=" + yeniMasa + "&yeniDepartmanAdi=" + yeniDepartmanAdi);

            if (komut == "masaDegistirTablet")
                client.MesajYolla("komut=masaDegistirTablet&masa=" + eskiMasa + "&departmanAdi=" + eskiDepartmanAdi + "&yeniMasa=" + yeniMasa + "&yeniDepartmanAdi=" + yeniDepartmanAdi + "&yapilmasiGerekenIslem=" + yapilmasiGereken);
        }
예제 #16
0
        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 + "\\");
                }
            }
        }
예제 #17
0
        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
        }
예제 #18
0
        //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);
        }
예제 #19
0
파일: SPIAServer.cs 프로젝트: sezertt/ROPv1
 /// 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);
 }