private void toolStripMenuItemYazdir_Click(object sender, EventArgs e)
        {
            string           secilen = FislerGridView.GetFocusedRowCellValue(colFisKodu).ToString();
            ReportsPrintTool yazdir  = new ReportsPrintTool();
            rptFatura        fatura  = new rptFatura(secilen);

            yazdir.RaporYazdir(fatura, ReportsPrintTool.Belge.Fatura, context.KullaniciAyarlari.FirstOrDefault(c => c.KullaniciID == RoleTool.kullaniciEntity.KullaniciID));
        }
Exemple #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;
        }