public ActionResult Detail(int id = 0) { Produkte meinProdukt = Functions.GetProdukteByIDForDetail(id); if (meinProdukt.ID == 0) { return(Redirect("~/Home/Index/")); } return(View(meinProdukt)); }
private void Goodsreceipt() { //Listen neu zuweisen WarenListe = ctx.Waren.ToList(); LiefererListe = ctx.Lieferer.ToList(); //gehe zum selektiertem Gut string ProduktName = lbxgoodsreceiptgoods.SelectedItem.ToString(); Produkte produkte = (Produkte)lbxgoodsreceiptgoods.SelectedItem; Waren waren = ctx.Waren.Where(x => x.Produkte.ProduktNummer.Equals(produkte.ProduktNummer)).FirstOrDefault(); //wenn es gefunden wurde führe Aktion aus if (waren != null) { //fragen ob die Transaktion wirklich durchgeführt werden soll MessageBoxResult messageBox = MessageBox.Show($"Sie wollen in Ihr Lager {tbxgoodsreceiptdelivered.Text} Stück des Artikels {waren.Produkte.ProduktName} hinzufügen?", "Frage", MessageBoxButton.YesNo, MessageBoxImage.Question); if (messageBox.Equals(MessageBoxResult.Yes)) { //aktueller Bestand anpassen waren.AktBestand = waren.AktBestand + Convert.ToInt32(tbxgoodsreceiptdelivered.Text); ctx.SaveChanges(); } else { //Benutzer darauf hinweisen das die Transaktion nicht durchgeführt wurde MessageBox.Show("Transaktion abgebrochen!", "Info", MessageBoxButton.OK, MessageBoxImage.Information); return; } //Wareneingang Tabelle eintrag hinzufügen Wareneingang wareneingang = new Wareneingang(); Lieferer lieferer = (Lieferer)lbxgoodsreceiptdeliverer.SelectedItem; wareneingang.WareneingangID = ctx.Wareneingang.Count() + 1; wareneingang.Artikel = waren.ArtikelNr; wareneingang.Lieferer = lieferer.LiefererNR; wareneingang.Bestellmenge = Convert.ToInt32(tbxgoodsreceiptdelivered.Text); //Daten in Tabelle hinzufügen ctx.Wareneingang.Add(wareneingang); ctx.SaveChanges(); //Kontrollausgabe für den Benutzer MessageBox.Show($"Artikel: {waren.Produkte.ProduktName}\nMenge: {tbxgoodsreceiptdelivered.Text}\nLieferer: {lieferer.LiefererName}"); //Template erstellen mit RazorEngine string htmlFile = System.IO.File.ReadAllText("wareneingangtemplate.cshtml"); int weid = ctx.Wareneingang.Count(); string result = Engine.Razor.RunCompile(htmlFile, $"WETemplate{weid}", null, wareneingang); int warenEingangAnz = ctx.Wareneingang.Count(); System.IO.File.WriteAllText($"Wareneingang{warenEingangAnz}.html", result); tbxgoodsreceiptdelivered.Clear(); } else { MessageBox.Show("Fehler"); } }
// GET: Produkte public ActionResult Index() { Produkte produkte = Produkte.GetProdukte(Request, out string message); if (!message.IsNullOrEmpty()) { ModelState.AddModelError("Error", message); } return(View(produkte)); }
private void Btnproducttodeliverer_Click(object sender, RoutedEventArgs e) { if (comboboxproduct.SelectedItem != null && cbxdeliverer.SelectedItem != null) { //Dem Lieferer das Produkt zuweisen Produkte produkte = (Produkte)comboboxproduct.SelectedItem; Lieferer lieferer = (Lieferer)cbxdeliverer.SelectedItem; lieferer.Produkte.Add(produkte); ctx.SaveChanges(); btnproducttodeliverer.IsEnabled = false; } }
private void BtnCustomerProduct_Click(object sender, RoutedEventArgs e) { if (comboboxproduct.SelectedItem != null && cbxchoosecustomer.SelectedItem != null) { //Dem Kunden das gewählte Produkt zuweisen Produkte produkte = (Produkte)comboboxproduct.SelectedItem; Kunde kunde = (Kunde)cbxchoosecustomer.SelectedItem; kunde.Produkte.Add(produkte); ctx.SaveChanges(); btnCustomerProduct.IsEnabled = false; } }
public ActionResult Detail(string id) { try { ViewBag.message = TempData["message"].ToString(); ViewBag.error = TempData["error"].ToString(); } catch { } var p = new Produkte(); double price = 0.0; int vorrat = 1; uint xid = Convert.ToUInt32(id); using (var MensaContext = new Mensa()) { var query = from be in MensaContext.Mahlzeiten where be.ID == Convert.ToUInt32(id) select be.Vorrat; try { vorrat = query.Sum(); } catch (Exception e) { var x = e.Message; } } try { uint t = Convert.ToUInt32(id); p = Produkte.GetByID(t); if (Session["role"] == null) { price = Produkte.GetPrice("Gast", p); } else { Models.Benutzer b = new Models.Benutzer(); b = Models.Benutzer.GetByNutzername(Session["name"].ToString()); price = Produkte.GetPrice(Models.Benutzer.Rolle(b), p); } ViewData["p"] = p; ViewData["price"] = price; return(View()); }catch (Exception ex) { ViewData["price"] = price; ViewData["p"] = p; return(View()); } }
//Produkte in Datenbank hinzufügen internal void ProdukteHinzufuegen(int ANR, int PNR, float VAL, string PN, LagerverwaltungContext ctx) { //lege Produkt und Ware an Waren neueWare = new Waren(); Produkte neuesProdukt = new Produkte(); //Fülle alle Daten aus neueWare.ArtikelNr = ANR; neueWare.AktBestand = 0; neueWare.ProduktNummer = PNR; neuesProdukt.ProduktNummer = PNR; neuesProdukt.ProduktName = PN; neuesProdukt.ProduktWert = VAL; //füge Daten in Datenbank ein ctx.Produkte.Add(neuesProdukt); ctx.Waren.Add(neueWare); ctx.SaveChanges(); }
// GET: Produkte public ActionResult Index(string bez, string vege, string vega, string vorrat) { string tname = "0"; if (bez != null) { tname = bez; } bool tvege = false; if (vege == "1") { tvege = true; } bool tvega = false; if (vega == "1") { tvega = true; } bool tvorrat = false; if (vorrat == "1") { tvorrat = true; } var p = Produkte.Filter(tname, tvege, tvega, tvorrat); var z = Models.Kategorien.GetAll(); ViewData["Kategorien"] = z; ViewData["Produkte"] = p; ViewData["bez"] = tname; ViewData["vege"] = tvege; ViewData["vega"] = tvega; ViewData["vorrat"] = tvorrat; return(View()); }
private void deletefromdb(int ProduktNummer) { //weise zu löschendes Produkt zu Produkte delProdukt = ctx.Produkte.Where(x => x.ProduktNummer.Equals(ProduktNummer)).FirstOrDefault(); //Lösche Produkt wenn es gefunden wurde if (delProdukt != null) { //Alle Warenbewegungen und das Produkt löschen string delProductName = delProdukt.ProduktName; List <Wareneingang> delWEs = ctx.Wareneingang.Where(x => x.Waren.Produkte.ProduktNummer.Equals(delProdukt.ProduktNummer)).ToList(); List <Warenausgang> delWAs = ctx.Warenausgang.Where(x => x.Waren.Produkte.ProduktNummer.Equals(delProdukt.ProduktNummer)).ToList(); //alle Warenbewegungen löschen, die mit dem Produkt angesprochen wurden! foreach (Wareneingang wedel in delWEs) { if (wedel != null) { ctx.Wareneingang.Remove(wedel); ctx.SaveChanges(); } } foreach (Warenausgang wadel in delWAs) { if (wadel != null) { ctx.Warenausgang.Remove(wadel); ctx.SaveChanges(); } } ctx.Produkte.Remove(delProdukt); //Meldung für den Benutzer MessageBox.Show(delProductName + " wurde gelöscht"); ctx.SaveChanges(); } }
// GET: Produkte public ActionResult Index() { string constr = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString; Produkte produkte = new Produkte() { rows = 5, columns = 4, kategorien = new List <Kategorie>(), mahlzeiten = new List <Mahlzeit>() }; string filter = ""; bool isPost = Request.HttpMethod == "POST"; if (isPost) { bool checkCategory = !Request["filterCategory"].IsEmpty() && Request["filterCategory"] != "-1"; string category = Request["filterCategory"]; bool available = Request["filterAvailable"] == "available"; bool vegetarian = Request["filterVegetarian"] == "vegetarian"; bool vegan = Request["filterVegan"] == "vegan"; if (checkCategory || available || vegetarian || vegan) { filter = " WHERE"; if (checkCategory) { filter += $" inKategorie = {category} AND"; } if (available) { filter += " verfügbar = 1 AND"; } if (vegetarian) { filter += $" vegetarisch = 1 AND"; } if (vegan) { filter += $" vegan = 1 AND"; } filter += " 1 = 1"; } } using (MySqlConnection con = new MySqlConnection(constr)) { try { con.Open(); // Get Kategorien string query = "SELECT ID, Bezeichnung, Parent FROM Kategorien"; using (MySqlCommand cmd = new MySqlCommand(query, con)) { using (MySqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { produkte.kategorien.Add(new Kategorie { ID = Convert.ToInt32(reader["ID"]), Bezeichnung = reader["Bezeichnung"].ToString(), Parent = (reader["Parent"] != DBNull.Value ? Convert.ToInt32(reader["Parent"]) : -1) }); } } } // Get Mahlzeiten query = $"SELECT ID, Name, verfügbar, Titel, `Alt-Text`, Binärdaten FROM Produkte{filter}"; using (MySqlCommand cmd = new MySqlCommand(query, con)) { using (MySqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { produkte.mahlzeiten.Add(new Mahlzeit { ID = Convert.ToInt32(reader["ID"]), Name = reader["Name"].ToString(), Verfügbar = Convert.ToBoolean(reader["verfügbar"]), Bilder = (reader["Alt-Text"] != DBNull.Value ? new List <Bild>() { new Bild() { Alttext = reader["Alt-Text"].ToString(), Titel = reader["Titel"].ToString(), Binärdaten = "data:image/jpg;base64," + Convert.ToBase64String((byte[])reader["Binärdaten"]) } } : null) }); } } } } catch (Exception e) { con.Close(); ModelState.AddModelError("Error", e.Message); return(View(produkte)); } } return(View(produkte)); }
private void Btngoodsissue_Click(object sender, RoutedEventArgs e) { //Wähle Produkt anhand von Produknummer aus Produkte produkte = (Produkte)lbxgoodsissuegoods.SelectedItem; Waren waren = ctx.Waren.Where(x => x.Produkte.ProduktNummer.Equals(produkte.ProduktNummer)).FirstOrDefault(); //Prüfe ob Produkt gefunden wurde if (waren != null) { //Prüfe ob Mindestbestand unterschritten wird int aktBestand = Convert.ToInt32(waren.AktBestand); int Menge; if (Int32.TryParse(tbxgoodsissueamount.Text, out Menge)) { } else { MessageBox.Show("Warenmenge darf keine Kommazahl sein oder Buchstaben enthalten!", "Warnung", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (waren.AktBestand >= Menge) { MessageBoxResult messageBoxResult = MessageBox.Show($"Sie aus ihrem Lager {tbxgoodsissueamount.Text} Stück des Artikels {waren.Produkte.ProduktName} entfernen?", "Frage", MessageBoxButton.YesNo, MessageBoxImage.Question); if (messageBoxResult.Equals(MessageBoxResult.Yes)) { if (waren.Mindestbestand > (aktBestand = Convert.ToInt32(waren.AktBestand) - Menge)) { //Frage ob Mindesbestand unterschritten werden soll! MessageBoxResult messageBox = MessageBox.Show($"Mit dieser Transaktion wird der Mindesbestand " + $"des Produktes unterschritten, wollen Sie fortfahren?", "Warnung", MessageBoxButton.YesNo, MessageBoxImage.Question); if (messageBox == MessageBoxResult.Yes) { //Buche Vorgang waren.AktBestand = waren.AktBestand - Menge; ctx.SaveChanges(); } else { //Breche Vorgang ab MessageBox.Show("Transaktion abgebrochen!", "Info", MessageBoxButton.OK, MessageBoxImage.Information); return; } } else { //Buche Vorgang waren.AktBestand = waren.AktBestand - Menge; ctx.SaveChanges(); } } else { //Benutzer darauf hinweisen das die Transaktion nicht durchgeführt wurde MessageBox.Show("Transaktion abgebrochen!", "Info", MessageBoxButton.OK, MessageBoxImage.Information); return; } } else { MessageBox.Show("Nicht genügend Artikel im Bestand!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } //Fülle Daten in Warenausgangstabelle ein Warenausgang warenausgang = new Warenausgang(); Kunde kunde = (Kunde)lbxgoodsissuecustomer.SelectedItem; warenausgang.WarenausgangID = ctx.Warenausgang.Count() + 1; warenausgang.Artikel = waren.ArtikelNr; warenausgang.Kunde = kunde.KundenNr; warenausgang.Bestellmenge = Convert.ToInt32(tbxgoodsissueamount.Text); ctx.Warenausgang.Add(warenausgang); ctx.SaveChanges(); //Kontrollausgabe für den Benutzer MessageBox.Show($"Artikel: {waren.Produkte.ProduktName}\nMenge: {tbxgoodsissueamount.Text}\nKunde: {kunde.KundenName}"); //Template erstellen mit RazorEngine string htmlFile = System.IO.File.ReadAllText("warenausgangtemplate.cshtml"); int waid = ctx.Warenausgang.Count(); string result = Engine.Razor.RunCompile(htmlFile, $"WATemplate{waid}", null, warenausgang); int warenAusgangAnz = ctx.Warenausgang.Count(); System.IO.File.WriteAllText($"Warenausgang{warenAusgangAnz}.html", result); } //Textbox leeren tbxgoodsissueamount.Clear(); //Setze selektierte Items auf 0, damit keine Fehler entstehen können lbxgoodsissuecustomer.SelectedIndex = 0; lbxgoodsissuegoods.SelectedIndex = 0; }
public static void Main(string[] args) { //Aray aus Objekten verschiedener Klassen var produkte = new Produkte[] { //Neue Objekte der Klassen erzeugen new Lebensmittel("Ja! Bio Zitronen 4Stück", 409346, 1.99m, "Obst und Gemüse"), new Lebensmittel("Billa Doppelschoko-Kuchen", 339574, 1.59m, "Feinkost"), new Lebensmittel("Finis Feinstes Dinkelmehl", 869039, 2.09m, "Lebensmittel"), new Lebensmittel("Bonduelle Goldmais", 413600, 1.49m, "Konserven"), new Lebensmittel("Steirische Freilandeier mittel", 337984, 3.49m, "Frischdienst"), new Lebensmittel("Ben & Jerrys Cookie Dough", 693076, 5.49m, "Tiefkühl"), new Lebensmittel("Nöm Frische Vollmilch 3,5%", 411357, 1.09m, "Frischdienst"), new Getraenke("Wegenstein Zweigelt Rosé", 614732, 2.49m, "Getränke"), new Getraenke("Moet &Chandon imperial", 213110, 42.90m, "Getränke"), new Sonstiges("Vivo Glas 2er Set- 180 ml", 403957, 14.99m, "Non food"), new Sonstiges("Ariel Flüssig Colour", 417462, 7.99m, "Parfumerie"), }; //Ausgabe von allen Produkten foreach (var x in produkte) { Console.WriteLine("Neues Produkt"); Console.WriteLine("Name: " + x.Name + " \n" + "Artikelnummer: " + x.Artikelnummer + " \n" + "Preis: " + x.Preis + " \n" + "Warengruppenbereich: " + x.Warengruppenbereich + " \n"); } //serialisieren var einstellungen = new JsonSerializerSettings() { Formatting = Formatting.Indented, TypeNameHandling = TypeNameHandling.Auto }; string text = (JsonConvert.SerializeObject(produkte, einstellungen)); //serialisierte Produkte ausgeben Console.WriteLine(text); //File namens produkte.json wird nach dem hineinschreibem am Desktop gespeichert var desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var file = Path.Combine(desktop, "produkte.json"); //alle serialisierten Produkte ins File am Desktop schreiben File.WriteAllText(file, text); //Produkte aus File lesen var TextAusFile = File.ReadAllText(file); //Deserialisieren var ProdukteAusFile = JsonConvert.DeserializeObject <Produkte[]>(TextAusFile, einstellungen); //ausgabe Für deserialisierte Produkte aus dem File foreach (var x in ProdukteAusFile) { Console.WriteLine("Neues Produkt"); Console.WriteLine("Name: " + x.Name + " \n" + "Artikelnummer: " + x.Artikelnummer + " \n" + "Preis: " + x.Preis + " \n" + "Warengruppenbereich: " + x.Warengruppenbereich + " \n"); } //Ausgabe für die Produkte aus dem File für die Funktion Artikelnummern_aktualisieren foreach (var x in ProdukteAusFile) { //Console.WriteLine("neue Artikelnummer eingeben: \n"); //int neuenummer = Int32.Parse(Console.ReadLine()); //x.Artikelnummern_aktualisieren(neuenummer); int neuenummer = x.Artikelnummer + 012384; x.Artikelnummern_aktualisieren(neuenummer); Console.WriteLine("Die neue Artikelnummer für {0} ist {1}", x.Name, x.Artikelnummer); } /*foreach (var x in produkte) * { * x.Preis = x.RabatteEinlösen(x.Preis); * * }*/ //2 Tasks ->Gibt Getränkepreise einer Liste aus asyncawait.Asyncawait().ContinueWith((t) => Console.WriteLine(".")).Wait(); //Gibt Lebensmittel mit einer halben Sekunde Abstand aus Push_Lebensmittel.Push(); Tasks.Run(); }