Beispiel #1
0
        private void btnFaturaYazdir_Click(object sender, EventArgs e)
        {
            ReporPrintTool yazdir = new ReporPrintTool();
            rptFatura      fatura = new rptFatura(txtKod.Text);

            yazdir.RoporYazdir(fatura, ReporPrintTool.Belge.Fatura);
        }
        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));
        }
Beispiel #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();
        }
Beispiel #4
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;
        }
        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;
        }