Ejemplo n.º 1
0
        private void DevirYap()
        {
            //OdemeTuru Aktarımı
            OdemeTuru yeniOdeme = new OdemeTuru();

            if (toggleOdemeTuruAktar.IsOn)
            {
                foreach (var item in kaynakContext.OdemeTurleri.AsNoTracking().ToList())
                {
                    hedefContext.OdemeTurleri.Add(item);
                }
            }
            else
            {
                yeniOdeme.OdemeTuruKodu = "001";
                yeniOdeme.OdemeTuruAdi  = "Nakit";
                hedefContext.OdemeTurleri.Add(yeniOdeme);
            }
            //Kasa Aktarımı
            Kasa yeniKasa = new Kasa();

            if (toggleKasaAktar.IsOn)
            {
                foreach (var item in kaynakContext.Kasalar.AsNoTracking().ToList())
                {
                    hedefContext.Kasalar.Add(item);
                }
            }
            else
            {
                yeniKasa.KasaKodu = "001";
                yeniKasa.KasaAdi  = "Merkez Kasa";
                hedefContext.Kasalar.Add(yeniKasa);
            }

            //Depo Aktarımı
            Depo yeniDepo = new Depo();

            if (toggleDepoAktar.IsOn)
            {
                foreach (var item in kaynakContext.Depolar.AsNoTracking().ToList())
                {
                    hedefContext.Depolar.Add(item);
                }
            }
            else
            {
                yeniDepo.DepoKodu = "001";
                yeniDepo.DepoAdi  = "Merkez Depo";
                hedefContext.Depolar.Add(yeniDepo);
            }

            hedefContext.SaveChanges();
            //Tanım Aktarımı
            if (toggleTanimlariAktar.IsOn)
            {
                foreach (var item in kaynakContext.Tanimlar.AsNoTracking().ToList())
                {
                    hedefContext.Tanimlar.Add(item);
                }
            }
            //Kod Aktarımı
            if (toggleKodlariAktar.IsOn)
            {
                foreach (var item in kaynakContext.Kodlar.AsNoTracking().ToList())
                {
                    hedefContext.Kodlar.Add(item);
                }
            }
            //Ajanda Aktarımı
            if (toggleAjandaAktar.IsOn)
            {
                foreach (var item in kaynakContext.EFAppointments.AsNoTracking().ToList())
                {
                    hedefContext.EFAppointments.Add(item);
                }
                foreach (var item in kaynakContext.EFResources.AsNoTracking().ToList())
                {
                    hedefContext.EFResources.Add(item);
                }
            }
            //Kullanıcı Aktarımı
            if (toggleKullaniciAktar.IsOn)
            {
                foreach (var item in kaynakContext.Kullanicilar.AsNoTracking().ToList())
                {
                    hedefContext.Kullanicilar.Add(item);
                }
                foreach (var item in kaynakContext.KullaniciRolleri.AsNoTracking().ToList())
                {
                    hedefContext.KullaniciRolleri.Add(item);
                }
            }
            //Kod Aktarımı
            if (toggleKodlariAktar.IsOn)
            {
                foreach (var item in kaynakContext.Kodlar.AsNoTracking().ToList())
                {
                    hedefContext.Kodlar.Add(item);
                }
            }

            //Stok Aktarımı
            if (toggleStokAktar.IsOn)
            {
                StokDAL stokDal = new StokDAL();
                //iNDİRİM AKTARIMI
                if (toggleStokIndirimAktar.IsOn)
                {
                    foreach (var itemIndirim in kaynakContext.Indirimler.AsNoTracking().ToList())
                    {
                        hedefContext.Indirimler.Add(itemIndirim);
                    }
                }
                // HİZLİ SATIŞLAR AKTARIMI
                if (toggleStokHizliSatisAktar.IsOn)
                {
                    foreach (var itemHizliSatisGrup in kaynakContext.HizliSatisGruplari.AsNoTracking().ToList())
                    {
                        hedefContext.HizliSatisGruplari.Add(itemHizliSatisGrup);
                    }
                    foreach (var itemHizliSatis in kaynakContext.HizliSatislar.AsNoTracking().ToList())
                    {
                        hedefContext.HizliSatislar.Add(itemHizliSatis);
                    }
                }

                foreach (var item in kaynakContext.Stoklar.AsNoTracking().ToList())
                {
                    hedefContext.Stoklar.Add(item);

                    if (toggleStokHareketAktar.IsOn && toggleStokGirisCikisAktar.IsOn)
                    {
                        StokBakiye bakiye = stokDal.StokBakiyesi(kaynakContext, item.Id);

                        if (bakiye.MevcutStok != 0)
                        {
                            Fis         stokDevirFisi = new Fis();
                            StokHareket hareketGiris  = new StokHareket();


                            //STOK GİRİŞ
                            stokDevirFisi.FisTuru     = "Stok Devir Fişi";
                            stokDevirFisi.FisKodu     = kodOlustur.yeniDevirFisiOlustur();
                            stokDevirFisi.Tarih       = DateTime.Now;
                            stokDevirFisi.ToplamTutar = bakiye.StokGiris * item.AlisFiyati1; // bu gereksiz olabilr.
                            hedefContext.Fisler.Add(stokDevirFisi);

                            hareketGiris.StokId      = item.Id;
                            hareketGiris.Hareket     = "Stok Giriş";
                            hareketGiris.Miktar      = bakiye.StokGiris;
                            hareketGiris.FisKodu     = stokDevirFisi.FisKodu;
                            hareketGiris.BirimFiyati = item.AlisFiyati1;
                            hareketGiris.Kdv         = item.AlisKdv;
                            hareketGiris.Tarih       = DateTime.Now;
                            hareketGiris.DepoId      = toggleDepoAktar.IsOn ? Convert.ToInt32(lookUpDepoKodu.EditValue) : yeniDepo.Id;
                            //Clone aldığımızda problem olmaması için. sadece kaydı ifledik.
                            if (bakiye.StokGiris > 0)
                            {
                                hedefContext.StokHareketleri.Add(hareketGiris);
                            }

                            //STOK ÇIKIŞ
                            if (bakiye.StokCikis > 0)
                            {
                                Fis StokCikisDevir = stokDevirFisi.Clone();
                                StokCikisDevir.FisKodu     = kodOlustur.yeniDevirFisiOlustur();
                                StokCikisDevir.ToplamTutar = bakiye.StokCikis * item.SatisFiyati1;
                                hedefContext.Fisler.Add(StokCikisDevir);

                                StokHareket hareketCikis = hareketGiris.Clone();
                                hareketCikis.FisKodu     = StokCikisDevir.FisKodu;
                                hareketCikis.Hareket     = "Stok Çıkış";
                                hareketCikis.Miktar      = bakiye.StokCikis;
                                hareketCikis.BirimFiyati = item.SatisFiyati1;
                                hareketCikis.Kdv         = item.SatisKdv;
                                hedefContext.StokHareketleri.Add(hareketCikis);
                            }
                        }
                    }
                }
            }

            //CARİ DEVİR İŞLEMLERİ
            if (toggleCariAktar.IsOn)
            {
                foreach (var item in kaynakContext.Cariler.AsNoTracking().ToList())
                {
                    CariDAL    cariDal = new CariDAL();
                    CariBakiye bakiye  = cariDal.CariBakiyesi(kaynakContext, item.Id);
                    hedefContext.Cariler.Add(item);
                    if (toggleCariBakiyeAktar.IsOn && toggleCariBorcAlacakAktar.IsOn)
                    {
                        if (bakiye.Bakiye != 0)
                        {
                            Fis cariDevir = new Fis();
                            cariDevir.CariId      = item.Id;
                            cariDevir.FisTuru     = "Cari Devir Fişi";
                            cariDevir.Tarih       = DateTime.Now;
                            cariDevir.FisKodu     = kodOlustur.yeniDevirFisiOlustur();
                            cariDevir.ToplamTutar = Math.Abs(bakiye.Bakiye);
                            if (bakiye.Bakiye < 0)
                            {
                                cariDevir.Borc   = Math.Abs(bakiye.Bakiye);
                                cariDevir.Alacak = null;
                                hedefContext.Fisler.Add(cariDevir);

                                KasaHareket kasaBorc = new KasaHareket();
                                kasaBorc.FisKodu     = cariDevir.FisKodu;
                                kasaBorc.CariId      = item.Id;
                                kasaBorc.Hareket     = "Kasa Çıkış";
                                kasaBorc.KasaId      = toggleKasaAktar.IsOn ? Convert.ToInt32(lookUpKasaKodu.EditValue) : yeniKasa.Id;
                                kasaBorc.OdemeTuruId = toggleOdemeTuruAktar.IsOn ? Convert.ToInt32(lookUpOdemeTuruKodu.EditValue) : yeniOdeme.Id;
                                kasaBorc.Tarih       = DateTime.Now;
                                kasaBorc.Tutar       = Math.Abs(bakiye.Bakiye);
                                hedefContext.KasaHareketleri.Add(kasaBorc);
                            }
                            else
                            {
                                cariDevir.Borc   = null;
                                cariDevir.Alacak = Math.Abs(bakiye.Bakiye);;
                                hedefContext.Fisler.Add(cariDevir);

                                KasaHareket kasaAlacak = new KasaHareket();
                                kasaAlacak.FisKodu     = cariDevir.FisKodu;
                                kasaAlacak.CariId      = item.Id;
                                kasaAlacak.Hareket     = "Kasa Giriş";
                                kasaAlacak.KasaId      = toggleKasaAktar.IsOn ? Convert.ToInt32(lookUpKasaKodu.EditValue) : yeniKasa.Id;
                                kasaAlacak.OdemeTuruId = toggleOdemeTuruAktar.IsOn ? Convert.ToInt32(lookUpOdemeTuruKodu.EditValue) : yeniOdeme.Id;
                                kasaAlacak.Tarih       = DateTime.Now;
                                kasaAlacak.Tutar       = Math.Abs(bakiye.Bakiye);
                                hedefContext.KasaHareketleri.Add(kasaAlacak);
                            }
                        }
                    }
                    else if (toggleCariBakiyeAktar.IsOn && !toggleCariBorcAlacakAktar.IsOn)
                    {
                        if (bakiye.Alacak != 0)
                        {
                            Fis alacakFis = new Fis();
                            alacakFis.CariId      = item.Id;
                            alacakFis.FisTuru     = "Cari Devir Fişi";
                            alacakFis.Tarih       = DateTime.Now;
                            alacakFis.FisKodu     = kodOlustur.yeniDevirFisiOlustur();
                            alacakFis.Alacak      = Math.Abs(bakiye.Bakiye);
                            alacakFis.Borc        = null;
                            alacakFis.ToplamTutar = bakiye.Alacak;

                            hedefContext.Fisler.Add(alacakFis);

                            KasaHareket alacak = new KasaHareket();
                            alacak.FisKodu     = alacakFis.FisKodu;
                            alacak.CariId      = item.Id;
                            alacak.Hareket     = "Kasa Giriş";
                            alacak.KasaId      = toggleKasaAktar.IsOn ? Convert.ToInt32(lookUpKasaKodu.EditValue) : yeniKasa.Id;
                            alacak.OdemeTuruId = toggleOdemeTuruAktar.IsOn ? Convert.ToInt32(lookUpOdemeTuruKodu.EditValue) : yeniOdeme.Id;
                            alacak.Tarih       = DateTime.Now;
                            alacak.Tutar       = Math.Abs(bakiye.Alacak);
                            hedefContext.KasaHareketleri.Add(alacak);
                        }
                        if (bakiye.Borc != 0)
                        {
                            Fis borcFis = new Fis();
                            borcFis.CariId      = item.Id;
                            borcFis.FisTuru     = "Cari Devir Fişi";
                            borcFis.Tarih       = DateTime.Now;
                            borcFis.FisKodu     = kodOlustur.yeniDevirFisiOlustur();
                            borcFis.Alacak      = null;
                            borcFis.Borc        = bakiye.Borc;
                            borcFis.ToplamTutar = bakiye.Alacak;

                            hedefContext.Fisler.Add(borcFis);

                            KasaHareket kasaBorc = new KasaHareket();
                            kasaBorc.FisKodu     = borcFis.FisKodu;
                            kasaBorc.CariId      = item.Id;
                            kasaBorc.Hareket     = "Kasa Çıkış";
                            kasaBorc.KasaId      = toggleKasaAktar.IsOn ? Convert.ToInt32(lookUpKasaKodu.EditValue) : yeniKasa.Id;
                            kasaBorc.OdemeTuruId = toggleOdemeTuruAktar.IsOn ? Convert.ToInt32(lookUpOdemeTuruKodu.EditValue) : yeniOdeme.Id;
                            kasaBorc.Tarih       = DateTime.Now;
                            kasaBorc.Tutar       = Math.Abs(bakiye.Alacak);
                            hedefContext.KasaHareketleri.Add(kasaBorc);
                        }
                    }
                }
            }
            if (toggleCariPersonelleriAktar.IsOn)
            {
                foreach (var item in kaynakContext.Personeller.AsNoTracking().ToList())
                {
                    hedefContext.Personeller.Add(item);
                }
            }

            hedefContext.SaveChanges();
        }
