none
Kayıt eklerken bir önceki kayıt ı değiştiriyor RRS feed

  • Genel Tartışma

  • Merhaba arkadaşlar karşılaştığım sorunu bir türlü çözemedim

    Hızlı satış ekranı formunda kayıt eklemede herhangi bir sorun vermiyor form üzerindeki tüm gridleri ve textboxları temizliyorum. ikinci bir kayıt eklediğimde bir önceki kayıt değiştirilmiş oluyor. bu sorunu bir türlü çözemedim yardımcı olabilecek arkadaşlara şimdiden teşekkürler.

    7 Ocak 2021 Perşembe 09:09

Tüm Yanıtlar

  •  sadece tek bir kayit mi ekleyebiliyorsun
    • Düzenleyen Yasin AKAR 7 Ocak 2021 Perşembe 09:54
    7 Ocak 2021 Perşembe 09:54
  • Şeyi şapmışsındır, şey olacak o.

    Lütfen kodunuzun ilgili kısımlarını paylaşınız.


    www.cihanyakar.com

    7 Ocak 2021 Perşembe 10:05
  •      private void OdemeEkle_Click(Object sender, EventArgs e)
            {
                var button = sender as SimpleButton;
                string kasaKodu = SettingsTool.AyarOku(SettingsTool.Ayarlar.SatisAyarlari_VarsayilanKasa).ToString();



                if (chkCokluOdeme.Checked)
                {
                    if (txtOdenmesiGereken.Value == 0)
                    {
                        MessageBox.Show("Çoklu Ödeme  Ödenemesi gereken tutar ödenmiş.");
                    }
                    else
                    {
                        frmOdemeEkrani form = new frmOdemeEkrani(button.Text, button.Name, txtOdenmesiGereken.Value);
                        form.ShowDialog();
                        if (form.entity != null)
                        {
                            kasaHareketDal.AddOrUpdate(context, form.entity);
                            OdenenTutarGuncelle();
                        }
                    }

                }
                else
                {
                    kasaHareketDal.AddOrUpdate(context, new KasaHareket
                    {
                        CariKodu = txtCariKodu.Text,
                        CariAdi = txtCariAdi.Text,
                        FisKodu = txtFisKodu.Text,
                        Hareket = lblislemTuru.Text == "Satış İade" ? "Kasa Çıkış" : "Kasa Giriş",
                        KasaKodu = kasaKodu,
                        KasaAdi = context.Kasalar.SingleOrDefault(c => c.KasaKodu == kasaKodu).KasaAdi,
                        Tarih = DateTime.Now,
                        OdemeTuruKodu = button.Name,
                        OdemeTuruAdi = button.Text,
                        Tutar = txtOdenmesiGereken.Value,
                    });
                    OdenenTutarGuncelle();
                    FisKaydet();
                }
            }
            private void FisKaydet()
            {
                int stokHata = context.StokHareketleri.Local.Where(c => c.DepoKodu == null).Count();
                int kasaHata = context.KasaHareketleri.Local.Where(c => c.KasaKodu == null).Count();
                string message = null;
                int hata = 0;
                if (gridViewStokHareket.RowCount == 0)
                {
                    message += "Satış yapılacak ürün bulunamadı." + System.Environment.NewLine;
                    hata++;
                }
                if (gridViewKasaHareket.RowCount == 0 && chkCokluOdeme.Checked)
                {
                    message += "Herhangi bir ödeme bulunamadı..." + System.Environment.NewLine;
                    hata++;
                }
                if (txtFisKodu.Text == "")
                {
                    message += "Fiş Kodu alanı boş geçilemez" + System.Environment.NewLine;
                    hata++;
                }
                if (calcOdenmesiGereken.Value != 0 && chkCokluOdeme.Checked == true)
                {
                    message += "Ödenmesi gereken tutar ödenmemiş." + System.Environment.NewLine;
                    hata++;
                }
                if (stokHata != 0)
                {
                    message += "Depo seçimlerinde eksiklikler var" + System.Environment.NewLine;
                    hata++;
                }
                if (kasaHata != 0)
                {
                    message += "Ödeme ekranında Kasa seçimlerinde eksiklikler var" + System.Environment.NewLine;
                    hata++;
                }
                if (hata != 0)
                {
                    MessageBox.Show(message);
                    return;
                }
                foreach (var stokVeri in context.StokHareketleri.Local.ToList())
                {
                    stokVeri.Tarih = DateTime.Now;
                    stokVeri.FisKodu = txtFisKodu.Text;
                    stokVeri.Hareket = lblislemTuru.Text == "Satış" ? "Stok Giriş" : "Stok Çıkış";
                }

                _fisentity.Tarih = DateTime.Now;
                _fisentity.ToplamTutar = txtOdenmesiGereken.Value;
                _fisentity.IskontoOrani = txtIskontoOran.Value;
                _fisentity.IskontoTutar = txtIskTutar.Value;
                _fisentity.FisTuru = lblislemTuru.Text == "Satış" ? " Satış İade Faturası" : "Satış Faturası";
                _fisentity.FisKodu = txtFisKodu.Text;
                 fisDal.AddOrUpdate(context, _fisentity);

                 context.SaveChanges();
                 chkCokluOdeme.Checked = false;


                FisTemizle();


            }

    Kayıt Ekleniyor. Ekleme yapıldıktan sonra form üzerindeki tüm gridler ve textBox lar temizleniyor. 2 kayıt eklendiğinde bir önceki kayıt değiştiriliyor. Formu kapatım tekrar açtığımda bir sorun yok.ama kapatıp açmadan yeni kayıtta bir önceki kayıt değiştiriliyor. 

                                                 
    7 Ocak 2021 Perşembe 12:07
  • MessageBox.Show("Çoklu Ödeme  Ödenemesi gereken tutar ödenmiş.");

    ben bir hata buldum diğerlerine bakçez  Ödenemesi

    7 Ocak 2021 Perşembe 12:35
  • Yazım hatasına mı takıldın :) dün gece sabaha kadar bununla uğraştım uyku sersemi halimle olabilir.
    7 Ocak 2021 Perşembe 12:59
  • Sunu demek istedim kodunu iyi incelememissin ben hata yapinca noktasina kadar bakiyorum o yuzden
    • Düzenleyen Yasin AKAR 7 Ocak 2021 Perşembe 13:15
    7 Ocak 2021 Perşembe 13:14
  • Entityi kontrol etmeyi deneyin. Debug ile adım adım ilerleyin daha rahat bulursunuz. 

    Altan Özdemir

    7 Ocak 2021 Perşembe 13:52
  • Arkadaşlar sorunu çözdüm gibi Bulduğum çözüm doğrumu bilmiyorum bilen arkadaşlar yol gösterirse sevinirim

    FisTemizle()
    Metot içerisine 

    _fisentiy= new Fis();

    context= new TuruncuContext();

    stokHareketDal= new StokHareketDAL();

    gridismi.DataSource=context.stokHareketDal.local.ToBindingList();

    bu şekilde yeniliyorum bu yöntem performans olarak düşüklüğe neden olabilir mi yada başka bir hataya yol açarmı.

    7 Ocak 2021 Perşembe 16:36