public int ServisHareketEkle(cServisHareket sh)
        {
            int kayitno = 0;
            SqlConnection conn = new SqlConnection(cGenel.connstr);
            SqlCommand comm = new SqlCommand("insert into ServisHareket(Tarih,UstaNo,ServisNo,CariNo,Fiyat,Tutar) values (@Tarih, @UstaNo, @ServisNo, @CariNo, @Fiyat, @Tutar) ; select Scope_Identity() ", conn);
            comm.Parameters.Add("@Tarih", SqlDbType.DateTime).Value = sh._tarih;
            comm.Parameters.Add("@UstaNo", SqlDbType.Int).Value = sh._ustaNo;
            comm.Parameters.Add("@CariNo", SqlDbType.Int).Value = sh._cariNo;
            comm.Parameters.Add("@ServisNo", SqlDbType.Int).Value = sh._servisNo;
            comm.Parameters.Add("@Fiyat", SqlDbType.Money).Value = sh._fiyat;
            comm.Parameters.Add("@Tutar", SqlDbType.Money).Value = sh._tutar;

            if (conn.State == ConnectionState.Closed)
                conn.Open();
            try
            {
                kayitno = Convert.ToInt32(comm.ExecuteScalar());
            }
            catch (SqlException ex)
            {
                string Hata = ex.Message;
                MessageBox.Show(Hata + " servis hareket");
            }
            finally
            {
                conn.Close();
            }
            return kayitno;
        }
        private void frmUstaEkran_Load(object sender, EventArgs e)
        {
            client = new cClient();

            

            cServisIslemleri si = new cServisIslemleri();
            si.ServisleriGetirForServisIslemleri(cbServisIslemleri);
            cUrunler u = new cUrunler();
            u.UrunleriGetirForServisIslemleri(cbUrunler);

            cServisHareket sh = new cServisHareket();
            dgvUstaIslemleri.DataSource = sh.ServisHareketGetirByUstayaGore();

            cUrunHareket uh = new cUrunHareket();
            dgvUrunHareket.DataSource = uh.UrunleriGetirByUstayaGore();

        }
        private void btnRaporlama_Click(object sender, EventArgs e)
        {
            cServisHareket sh = new cServisHareket();
            DataTable dt = new DataTable();
            //if (txtCariNo.Text != "" && txtUstaNo.Text != "" && txtUrunAdaGore.Text != "" && txtServisAdaGore.Text != "")
            //{
                if (txtServisAdaGore.Text.Trim() == "" && txtUrunAdaGore.Text.Trim() == "" && txtUstaAdaGore.Text.Trim() == "")
                    dt = sh.CariAdaGoreRaporlama(Convert.ToInt32(txtCariNo.Text), Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
                else if (txtUrunAdaGore.Text.Trim() == "" && txtUstaAdaGore.Text.Trim() == "" && txtCariAdaGore.Text.Trim() == "")
                    dt = sh.ServisAdaGoreRaporlama(txtServisAdaGore.Text, Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
                else if (txtServisAdaGore.Text.Trim() == "" && txtCariAdaGore.Text.Trim() == "" && txtUstaAdaGore.Text.Trim() == "")
                    dt = sh.UrunAdaGoreRaporlama(txtUrunAdaGore.Text, Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
                else if (txtServisAdaGore.Text.Trim() == "" && txtCariAdaGore.Text.Trim() == "" && txtUrunAdaGore.Text.Trim() == "")
                    dt = sh.UstaAdaGoreRaporlama(Convert.ToInt32(txtUstaNo.Text), Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
                else if (txtCariAdaGore.Text.Trim() == "" && txtUrunAdaGore.Text.Trim() == "")
                    dt = sh.ServisUstaAdaGoreRaporlama(Convert.ToInt32(txtUstaNo.Text), txtServisAdaGore.Text, Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
                else if (txtUrunAdaGore.Text.Trim() == "" && txtUstaAdaGore.Text.Trim() == "")
                    dt = sh.CariServisAdaGoreRaporlama(txtServisAdaGore.Text, Convert.ToInt32(txtCariNo.Text), Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
                else if (txtUrunAdaGore.Text.Trim() == "" && txtServisAdaGore.Text.Trim() == "")
                    dt = sh.CariUstaAdaGoreRaporlama(Convert.ToInt32(txtUstaNo.Text), Convert.ToInt32(txtCariNo.Text), Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
                else if (txtUrunAdaGore.Text.Trim() == "")
                    dt = sh.ServisCariUstaAdaGoreRaporlama(txtServisAdaGore.Text, Convert.ToInt32(txtCariNo.Text), Convert.ToInt32(txtUstaNo.Text), Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
            //}



                //Kursta yaotıklarım test edilmesi gerekiyor
            else if (txtCariAdaGore.Text.Trim() == "" && txtUstaAdaGore.Text.Trim() == "")
                dt = sh.ServisUrunAdaGoreRaporlama(txtServisAdaGore.Text, txtUrunAdaGore.Text, Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
            else if (txtCariAdaGore.Text.Trim() == "" && txtServisAdaGore.Text.Trim() == "")
                dt = sh.UstaUrunAdaGoreRaporlama(Convert.ToInt32(txtUstaNo.Text), txtUrunAdaGore.Text, Convert.ToDateTime(txtTarih1.Text), Convert.ToDateTime(txtTarih2.Text));
            dgvRaporlama.DataSource = dt;
            txtCariAdaGore.Clear();
            txtCariNo.Clear();
            txtServisAdaGore.Clear();
            txtUrunAdaGore.Clear();
            txtUstaAdaGore.Clear();
            
        }
        private void btnSil_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Silmek İstediğinizden Emin misiniz ?", "UYARI !!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                cUrunHareket uh = new cUrunHareket();
                cServisHareket sh = new cServisHareket();

                if (sh.ServisHareketSil(Convert.ToInt32(txtServisHareketNo.Text)))
                {
                    MessageBox.Show("Servis Hareketi Silindi.");
                    int i = uh.UrunHareketSil(Convert.ToInt32(txtUrunHareketNo.Text));
                    if (i > 0)
                    {
                        MessageBox.Show("Ürün Hareket silindi.");
                        cUrunler u = new cUrunler();
                        if (u.StokGuncelleFromUrunHareketSil(i))
                        {
                            MessageBox.Show("Stok bilgileri silme işlemine göre güncellendi.");
                            cCariHareket ch = new cCariHareket();
                            if (ch.CariHareketSilByCariHareketNoGore(Convert.ToInt32(txtCariHareketNo.Text)))
                            {
                                MessageBox.Show("Cari Hareketi silindi.");
                                cCari c = new cCari();
                                c.CariToplamlariGuncelleFromCariHareketSilme(Convert.ToInt32(txtCariNo.Text), Convert.ToDecimal(txtBorc.Text), 0);
                                MessageBox.Show("Cari Toplamlar Güncellendi.");
                                ch.CariHareketGetirByHareketSilmeyeGore(lvHareketler);
                                btnSil.Enabled = false;
                            }
                            else MessageBox.Show("Cari Hareket Silme BAŞARISIZ.");
                        }
                        else MessageBox.Show("Stok Güncelleme BAŞARISIZ.");
                    }
                    else MessageBox.Show(" Ürün Hareket silme BAŞARISIZ.");
                }
                else MessageBox.Show("Servis Hareket Silme İşlemi BAŞARISIZ.");
            }
        }
        private void btnYenile_Click(object sender, EventArgs e)
        {
            cServisHareket sh = new cServisHareket();
            dgvUstaIslemleri.DataSource = sh.ServisHareketGetirByUstayaGore();

            cUrunHareket uh = new cUrunHareket();
            dgvUrunHareket.DataSource = uh.UrunleriGetirByUstayaGore();
        }
        private void btnKaydet_Click(object sender, EventArgs e)
        {
            cUrunHareket uh = new cUrunHareket();
            uh.Adet = 1;
            uh.Belge = "";
            uh.BirimFiyat = Convert.ToDecimal(txtUrunBedeli.Text);
            uh.CariNo = Convert.ToInt32(txtCariNo.Text);
            uh.IslemTuru = "Stok Çıkış";
            uh.Tarih = Convert.ToDateTime(txtIslemTarihi.Text);
            uh.Tutar = Convert.ToDecimal(txtUrunBedeli.Text);
            uh.UrunNo = Convert.ToInt32(txtUrunNo.Text);
            uh.UstaNo = Convert.ToInt32(txtUstaNo.Text);

            cServisHareket sh = new cServisHareket();
            sh.CariNo = Convert.ToInt32(txtCariNo.Text);
            sh.Fiyat = Convert.ToDecimal(txtServisBedeli.Text);
            sh.ServisNo = Convert.ToInt32(txtServisNo.Text);
            sh.Tarih = Convert.ToDateTime(txtIslemTarihi.Text);
            sh.Tutar = Convert.ToDecimal(txtServisBedeli.Text);
            sh.UstaNo = Convert.ToInt32(txtUstaNo.Text);

            int urunhareketid = uh.UrunHareketEkle(uh);
            int servishareketid = sh.ServisHareketEkle(sh);

            if (urunhareketid > 0 && servishareketid > 0)
            {
                MessageBox.Show("Ürün Hareketleri ve Servis Hareketleri kayıtları edildi.");
                cUrunler u = new cUrunler();
                if (u.StokGuncelleFromUrunHareketEkle(uh.UrunNo, uh.Adet, uh.IslemTuru))
                {
                    MessageBox.Show("Stok bilgileri güncellendi.");
                    cCariHareket ch = new cCariHareket();
                    ch.TarihGiris = Convert.ToDateTime(txtIslemTarihi.Text);
                    ch.IslemTuru = "Stok Çıkış";
                    ch.CariNo = Convert.ToInt32(txtCariNo.Text);
                    ch.Belge = "";
                    ch.Alacak = 0;
                    ch.Borc = Convert.ToDecimal(txtToplam.Text);
                    ch.KasaHareketNo = 0;
                    ch.ServisHareketNo = servishareketid;
                    ch.UrunHareketNo = urunhareketid;
                    if (ch.CariHareketEkle(ch))
                    {
                        MessageBox.Show("Cari Hareketleri eklendi.");
                        cCari c = new cCari();
                        c.CariToplamlariGuncelleFromCariHareketEkle(ch.CariNo, ch.Borc, ch.Alacak);
                        MessageBox.Show("Cari Toplamlar güncellendi.");
                        cUsta us = new cUsta();
                        us.UstaGuncelleByMesgulYap(Convert.ToInt32(txtUstaNo.Text));
                        btnKaydet.Enabled = false;
                    }

                }

            }
        }