private void btnGuncelle_Click(object sender, EventArgs e)
        {
            try
            {
                if (lstUrunler.SelectedItems == null)
                {
                    return;
                }
                supermarketEntities db = new supermarketEntities();
                int seciliUrun         = int.Parse(lstUrunler.SelectedItems[0].Text);
                var sonuc = db.Products.Where(x => x.ProductId == seciliUrun).ToList();

                sonuc.ForEach(x =>
                {
                    x.ProductName           = txtUrunAdi.Text;
                    x.Barcode               = txtUrunKodu.Text;
                    x.Supplier.CompanyName  = cmbFirmaAdi.Text;
                    x.UnitPrice             = nAlisFiyati.Value;
                    x.SalesPrice            = nSatisFiyati.Value;
                    x.Category.CategoryName = cmbKategori.Text;
                    x.Stock        = Convert.ToInt32(nStok.Value);
                    x.ProductImage = resimDosyası;
                });

                db.SaveChanges();
                VerileriGetir();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void btnKaydet_Click(object sender, EventArgs e)
        {
            try
            {
                supermarketEntities db = new supermarketEntities();
                var seciliKategori     = cmbKategori.SelectedItem as Category;
                var seciliTedarikci    = cmbFirmaAdi.SelectedItem as Supplier;

                if (seciliKategori == null || seciliTedarikci == null)
                {
                    MessageBox.Show("Lütfen tüm alanları doldurunuz.");
                    return;
                }
                Product yeniurun = new Product
                {
                    ProductName  = txtUrunAdi.Text,
                    Barcode      = txtUrunKodu.Text,
                    CompanyId    = seciliTedarikci.CompanyId,
                    UnitPrice    = nAlisFiyati.Value,
                    SalesPrice   = nSatisFiyati.Value,
                    CategoryId   = seciliKategori.CategoryId,
                    Stock        = Convert.ToInt32(nStok.Value),
                    ProductImage = resimDosyası
                };
                db.Products.Add(yeniurun);
                db.SaveChanges();
                MessageBox.Show($"{yeniurun.ProductName} ürünü başarıyla eklendi");
                VerileriGetir();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void btnSil_Click(object sender, EventArgs e)
        {
            if (lstUrunler.SelectedItems == null)
            {
                return;
            }
            supermarketEntities db = new supermarketEntities();
            int seciliUrun         = int.Parse(lstUrunler.SelectedItems[0].Text);
            var sonuc = db.Products.Where(x => x.ProductId == seciliUrun).FirstOrDefault();

            db.Products.Remove(sonuc);
            db.SaveChanges();
            VerileriGetir();
        }
Ejemplo n.º 4
0
        private void btnSiparisOlustur_Click(object sender, EventArgs e)
        {
            if (sepetList.Count == 0)
            {
                MessageBox.Show("Önce Sepete Ürün Eklemelisiniz");
                return;
            }

            var musteri = cmbMusteri.SelectedItem as Customer;
            //var kargo = cmbKargo.SelectedItem as Shipper;
            string mesaj = $" siparişi onaylıyor musunuz?\nMüşteri: {musteri.CustomerName}";

            label11.Text = satisfiyat.ToString() + " TL";

            var cevap = MessageBox.Show(mesaj, "Sipariş Onayı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

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

            supermarketEntities db = new supermarketEntities();

            using (var tran = db.Database.BeginTransaction())
            {
                try
                {
                    var yeniSiparis = new Order()
                    {
                        CustomerId   = musteri.CustomerId,
                        OrderDate    = DateTime.Now,
                        RequiredDate = DateTime.Now.AddDays(7),
                        Freight      = nUlasUcret.Value,
                    };
                    db.Orders.Add(yeniSiparis);
                    db.SaveChanges();

                    foreach (var item in sepetList)
                    {
                        var siparisDetay = new OrderDetail()
                        {
                            OrderId    = yeniSiparis.OrderId,
                            ProductId  = item.ProductID,
                            SalesPrice = item.SalesPrice,
                            Quantity   = item.Quantity,
                            //Discount = item.Discount,
                        };
                        //if (item.ProductID == 2) // bilerek hata verdirmek istiyoruz rollbacki görmek için
                        //    throw new Exception("Manuel hata");
                        db.OrderDetails.Add(siparisDetay);

                        var urun = db.Products.Find(item.ProductID);
                        urun.Stock -= item.Quantity;
                    }
                    db.SaveChanges();

                    tran.Commit();
                    decimal toplam = 0, kdv = 0;
                    toplam = sepetList.Sum(x => x.Total);
                    if (rbKrediKarti.Checked)
                    {
                        toplam = nToplam.Value;
                        MessageBox.Show("ödeme türü :kredi \n ücret  kartınızdan  çekildi" + satisfiyat + " TL");
                    }

                    else if (radioButton1.Checked)
                    {
                        toplam = nToplam.Value;
                        decimal nakit    = Convert.ToDecimal(txtOdeme.Text);
                        decimal paraUstu = 0.0m;
                        paraUstu         = nakit - satisfiyat;
                        txtParaUstu.Text = paraUstu.ToString();
                        MessageBox.Show("ödeme türü:nakit  \n paraüstünüz:" + paraUstu);
                    }
                    MessageBox.Show($"{yeniSiparis.OrderId}'nolu siparişiniz tarafımıza ulaşmıştır");
                    Temizle();
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    MessageBox.Show("Sipariş Oluşturma işleminde hata oluştu.\n" + ex.Message);
                }
                label11.Text = "";
            }
        }