예제 #1
0
        private void btnKaydet_Click(object sender, EventArgs e)
        {
            SatisORM sOrm = new SatisORM();
            Satis    s    = new Satis();

            s.MusteriID   = Convert.ToInt32(cmbMusteri.SelectedValue);
            s.OdaID       = Convert.ToInt32(cmbOda.SelectedValue);
            s.PersonelID  = PersonellerORM.AktifKullanici.Id;
            s.OdaFiyati   = nudOdaFiyati.Value;
            s.SatisTarihi = DateTime.Now;

            int sId = Convert.ToInt32(sOrm.InsertScalar(s));

            if (sId > 0)
            {
                SatisDetayORM sdOrm = new SatisDetayORM();
                foreach (ListViewItem lvi in listview1.Items)
                {
                    SatisDetay sd = new SatisDetay();
                    sd.SatisID = sId;
                    sd.UrunID  = (int)lvi.Tag;
                    sd.Fiyat   = Convert.ToDecimal(lvi.SubItems[3].Text);
                    sd.Miktar  = Convert.ToDouble(lvi.SubItems[2].Text);
                    sd.Indırım = Convert.ToDouble(lvi.SubItems[4].Text);
                    sdOrm.Insert(sd);
                }
            }
        }
        public bool SatisDetaylariEkleBySepet(DataTable dt, int SatisNo)
        {
            SatisDetay sd;

            foreach (DataRow dr in dt.Rows)  //Sepet içindeki siparişleri elde ediyoruz.
            {
                sd = new SatisDetay();
                sd.Satis.satisid = SatisNo;
                sd.Urun.urunid   = Convert.ToInt32(dr["urunid"]);
                sd.adet          = Convert.ToInt32(dr["adet"]);
                sd.birimfiyat    = Convert.ToDecimal(dr["fiyat"]);
                sd.tutar         = Convert.ToDecimal(dr["tutar"]);
                ent.SatisDetaylari.Add(sd);  //her bir siparişi ara katmana ekliyoruz.
            }
            try
            {
                ent.SaveChanges();  //Ara katmana göre tüm siparişleri bir defada veritabanına kaydediyoruz. Transaction yapısı var, hata durumunda hiç kayıt yapmıyor.
                return(true);
            }
            catch (Exception ex)
            {
                string hata = ex.Message;
            }
            return(false);
        }
예제 #3
0
        public bool SatisDetayaEkle(SatisDetay sd)
        {
            bool Sonuc = false;

            ent.SatisDetay.Add(sd);
            try
            {
                ent.SaveChanges();
                Sonuc = true;
            }
            catch (Exception ex)
            {
                string hata = ex.Message;
            }
            return(Sonuc);
        }
예제 #4
0
        public bool SatisDetaySil(int Id)
        {
            bool       Sonuc   = false;
            SatisDetay silinen = ent.SatisDetay.Where(s => s.Id == Id).FirstOrDefault();

            ent.SatisDetay.Remove(silinen);
            try
            {
                ent.SaveChanges();
                Sonuc = true;
            }
            catch (Exception ex)
            {
                string hata = ex.Message;
            }
            return(Sonuc);
        }