Ejemplo n.º 2
0
        private void FisiKaydet(ReportsPrintTool.Belge belge)
        {
            Toplamlar();

            OdenenTutarGuncelle();

            string message = null;

            int hata = 0;

            if (gridStokHareket.RowCount == 0)

            {
                message += "Satış Ekranında eklenmiş bir ürün bulunamadı." + System.Environment.NewLine;
                hata++;
            }

            if (gridKasaHareket.RowCount == 0 && chkOdemeBol.Checked && String.IsNullOrEmpty(txtCariKodu.Text))
            {
                message += "Herhangi bir ödeme bulunamadı." + System.Environment.NewLine;
                hata++;
            }

            if (txtKod.Text == "")

            {
                message += "Fiş Kodu alanı boş geçilemez." + System.Environment.NewLine;
                hata++;
            }

            if (txtOdenmesiGereken.Value != 0 && String.IsNullOrEmpty(txtCariKodu.Text) && tekParca == false)
            {
                message += "Ödenmesi gereken tutar ödenmemiş görünüyor. Ödenmeyen kısmı açık hesaba aktarabilmeniz için Cari seçmeniz gerekmektedir." + System.Environment.NewLine;
                hata++;
            }

            if (String.IsNullOrEmpty(txtCariKodu.Text) && (_entityBakiye.Bakiye - txtOdenmesiGereken.Value) < 0 && ((_entityBakiye.Bakiye - txtOdenmesiGereken.Value) * -1) > _entityBakiye.RiskLimiti && tekParca == false)
            {
                message += "Cari risk limiti aşılıyor. Satış yapılamaz." + System.Environment.NewLine;
                hata++;
            }
            if (hata != 0)
            {
                MessageBox.Show(message);
                return;
            }


            if (chkOdemeBol.Checked && txtOdenmesiGereken.Value != 0)
            {
                if (MessageBox.Show($"Ödemenin {txtOdenmesiGereken.Value.ToString("C2")} tutarındaki kısmı açık hesap bakiyesi olarak kaydedilecektir. Devam etmek istiyor musunuz?", "Uyarı", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    MessageBox.Show("İsteğiniz üzerine işlem iptal edildi.");
                    return;
                }
            }

            _fisentity.FisTuru = txtIslem.Text == "İADE" ? "Satış İade Faturası" : "Perakende Satış Faturası";

            foreach (var stokVeri in context.StokHareketleri.Local.ToList())
            {
                stokVeri.Tarih   = DateTime.Now;
                stokVeri.FisKodu = txtKod.Text;
                stokVeri.Hareket = txtIslem.Text == "İADE" ? "Stok Giriş" : "Stok Çıkış";
            }

            foreach (var kasaVeri in context.KasaHareketleri.Local.ToList())
            {
                kasaVeri.Tarih   = DateTime.Now;
                kasaVeri.FisKodu = txtKod.Text;
                kasaVeri.Hareket = txtIslem.Text == "İADE" ? "Kasa Çıkış" : "Kasa Giriş";
                kasaVeri.CariId  = _cariId;
            }
            _fisentity.KullaniciID  = RoleTool.kullaniciEntity.KullaniciID;
            _fisentity.FisKodu      = txtKod.Text;
            _fisentity.BelgeNo      = txtBelgeNo.Text;
            _fisentity.Aciklama     = txtAciklama.Text;
            _fisentity.FaturaUnvani = txtFaturaUnvani.Text;
            _fisentity.CepTelefonu  = txtCepTelefonu.Text;
            _fisentity.Il           = txtIl.Text;
            _fisentity.Ilce         = txtIlce.Text;
            _fisentity.Semt         = txtSemt.Text;
            _fisentity.Adres        = txtAdres.Text;
            _fisentity.VergiDairesi = txtVergiDairesi.Text;
            _fisentity.VergiNo      = txtVergiNo.Text;
            _fisentity.ToplamTutar  = txtToplam.Value;
            _fisentity.IskontoOrani = txtIskontoOran.Value;
            _fisentity.IskontoTutar = txtIskontoTutar.Value;
            _fisentity.Tarih        = DateTime.Now;


            fisDal.AddOrUpDate(context, _fisentity);

            int kasaId = Convert.ToInt32(context.KullaniciAyarlari.SingleOrDefault(c => c.KullaniciID == RoleTool.kullaniciEntity.KullaniciID).SatisAyarlari_VarsayilanKasa);

            if (txtOdenen.Value > 0)
            {
                Fis odemeFisi = _fisentity.Clone();
                odemeFisi.FisTuru = "Fiş Ödemesi";
                odemeFisi.FisKodu = kodolustur.YeniFisOdemeKoduOlustur();

                _fisentity.FisBaglantiKodu = odemeFisi.FisKodu;
                odemeFisi.FisBaglantiKodu  = _fisentity.FisKodu;

                odemeFisi.ToplamTutar = tekParca ? txtToplam.Value : txtOdenenTutar.Value;

                if (txtIslem.Text == "SATIŞ")
                {
                    _fisentity.Borc   = txtToplam.Value;
                    odemeFisi.Alacak  = tekParca ? txtToplam.Value : txtOdenenTutar.Value;
                    odemeFisi.Borc    = null;
                    _fisentity.Alacak = null;
                }
                else
                {
                    _fisentity.Alacak = txtToplam.Value;
                    odemeFisi.Borc    = tekParca ? txtToplam.Value : txtOdenenTutar.Value;
                    odemeFisi.Alacak  = null;
                    _fisentity.Borc   = null;
                }
                fisDal.AddOrUpDate(context, odemeFisi);
            }//ödeme 0 sa yapılan if yeni koydum test et


            if (!chkOdemeBol.Checked && odemeTuruId != -1)
            {
                kasaHareketDal.AddOrUpDate(context, new KasaHareket
                {
                    CariId      = _cariId,
                    FisKodu     = txtKod.Text,
                    Hareket     = txtIslem.Text == "İADE" ? "Kasa Çıkış" : "Kasa Giriş",
                    KasaId      = kasaId,
                    OdemeTuruId = odemeTuruId,
                    Tarih       = DateTime.Now,
                    Tutar       = txtToplam.Value
                });
                OdenenTutarGuncelle();
            }
            try
            {
                context.SaveChanges();
            }
            catch (Exception)
            {
            }


            chkOdemeBol.Checked = false;

            radialOdeme.HidePopup();


            switch (belge)
            {
            case ReportsPrintTool.Belge.Fatura:

                ReportsPrintTool yazdir = new ReportsPrintTool();
                rptFatura        fatura = new rptFatura(txtKod.Text);
                yazdir.RaporYazdir(fatura, belge, context.KullaniciAyarlari.FirstOrDefault(c => c.KullaniciID == RoleTool.kullaniciEntity.KullaniciID)); break;

            case ReportsPrintTool.Belge.BilgiFisi:
                ReportsPrintTool yazdirBilgiFisi = new ReportsPrintTool();
                rptBilgiFisi     bilgiFisi       = new rptBilgiFisi(txtKod.Text);
                yazdirBilgiFisi.RaporYazdir(bilgiFisi, belge, context.KullaniciAyarlari.FirstOrDefault(c => c.KullaniciID == RoleTool.kullaniciEntity.KullaniciID));
                break;
            }

            if (cagirilanSatisId != -1)
            {
                var secilen = _bekleyenSatis.SingleOrDefault(c => c.Id == cagirilanSatisId);
                _bekleyenSatis.Remove(secilen); flowBekleyenSatislar.Controls.Find(Convert.ToString(cagirilanSatisId), false).SingleOrDefault().Dispose();
                cagirilanSatisId = -1;
            }

            FisTemizle();
            kodolustur.FisKoduArttir();
            txtKod.Text = kodolustur.yeniFrontOfficeKodOlustur();
            tekParca    = false;
        }
Ejemplo n.º 3
0
        private void simpleButton2_Click(object sender, EventArgs e)
        {
            if (toggleSwitch1.IsOn == true && txtFisturu.Text == "Cari Devir Fişi")
            {
                fisAyarlari.KasaHareketi = "Kasa Çıkış";
                fisAyarlari.BakiyeTuru   = "Borç";
            }
            else if (toggleSwitch1.IsOn == false && txtFisturu.Text == "Cari Devir Fişi")
            {
                fisAyarlari.KasaHareketi = "Kasa Giriş";
                fisAyarlari.BakiyeTuru   = "Alacak";
            }



            string message = null;
            int    hata    = 0;

            if (gridStokHareket.RowCount == 0 && fisAyarlari.SatisEkrani == true)
            {
                message += "Satış Ekranında hiç bir ürün bulunmamaktadır." + System.Environment.NewLine;
                hata++;
            }
            if (_fisentity.CariId == null && fisAyarlari.SatisEkrani == false && txtFisturu.Text != "Hakediş Fişi")
            {
                message += txtFisturu.Text + "Türünde Cari Seçimi Zorunludur" + System.Environment.NewLine;
                hata++;
            }
            if (gridKasaHareket.RowCount == 0 && fisAyarlari.SatisEkrani == false && txtFisturu.Text != "Hakediş Fişi")
            {
                message += "Herhangi bir Ödeme bulunamadı" + System.Environment.NewLine;
                hata++;
            }
            if (txtKod.Text == "")
            {
                message += "Fiş Kodu Alanı Boş Geçilemez." + System.Environment.NewLine;
                hata++;
            }
            if (txtOdemesiGereken.Value != 0 && fisAyarlari.OdemeEkrani == true && String.IsNullOrEmpty(lblCariKodu.Text) && txtFisturu.Text != "Hakediş Fişi")
            {
                message += "Ödenmesi Gereken Tutar Ödenmemiş Görünüyor.Ödenmeyen Kısmı Hesaba Aktarmak İçin Cari Seçmeniz Gerekiyor." + System.Environment.NewLine;
                hata++;
            }
            if (hata != 0)
            {
                MessageBox.Show(message);
                return;
            }
            if (txtOdemesiGereken.Value != 0 && fisAyarlari.OdemeEkrani == true)
            {
                if (MessageBox.Show($"Ödemenin {txtOdemesiGereken.Value.ToString("C2")} Tutarındaki Kısmı Açık Hesap Bakiyesi Olarak Kaydedilecektir. Devam Etmek İstiyormusunuz ?", "Uyarı", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    MessageBox.Show("İsteğiniz Üzere İşlem İptal Edildi");
                    return;
                }
            }

            foreach (var stokVeri in context.StokHareketleri.Local.ToList())
            {
                stokVeri.Tarih = stokVeri.Tarih == null
                    ? Convert.ToDateTime(cmbTarih.DateTime)
                    : Convert.ToDateTime(stokVeri.Tarih);

                stokVeri.FisKodu       = txtKod.Text;
                stokVeri.Hareket       = fisAyarlari.StokHareketi;
                stokVeri.ToplamTutar   = Convert.ToDecimal(colToplamTutar.SummaryItem.SummaryValue);
                stokVeri.Siparis       = txtFisturu.Text.Contains("Sipariş Fişi")
                    ? stokVeri.Siparis = true
                    : stokVeri.Siparis = false;
            }
            foreach (var itemHareket in context.PersonelHareketleri.Local.ToList())
            {
                itemHareket.FisKodu = txtKod.Text;
            }


            if (fisAyarlari.BakiyeTuru == "Borç")
            {
                _fisentity.Borc = txtGenelToplam.Value;
            }
            else if (fisAyarlari.BakiyeTuru == "Alacak")

            {
                _fisentity.Alacak = txtGenelToplam.Value;
            }


            _fisentity.ToplamTutar  = txtGenelToplam.Value;
            _fisentity.IskontoOrani = txtIskontoOran.Value;
            _fisentity.IskontoTutar = txtIskontoToplam.Value;
            fisDAL.AddOrUpdate(context, _fisentity);



            if (fisAyarlari.OdemeEkrani)
            {
                Fis fisOdeme = new Fis();
                if (String.IsNullOrEmpty(_fisentity.FisBaglantiKodu))
                {
                    fisOdeme                 = _fisentity.Clone();
                    fisOdeme.FisTuru         = "Fiş Ödemesi";
                    fisOdeme.Id              = -1;
                    fisOdeme.FisKodu         = odemefis.OdemeKodNumarasi();
                    fisOdeme.FisBaglantiKodu = _fisentity.FisKodu;
                }
                else
                {
                    fisOdeme = context.fisler.SingleOrDefault(c => c.FisKodu == _fisentity.FisBaglantiKodu);
                }
                _fisentity.FisBaglantiKodu = fisOdeme.FisKodu;

                if (fisAyarlari.BakiyeTuru == "Borç")
                {
                    fisOdeme.Alacak = txtOdenenTutar.Value;
                    fisOdeme.Borc   = null;
                }
                else if (fisAyarlari.BakiyeTuru == "Alacak")
                {
                    fisOdeme.Borc   = txtOdenenTutar.Value;
                    fisOdeme.Alacak = null;
                }
                foreach (var KasaVeri in context.KasaHareketleri.Local.ToList())
                {
                    KasaVeri.Tarih = KasaVeri.Tarih == null?Convert.ToDateTime(cmbTarih.DateTime) : Convert.ToDateTime(KasaVeri.Tarih);

                    KasaVeri.FisKodu = fisOdeme.FisKodu;
                    KasaVeri.Hareket = fisAyarlari.KasaHareketi;
                    if (txtFisturu.Text != "Hakediş Fişi")
                    {
                        KasaVeri.CariId = _cariId;
                    }
                }
                fisOdeme.ToplamTutar = txtOdenenTutar.Value;
                fisDAL.AddOrUpdate(context, fisOdeme);
            }
            kodOlustur.KodArttirma();
            context.SaveChanges();
            if (MessageBox.Show("Faturayı Yazırmak İstermisiniz ?", "Uyarı", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                ReporPrintTool yazdir = new ReporPrintTool();
                rptFatura      fatura = new rptFatura(txtKod.Text);
                yazdir.RoporYazdir(fatura, ReporPrintTool.Belge.Fatura);
            }

            this.Close();
        }
Ejemplo n.º 4
0
        private void FisKaydet(ReporPrintTool.Belge belge)
        {
            toplamlar();
            OdenenTutarGuncelle();

            string message = null;
            int    hata    = 0;

            if (gridStokHareket.RowCount == 0)
            {
                message += "Satış Ekranında hiç bir ürün bulunmamaktadır." + System.Environment.NewLine;
                hata++;
            }

            if (gridKasaHareket.RowCount == 0 && chkOdemeBol.Checked && String.IsNullOrEmpty(lblCariKodu.Text))
            {
                message += "Herhangi bir Ödeme bulunamadı" + System.Environment.NewLine;
                hata++;
            }
            if (txtfisKodu.Text == "")
            {
                message += "Fiş Kodu Alanı Boş Geçilemez." + System.Environment.NewLine;
                hata++;
            }

            if (txtOdemesiGereken.Value != 0 && String.IsNullOrEmpty(lblCariKodu.Text) && TekParca == false)
            {
                message += "Ödenmesi Gereken Tutar Ödenmemiş Görünüyor.Ödenmeyen Kısmı Hesaba Aktarmak İçin Cari Seçmeniz Gerekiyor." + System.Environment.NewLine;
                hata++;
            }
            if (!String.IsNullOrEmpty(lblCariKodu.Text) && (entityBakiye.Bakiye - txtOdemesiGereken.Value) < 0 && ((entityBakiye.Bakiye - txtOdemesiGereken.Value) * -1) > entityBakiye.RiskLimiti)
            {
                if (lblRiskLimiti.Text != "")
                {
                    message += "Cari Risk Limiti Aşılıyor. Satış Yapılamaz." + System.Environment.NewLine;
                    hata++;
                }
            }

            if (hata != 0)
            {
                MessageBox.Show(message);
                return;
            }
            if (chkOdemeBol.Checked && txtOdemesiGereken.Value != 0)
            {
                if (MessageBox.Show($"Ödemenin {txtOdemesiGereken.Value.ToString("C2")} Tutarındaki Kısmı Açık Hesap Bakiyesi Olarak Kaydedilecektir. Devam Etmek İstiyormusunuz ?", "Uyarı", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    MessageBox.Show("İsteğiniz Üzere İşlem İptal Edildi");
                    return;
                }
            }
            _fisentity.FisTuru = txtIslem.Text == "İADE" ? "Satış İade Faturası" : "Satış Faturası";
            foreach (var stokVeri in context.StokHareketleri.Local.ToList())
            {
                stokVeri.Tarih       = DateTime.Now;
                stokVeri.ToplamTutar = Convert.ToDecimal(colToplamTutar.SummaryItem.SummaryValue);
                stokVeri.FisKodu     = txtfisKodu.Text;
                stokVeri.Hareket     = txtIslem.Text == "İADE" ? "Stok Griş" : "Stok Çıkış";
            }
            foreach (var KasaVeri in context.KasaHareketleri.Local.ToList())
            {
                KasaVeri.Tarih   = DateTime.Now;
                KasaVeri.FisKodu = txtfisKodu.Text;
                KasaVeri.Hareket = txtIslem.Text == "İADE" ? "Kasa Çıkış" : "Kasa Giriş";
                KasaVeri.CariId  = _cariId;
            }
            _fisentity.FisKodu      = txtfisKodu.Text;
            _fisentity.BelgeNo      = txtBelgeNo.Text;
            _fisentity.Aciklama     = txtAciklama.Text;
            _fisentity.FaturaUnvani = txtFaturaUnvani.Text;
            _fisentity.CepTelefonu  = txtCepTelefonu.Text;
            _fisentity.Il           = txtIl.Text;
            _fisentity.Ilce         = txtIlce.Text;
            _fisentity.Semt         = txtSemt.Text;
            _fisentity.Adres        = txtAdres.Text;
            _fisentity.VergiDairesi = txtVargiDairesi.Text;
            _fisentity.VergiNo      = txtVergiNo.Text;
            _fisentity.ToplamTutar  = txtGenelToplam.Value;
            _fisentity.IskontoOrani = txtIskontoOran.Value;
            _fisentity.IskontoTutar = txtIskontoToplam.Value;
            _fisentity.Tarih        = DateTime.Now;

            KasaHareketDAL.Save(context);
            fisDAL.AddOrUpdate(context, _fisentity);
            Fis odemeFisi = _fisentity.Clone();

            odemeFisi.FisTuru          = "Fİş Ödemesi";
            odemeFisi.FisKodu          = txtfisKodu.Text;
            _fisentity.FisBaglantiKodu = odemeFisi.FisKodu;
            odemeFisi.FisBaglantiKodu  = _fisentity.FisKodu;

            odemeFisi.ToplamTutar = TekParca ? txtGenelToplam.Value : txtOdenenTutar.Value;
            if (txtIslem.Text == "SATIŞ")
            {
                _fisentity.Borc   = txtGenelToplam.Value;
                odemeFisi.Alacak  = TekParca ? txtGenelToplam.Value : txtOdenenTutar.Value;
                odemeFisi.Borc    = null;
                _fisentity.Alacak = null;
            }

            int kasaId = Convert.ToInt32(SettingsTool.AyarOku(SettingsTool.Ayarlar.SatisAyarlari_VarsayilanKasa));

            if (!chkOdemeBol.Checked && odemeTuruId != -1)
            {
                KasaHareketDAL.AddOrUpdate(context, new KasaHareket
                {
                    CariId      = _cariId,
                    FisKodu     = txtfisKodu.Text,
                    Hareket     = txtIslem.Text == "İADE" ? "Kasa Çıkış" : "Kasa Giriş",
                    KasaId      = kasaId,
                    OdemeTuruId = odemeTuruId,
                    Tarih       = DateTime.Now,
                    Tutar       = txtGenelToplam.Value
                });
                OdenenTutarGuncelle();
            }
            context.SaveChanges();
            chkOdemeBol.Checked = false;
            radialYazdir.HidePopup();
            switch (belge)
            {
            case ReporPrintTool.Belge.BilgiFisi:
                ReporPrintTool yazdirBilgiFisi = new ReporPrintTool();
                rptBilgiFisi   bilgiFisi       = new rptBilgiFisi(txtfisKodu.Text);
                yazdirBilgiFisi.RoporYazdir(bilgiFisi, belge);
                break;

            case ReporPrintTool.Belge.Fatura:
                ReporPrintTool yazdir = new ReporPrintTool();
                rptFatura      fatura = new rptFatura(txtfisKodu.Text);
                yazdir.RoporYazdir(fatura, belge);
                break;
            }
            if (cagirilanSatisId != -1)
            {
                var secilen = _bekleyenSatis.SingleOrDefault(c => c.Id == cagirilanSatisId);
                _bekleyenSatis.Remove(secilen);
                flowBekleyen.Controls.Find(Convert.ToString(cagirilanSatisId), false).SingleOrDefault().Dispose();
                cagirilanSatisId = -1;
            }
            FisTemizle();
            KodUret();
            TekParca = false;
        }