private void FaturaKaydet()
        {
            FaturaMaster fm = new FaturaMaster();

            fm.IrsaliyeNo  = Convert.ToInt32(txtIrsaliye.Text);
            fm.OdemeTarihi = dtpOdemeTarihi.Value;
            fm.MusteriID   = (int)cmbMusteri.SelectedValue;
            db.FaturaMasters.Add(fm);
            db.SaveChanges();
            lblFaturaID.Text = fm.FaturaID.ToString();
        }
Beispiel #2
0
        private void dgvFaturalar_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex == -1 || dgvFaturalar.CurrentRow == null)
            {
                return;
            }

            //Satırı dolduran veriye bağlı nesneyi alır
            FaturaMaster    faturaMaster    = (FaturaMaster)dgvFaturalar.CurrentRow.DataBoundItem;
            FormFaturaDetay faturaDetayForm = new FormFaturaDetay(faturaMaster.faturadetay);

            faturaDetayForm.ShowDialog();
        }
Beispiel #3
0
        private void btnFaturaKaydet_Click(object sender, EventArgs e)
        {
            if (!CheckFaturaInputs())
            {
                return;
            }

            FaturaMaster faturaMaster = new FaturaMaster()
            {
                FaturaID     = _faturaID,
                faturadetay  = _faturaDetaylari,
                FaturaTarihi = DateTime.Now,
                IrsaliyeNo   = Convert.ToInt32(txtIrsaliyeNo.Text),
                MusteriID    = _secilenMusteri.MusteriID,
                OdemeTarihi  = dtpOdemeTarihi.Value,
                FaturaToplam = _faturaDetaylari.Select(f => f.GenelToplam).Sum()
            };

            //Transaction işlemlerin hepsi başarılı olduğunda “Transaction” Commit (Onaylama)komutu çalışır ve değişiklikler veritabanında gerçekleşmiş olur. Eğer herhangi bir hata oluşursa bu işleyiş bozulur ve hepsi geri alınır o zamanda “transaction” Rollback (Geridönüş) komutu çalışır. Böylece tüm işlemler geri alınır ve en başa dönülür. Bunu yaparak veri kaybetme olasılığımız da sıfıra iner.


            //Begin Transaction komutu yeni bir transaction başlatır. İşlemleri onaylamak için veya iptal etmek için Commit veya Rollback komutunu beklemeye koyuluyor.
            DbContextTransaction tran = _db.Database.BeginTransaction();

            try
            {
                _db.FaturaMasters.Add(faturaMaster);
                _db.SaveChanges();
                ClearFaturaInputs();

                //Commit Transaction komutu begin Transaction ile başlayan bütün işleri onaylar. Zaten bir transaction gerçekleşmişse ardından mutlaka Commit transaction gelmesi gerekir.
                tran.Commit();
            }
            catch (Exception)
            {
                //Rollback Transaction komutu Begin ile başlatılan işlemlerin hepsini iptal eder.
                tran.Rollback();
                MessageBox.Show("Beklenmeyen bir hata meydana geldi");
            }
        }