예제 #5
0
        public ActionResult CompleteShop(int Kargo)
        {
            using (eTicaretEntities db = new eTicaretEntities())
            {
                if (HttpContext.Session["cart"] != null)
                {
                    Sepet      s           = (Sepet)HttpContext.Session["cart"];
                    var        loginedUser = Membership.GetUser(User.Identity.Name);
                    SatisDetay detay       = new SatisDetay();
                    Satislar   satis       = new Satislar()
                    {
                        KargoID        = Kargo,
                        MusteriID      = (Guid)loginedUser.ProviderUserKey,
                        SatisTarihi    = System.DateTime.Now,
                        Sepettemi      = true,
                        ToplamTutar    = s.ToplamTutar,
                        SiparisDurumID = 1,
                    };
                    db.Satislars.Add(satis);
                    db.SaveChanges();
                    foreach (var item in s.Urunler)
                    {
                        SatisDetay dt = new SatisDetay()
                        {
                            Adet    = item.Adet,
                            Fiyat   = item.Tutar,
                            UrunID  = item.Urun.ID,
                            Indirim = 1,
                            SatisID = satis.ID
                        };
                        List <SatisDetay> dety = new List <SatisDetay>();
                        dety.Add(dt);
                        db.SatisDetays.AddRange(dety);
                    }
                    db.SaveChanges();

                    HttpContext.Session.Remove("cart");
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
        }
예제 #6
0
 private void btnIslemKaydet_Click(object sender, EventArgs e)
 {
     if (Convert.ToDecimal(txtToplamTutar.Text) > 0)
     {
         Satis sat = new Satis();
         sat.ToplamTutar = Convert.ToDecimal(txtToplamTutar.Text);
         if (rbtnNakit.Checked)
         {
             sat.OdemeTipi = "Nakit";
         }
         if (rbtnKrediKarti.Checked)
         {
             sat.OdemeTipi = "Kart";
         }
         if (sr.SatislaraEkle(sat))
         {
             for (int i = 0; i < lvAlisverisSepeti.Items.Count; i++)
             {
                 SatisDetay sd = new SatisDetay();
                 sd.IslemId = sr.SonSatisIdBul();
                 sd.UrunId  = sr.UrunIdBul(lvAlisverisSepeti.Items[i].Text);
                 sd.Adet    = Convert.ToInt32(lvAlisverisSepeti.Items[i].SubItems[1].Text);
                 sr.UrunSatisStokDusur(sr.UrunIdBul(lvAlisverisSepeti.Items[i].Text), Convert.ToInt32(lvAlisverisSepeti.Items[i].SubItems[1].Text));
                 sd.BirimFiyat  = Convert.ToDecimal(lvAlisverisSepeti.Items[i].SubItems[2].Text);
                 sd.ToplamTutar = Convert.ToDecimal(lvAlisverisSepeti.Items[i].SubItems[3].Text);
                 sr.SatisDetayaEkle(sd);
             }
             MessageBox.Show("İşlemler başarıyla kaydedildi", "Başarılı işlem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             btnSTemizle.PerformClick();
             btnTemizle.PerformClick();
         }
         else
         {
             MessageBox.Show("Bazı sıkıntılar var..");
         }
     }
     else
     {
         MessageBox.Show("Kaydedilecek işlem bulunamadı", "Boş sepet", MessageBoxButtons.OK, MessageBoxIcon.Error);
         btnTemizle.PerformClick();
     }
 }
예제 #7
0
        public JsonResult SatisIslem(string kartID)
        {
            List <SepetViewModel> sepet     = Session["sepet"] as List <SepetViewModel>;
            Kullanici             kullanici = _kullaniciService.GetByID(((Kullanici)Session["kullanici"]).KullaniciId);
            Satis satilan = new Satis();

            satilan.KullaniciId = kullanici.KullaniciId;
            satilan.SatisTarihi = DateTime.Now;
            decimal sum = 0;

            foreach (SepetViewModel item in sepet)
            {
                sum += item.Quantity * item.Price;
            }
            satilan.ToplamTutar    = sum;
            satilan.SiparisAdresi  = kullanici.Adres;
            satilan.SiparisDurumId = 1;
            if (kartID == "")
            {
                satilan = null;
                return(Json("kart bulunamadı", JsonRequestBehavior.AllowGet));
            }
            satilan.KartID  = Convert.ToInt32(kartID);
            satilan.KargoID = 1;

            _satisService.Add(satilan);
            Kullanici kullanici2  = _kullaniciService.GetUserByOrders(kullanici.KullaniciId);
            Satis     satinAlinan = kullanici2.Satislar.OrderByDescending(i => i.SatisId).FirstOrDefault();

            foreach (SepetViewModel item in sepet)
            {
                SatisDetay satisDetay = new SatisDetay();
                satisDetay.SatisId     = satinAlinan.SatisId;
                satisDetay.UrunId      = item.ProductID;
                satisDetay.UrunAdet    = item.Quantity;
                satisDetay.UrunIndirim = 0;
                satisDetay.UrunFiyat   = item.Price;
                _satisDetay.Add(satisDetay);
            }

            return(Json(satinAlinan.SatisId, JsonRequestBehavior.AllowGet));
        }
예제 #8
0
        public ActionResult AdresOnay(Musteri model)
        {
            if (ModelState.IsValid)
            {
            }

            Repository <Satis> repoSatis = new Repository <Satis>(ent);
            Musteri            uye       = (Musteri)Session["uye"];
            Satis s = new Satis();

            s.Tarih        = DateTime.Now;
            s.ToplamMiktar = Convert.ToInt32(Session["toplamadet"]);
            s.ToplamTutar  = Convert.ToInt32(Session["toplamtutar"]);
            s.MusteriID    = uye.ID;
            s.TeslimTarihi = DateTime.Now.AddDays(2);
            s.Durumu       = (byte)cEnums.SatisDurumu.siparis;
            if (repoSatis.Ekle(s))
            {
                int SonSatisNo = s.ID;
                Repository <SatisDetay> repoSatisDetay = new Repository <SatisDetay>(ent);
                List <cSepet>           sepet          = cSepet.SepetAl();
                SatisDetay sd;
                foreach (cSepet siparis in sepet)
                {
                    sd            = new SatisDetay();
                    sd.SatisID    = SonSatisNo;
                    sd.UrunID     = siparis.urunid;
                    sd.Adet       = siparis.adet;
                    sd.BirimFiyat = siparis.fiyat;
                    sd.Tutar      = siparis.tutar;
                    repoSatisDetay.Ekle(sd);
                }
                Session.Remove("sepet");
                Session.Remove("toplamadet");
                Session.Remove("toplamtutar");
            }
            return(RedirectToAction("OdemeOnay"));
        }
        private void btnKatdet_Click(object sender, EventArgs e)
        {
            if (cmbMusteri.Items.Count == 0 || cmbOda.Items.Count == 0)
            {
                MessageBox.Show("Tanımlı müşteri veya Oda belirlemelisiniz.\n -Müşteriler \n -Tanımlar/Odalar", "Satış Onay", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            SatisORM sOrm = new SatisORM();
            Odalar   o    = new Odalar();

            o.Id = Convert.ToInt32(cmbOda.SelectedValue);
            Satis s = new Satis();

            s.MusteriID   = Convert.ToInt32(cmbMusteri.SelectedValue);
            s.OdaID       = Convert.ToInt32(cmbOda.SelectedValue);
            s.PersonelID  = PersonellerORM.AktifKullanici.Id;
            s.OdaFiyati   = nudOdaFiyati.Value;
            s.SatisTarihi = DateTime.Now;

            try
            {
                int          satisId = Convert.ToInt32(sOrm.InsertScalar(s));
                DialogResult result  = MessageBox.Show("Satışı onaylıyor musunuz?", "Satış Onay", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (result == DialogResult.Yes)
                {
                    try
                    {
                        SatisDetayORM  sdOrm = new SatisDetayORM();
                        UrunORM        uOrm  = new UrunORM();
                        KasaHareketORM khOrm = new KasaHareketORM();
                        KasaHareket    kh;
                        decimal        odaFiyati = nudOdaFiyati.Value;
                        if (listView1.Items.Count == 0)
                        {
                            kh = new KasaHareket
                            {
                                KasaID           = 2,
                                KasaHareketTipID = 1,
                                Tutar            = odaFiyati,
                                Tarih            = DateTime.Now,
                                Kdvsiz           = (odaFiyati - (odaFiyati * 0.18m))
                            };
                            khOrm.Insert(kh);
                        }
                        else
                        {
                            foreach (ListViewItem lvi in listView1.Items)
                            {
                                SatisDetay sd = new SatisDetay();
                                sd.SatisID = satisId;
                                sd.UrunID  = (int)lvi.Tag;
                                sd.Fiyat   = Convert.ToDecimal(lvi.SubItems[3].Text);
                                sd.Miktar  = (Convert.ToDouble(lvi.SubItems[2].Text));
                                sd.Indirim = Convert.ToDouble(lvi.SubItems[4].Text);
                                sdOrm.Insert(sd);

                                Urunler u = new Urunler();
                                u.Id     = Convert.ToInt32(lvi.Tag);
                                u.Miktar = -(Convert.ToDouble(lvi.SubItems[2].Text));

                                decimal miktar  = ((decimal)sd.Miktar);
                                decimal indirim = (int)sd.Indirim;

                                decimal tutar = (miktar * sd.Fiyat) - (miktar * sd.Fiyat * (indirim / 100));
                                //object initializer
                                kh = new KasaHareket
                                {
                                    KasaID           = 2,
                                    KasaHareketTipID = 1,
                                    Tutar            = tutar,
                                    Tarih            = DateTime.Now,
                                    Kdvsiz           = (tutar - (tutar * 0.18m))
                                };
                                try
                                {
                                    if (uOrm.Update(u))
                                    {
                                        khOrm.Insert(kh);
                                    }
                                    else
                                    {
                                        MessageBox.Show("Stokta yeteri kadar ürün kalmamıştır", "Satış Onay", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                        return;
                                    }
                                }
                                catch (Exception ex)
                                {
                                    MessageBox.Show(ex.Message, "Satış Onay", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                    return;
                                }
                            }
                        }
                        MessageBox.Show("Satış onaylandı", "Satış Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        dataGridView1.DataSource = uOrm.Select();
                        Tools.Temizle(this);
                        nudUrunFiyati.Value  = Convert.ToDecimal(dataGridView1.CurrentRow.Cells[2].Value);
                        nudUrunMiktarı.Value = 1;
                        lblTutar.Text        = "";
                        dataGridView1.Focus();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Satış sırasında hata oluştu", "Satış Onay", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else if (result == DialogResult.No)
                {
                    listView1.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Satış Onay", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
        }
예제 #10
0
        private void btnSatisYap_Click(object sender, EventArgs e)
        {
            if (sepetList.Count == 0)
            {
                MessageBox.Show("Önce sepete ürün ekleyiniz.");
                return;
            }
            if (!rbNakit.Checked && !rbKredi.Checked)
            {
                MessageBox.Show("Ödeme şeklini seçiniz.");
                return;
            }
            if (rbNakit.Checked && nmrToplam.Value > nOdenenMiktar.Value)
            {
                MessageBox.Show("Girilen para yetersiz.");
                return;
            }
            string mesaj = $"{nmrToplam.Value:c2} tutarındaki satın alımı onaylıyor musunuz?";
            var    cevap = MessageBox.Show(mesaj, "Satış Onayı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (cevap != DialogResult.Yes)
            {
                return;
            }
            MyContext db = new MyContext();

            using (var tran = db.Database.BeginTransaction())
            {
                try
                {
                    var yeniSatis = new Satis();
                    db.Satislar.Add(yeniSatis);
                    db.SaveChanges();
                    if (rbNakit.Checked)
                    {
                        yeniSatis.OdemeSekli = rbNakit.Text;
                    }
                    else if (rbKredi.Checked)
                    {
                        yeniSatis.OdemeSekli = rbKredi.Text;
                    }
                    foreach (var item in sepetList)
                    {
                        var satisDetay = new SatisDetay()
                        {
                            SatisID = yeniSatis.SatisID,
                            UrunID  = item.UrunID,
                            Fiyat   = item.Fiyat,
                            Adet    = item.Adet,
                            Indirim = item.Indirim,
                            KDV     = item.KDV,
                        };
                        db.SatisDetaylar.Add(satisDetay);
                    }
                    db.SaveChanges();
                    var siparis = db.SatisDetaylar.Where(x => x.SatisID == yeniSatis.SatisID).ToList();
                    var satis   = db.Satislar.Find(yeniSatis.SatisID);
                    satis.SatisTarihi = DateTime.Now;
                    foreach (var item in siparis)
                    {
                        var urun = db.Urunler.Find(item.UrunID);
                        urun.Stok -= (short)item.Adet;
                    }
                    VerileriGetir();
                    db.SaveChanges();
                    tran.Commit();
                    MessageBox.Show($"{yeniSatis.SatisID} nolu satın alımınız Onaylanmıştır");
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    MessageBox.Show(ex.Message);
                }
            }
        }
예제 #11
0
 public bool Update(SatisDetay entity)
 {
     return(_satisDetayDAL.Update(entity) > 0);
 }
예제 #12
0
        public bool Delete(int satisID, int urunID)
        {
            SatisDetay deleted = _satisDetayDAL.Get(i => i.SatisId == satisID && i.UrunId == urunID);

            return(_satisDetayDAL.Delete(deleted) > 0);
        }
예제 #13
0
 public bool Add(SatisDetay entity)
 {
     return(_satisDetayDAL.Add(entity) > 0);
 }
 public void Update(SatisDetay entity)
 {
     _satisdetayManagement.Update(entity);
 }
 public void Delete(SatisDetay entity)
 {
     _satisdetayManagement.Delete(entity);
 }
 public void Add(SatisDetay entity)
 {
     _satisdetayManagement.Add(entity);
 }