private void btnBestelling_Click(object sender, EventArgs e) { Bestellingen bestellingen = new Bestellingen(); bestellingen.Show(); this.Close(); }
private void btnAddOrder_Click(object sender, EventArgs e) { bool overstock = false; Adress ad = new Adress(); string s = ""; Order ord = new Order(); OrderDetail orddt = new OrderDetail(); ord.OrderDatum = DateTime.UtcNow; ord.status = (OrderStatus)cmbStatus.SelectedItem; if (ord.status > OrderStatus.Geanuleerd && ord.BezorgdDoor == null) { s += "Bestellingen met staus 'Klaar' of 'Verzondzn' moet ueen bezorger hebben ? "; } if (newAd) { if (txtStraat.Text != "" && txtStraat.Text.ToCharArray().All(c => char.IsLetter(c))) { ad.Straat = txtStraat.Text; } else { s += "Adress: Straat ? "; } if (txtHuisNr.Text != "" && txtHuisNr.Text.ToCharArray().All(c => char.IsLetterOrDigit(c))) { ad.Huisnummer = Convert.ToInt32(txtHuisNr.Text); } else { s += "Adress: Huisnummer ? "; } if (txttGem.Text != "" && txttGem.Text.ToCharArray().All(c => char.IsLetter(c))) { ad.Gemeente = txttGem.Text; } else { s += "Adress: Gemeente ? "; } if (txtPC.Text != "" && txtPC.Text.ToCharArray().All(c => char.IsDigit(c))) { ad.Postcode = txtPC.Text; } else { s += "Adress: Postcode ? "; } if (txtLand.Text != "" && txtLand.Text.ToCharArray().All(c => char.IsLetterOrDigit(c))) { ad.Land = txtLand.Text; } else { s += "Adress: Land ? "; } } using (var ctx = new ProjectContext()) { foreach (ProductOrdered item in ProductsOrdered) { if (ctx.Products.FirstOrDefault(p => p.ProductId == item.ProductId).UnitsOnStock < item.aantal) { overstock = true; s += $"Slechts {ctx.Products.FirstOrDefault(p => p.ProductId == item.ProductId).UnitsOnStock} stuks zijn beschikbaar voor artikel: {ctx.Products.FirstOrDefault(p => p.ProductId == item.ProductId)} "; } } } if (s == "") { using (var ctx = new ProjectContext()) { this.DialogResult = DialogResult.OK; if (newAd && (ctx.Adressen.FirstOrDefault(a => a.Straat + " " + a.Huisnummer + " " + a.Gemeente + " " + a.Postcode + " " + a.Land == ad.Straat + " " + ad.Huisnummer + " " + ad.Gemeente + " " + ad.Postcode + " " + ad.Land) == null)) { ord.BezorgdAdress = ad; } else if (newAd && ctx.Adressen.FirstOrDefault(a => a.Straat + " " + a.Huisnummer + " " + a.Gemeente + " " + a.Postcode + " " + a.Land == ad.Straat + " " + ad.Huisnummer + " " + ad.Gemeente + " " + ad.Postcode + " " + ad.Land) != null) { ord.BezorgdAdress = ctx.Adressen.FirstOrDefault(a => a.Straat + " " + a.Huisnummer + " " + a.Gemeente + " " + a.Postcode + " " + a.Land == ad.Straat + " " + ad.Huisnummer + " " + ad.Gemeente + " " + ad.Postcode + " " + ad.Land); } else if (!newAd) { ord.BezorgdAdress = ctx.Adressen.FirstOrDefault(a => a.AdressId == ((Klant)cmbKlanten.SelectedItem).adress.AdressId); } ord.klant = ctx.Klanten.FirstOrDefault(k => k.KlantId == ((Klant)cmbKlanten.SelectedItem).KlantId); ord.user = ctx.Users.FirstOrDefault(a => a.UserId == ((User)Login.user).UserId); if (cmbBezorgers.SelectedIndex > -1) { ord.BezorgdDoor = ctx.Bezorgers.FirstOrDefault(b => b.BezorgerId == ((Bezorger)cmbBezorgers.SelectedItem).BezorgerId); } ctx.Orders.Add(ord); ctx.SaveChanges(); foreach (ProductOrdered item in ProductsOrdered) { orddt.order = ctx.Orders.FirstOrDefault(o => o.OrderId == ord.OrderId); orddt.product = ctx.Products.FirstOrDefault(p => p.ProductId == item.ProductId); orddt.Aantal = item.aantal; ctx.Products.FirstOrDefault(p => p.ProductId == item.ProductId).UnitsOnStock -= item.aantal; ctx.OrderDetails.Add(orddt); ctx.SaveChanges(); } Bestellingen.OrderLines = ctx.Orders.Join(ctx.OrderDetails, o => o.OrderId, od => od.order.OrderId, (o, od) => new OrderLine() { orderid = o.OrderId, klant = o.klant, user = o.user, orderdate = o.OrderDatum, status = o.status, bezorgddoor = o.BezorgdDoor, adress = o.BezorgdAdress, orderdetailid = od.ID, product = od.product, aantal = od.Aantal }).OrderByDescending(o => o.orderdate).ToList(); Bestellingen.loaddgvOrders(); DialogResult dr = MessageBox.Show("FActuur afdrukken?", "", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { printDocument1.Print(); } } } else { MessageBox.Show(s); s = ""; } }