void Guncelle()
        {
            Fonksiyonlar.tbl_Faturalar ftr = DB.tbl_Faturalars.First(s => s.ID == FaturaID);
            ftr.Aciklama = txtAciklama.Text;
            ftr.FaturaNo = txtFaturaNo.Text;
            ftr.CariKod  = txtCariKodu.Text;
            ftr.Tarih    = DateTime.Parse(txtFaturaTarih.Text);
            if (txtFaturaTur.SelectedIndex == 0)
            {
                ftr.FaturaTur = "Açık Satış Faturası";
                ftr.OdemeYeri = null;
            }
            else if (txtFaturaTur.SelectedIndex == 1)
            {
                ftr.FaturaTur = "Kapalı Satış Faturası";
                if (txtOdemeYer.SelectedIndex == 0)
                {
                    ftr.OdemeYeri = txtKasaKod.Text + " " + " nolu Kasa";
                }
                if (txtOdemeYer.SelectedIndex == 1)
                {
                    ftr.OdemeYeri = txtHesapNo.Text + " " + " nolu Banka";
                }
            }

            ftr.OdemeYeriId = OdemeID;
            ftr.GenelToplam = decimal.Parse(txtGenelToplam.Text);
            ftr.EditUser    = AnaForm.USERID;
            ftr.EditDate    = DateTime.Now;
            DB.SubmitChanges();
            mesaj.Guncelle(true);


            Fonksiyonlar.tbl_Irsaliye irs = DB.tbl_Irsaliyes.First(s => s.ID == ftr.IrsaliyeId);
            irs.IrsaliyeNo = txtIrsaliyeNo.Text;
            irs.Tarih      = DateTime.Parse(txtIrsaliyeTarih.Text);
            irs.CariKod    = txtCariKodu.Text;
            irs.EditUser   = AnaForm.USERID = -1;
            irs.EditDate   = DateTime.Now;
            DB.tbl_StokHarekets.DeleteAllOnSubmit(DB.tbl_StokHarekets.Where(s => s.ID == FaturaID));
            DB.SubmitChanges();
            mesaj.Guncelle(true);

            Fonksiyonlar.tbl_StokHareket[] stokhar = new Fonksiyonlar.tbl_StokHareket[gridView1.RowCount];
            for (int i = 0; i < gridView1.RowCount; i++)
            {
                try
                {
                    stokhar[i]            = new Fonksiyonlar.tbl_StokHareket();
                    stokhar[i].BirimFiyat = decimal.Parse(gridView1.GetRowCellValue(i, "BirimFiyat").ToString());
                    stokhar[i].FaturaId   = ftr.ID;
                    stokhar[i].GCKOD      = "Ç";
                    stokhar[i].IrsaliyeId = IrsaliyeID;
                    stokhar[i].Miktar     = int.Parse(gridView1.GetRowCellValue(i, "Miktar").ToString());
                    stokhar[i].KDV        = decimal.Parse(gridView1.GetRowCellValue(i, "KDV").ToString());
                    stokhar[i].StokKod    = gridView1.GetRowCellValue(i, "StokKod").ToString();
                    stokhar[i].Tipi       = "Satış Faturası";
                    stokhar[i].SaveUser   = AnaForm.USERID;
                    stokhar[i].SaveDate   = DateTime.Now;

                    DB.tbl_StokHarekets.InsertOnSubmit(stokhar[i]);
                }
                catch (Exception ex)
                {
                    mesaj.Hata(ex);
                }
            }

            Temizle();
        }
        void Kaydet()
        {
            try
            {
                Fonksiyonlar.tbl_Faturalar ftr = new Fonksiyonlar.tbl_Faturalar();
                // IrsaliyeID = ftr.IrsaliyeId;
                ftr.Aciklama = txtAciklama.Text;

                if (txtFaturaTur.SelectedIndex == 0)
                {
                    ftr.FaturaTur   = "Açık Satış Faturası";
                    ftr.OdemeYeri   = null;
                    ftr.OdemeYeriId = null;
                }
                if (txtFaturaTur.SelectedIndex == 1)
                {
                    ftr.FaturaTur = "Kapalı Satış Faturası";
                    if (txtOdemeYer.SelectedIndex == 0)
                    {
                        ftr.OdemeYeriId = OdemeID;
                        ftr.OdemeYeri   = txtKasaKod.Text + " " + " nolu Kasa";
                    }
                    if (txtOdemeYer.SelectedIndex == 1)
                    {
                        ftr.OdemeYeriId = OdemeID;
                        ftr.OdemeYeri   = txtHesapNo.Text + " " + "nolu Banka";
                    }
                }


                ftr.FaturaNo   = txtFaturaNo.Text;
                ftr.CariKod    = txtCariKodu.Text;
                ftr.Tarih      = DateTime.Parse(txtFaturaTarih.Text);
                ftr.IrsaliyeId = IrsaliyeID;
                //ftr.OdemeYeri = OdemeYer;
                //ftr.OdemeYeriId = OdemeID;
                ftr.GenelToplam = decimal.Parse(txtGenelToplam.Text);
                ftr.SaveUser    = AnaForm.USERID;
                ftr.SaveDate    = DateTime.Now;
                DB.tbl_Faturalars.InsertOnSubmit(ftr);
                DB.SubmitChanges();
                try
                {
                    if (IrsaliyeID < 0)
                    {
                        Fonksiyonlar.tbl_Irsaliye irs = new Fonksiyonlar.tbl_Irsaliye();
                        irs.IrsaliyeNo = txtIrsaliyeNo.Text;
                        irs.Aciklama   = txtAciklama.Text;
                        irs.Tarih      = DateTime.Parse(txtIrsaliyeTarih.Text);
                        irs.FaturaId   = ftr.ID;
                        irs.CariKod    = txtCariKodu.Text;
                        irs.SaveUser   = AnaForm.USERID = -1;
                        irs.SaveDate   = DateTime.Now;
                        DB.tbl_Irsaliyes.InsertOnSubmit(irs);
                        DB.SubmitChanges();
                        IrsaliyeID     = irs.ID;
                        ftr.IrsaliyeId = IrsaliyeID;
                    }
                }
                catch (Exception ex)
                {
                    mesaj.Hata(ex);
                }
                Fonksiyonlar.tbl_StokHareket[] stokhar = new Fonksiyonlar.tbl_StokHareket[gridView1.RowCount];
                for (int i = 0; i < gridView1.RowCount; i++)
                {
                    try
                    {
                        stokhar[i]            = new Fonksiyonlar.tbl_StokHareket();
                        stokhar[i].BirimFiyat = decimal.Parse(gridView1.GetRowCellValue(i, "BirimFiyat").ToString());
                        stokhar[i].FaturaId   = ftr.ID;
                        stokhar[i].GCKOD      = "Ç";
                        stokhar[i].IrsaliyeId = IrsaliyeID;
                        stokhar[i].Miktar     = int.Parse(gridView1.GetRowCellValue(i, "Miktar").ToString());
                        stokhar[i].KDV        = decimal.Parse(gridView1.GetRowCellValue(i, "KDV").ToString());
                        stokhar[i].StokKod    = gridView1.GetRowCellValue(i, "StokKod").ToString();
                        stokhar[i].Tipi       = "Satış Faturası";
                        stokhar[i].SaveUser   = AnaForm.USERID;
                        stokhar[i].SaveDate   = DateTime.Now;

                        DB.tbl_StokHarekets.InsertOnSubmit(stokhar[i]);
                    }
                    catch (Exception ex)
                    {
                        mesaj.Hata(ex);
                        log.HataMesajiYaz(ex);
                    }
                }

                DB.SubmitChanges();


                Fonksiyonlar.tbl_CariHareketleri carihar = new Fonksiyonlar.tbl_CariHareketleri();
                carihar.Aciklama = txtFaturaNo.Text + " nolu satış faturası tutarı";
                if (txtFaturaTur.SelectedIndex == 0)
                {
                    carihar.Alacak = 0;
                    carihar.Borc   = decimal.Parse(txtGenelToplam.Text);
                }
                else if (txtFaturaTur.SelectedIndex == 1)
                {
                    carihar.Alacak = decimal.Parse(txtGenelToplam.Text);
                    carihar.Borc   = decimal.Parse(txtGenelToplam.Text);
                }
                carihar.CariId   = CariID;
                carihar.Tarih    = DateTime.Now;
                carihar.Tipi     = "SF";
                carihar.EvrakTur = "Satış Faturası";
                carihar.EvrakId  = ftr.ID;
                carihar.SaveUser = AnaForm.USERID;
                carihar.SaveDate = DateTime.Now;
                DB.tbl_CariHareketleris.InsertOnSubmit(carihar);
                DB.SubmitChanges();


                mesaj.YeniKayit("Yeni Fatura Kaydı Oluşturuldu.");
                Temizle();
            }
            catch (Exception ex)
            {
                mesaj.Hata(ex);
                log.HataMesajiYaz(ex);
            }
        }