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()); } }
public ActionResult Bestellen() { // if (HttpContext.Request.Cookies.Get("dbwt") != null) { HttpCookie exists = HttpContext.Request.Cookies.Get("dbwt"); try { if (exists.Value != null) { Dictionary <string, Dictionary <int, int> > fromCookie = JsonConvert.DeserializeObject <Dictionary <string, Dictionary <int, int> > >(exists.Value); // cookie-Wert in ein Objekt umwandeln (geben Sie in < > an, in welchen Typ) foreach (var cookie in fromCookie) { using (var MensaContext = new Mensa()) { try { // Attribute für das Model p setzen // Model für den nächsten Submit mit aufnehmen // Submit löst SQL Operationen auf der DB aus //Bestellung einfügen MensaContext.BeginTransaction(); Models.Benutzer User = Models.Benutzer.GetByNutzername(cookie.Key); var query = from bestmax in MensaContext.Bestellungen //where be.Nutzername.Contains("db") //select new {Vorname = be.Vorname, Nachname = be.Nachname}; select bestmax.Nummer; Bestellungen best = new Bestellungen(); best.Benutzer = (uint)User.Nummer; best.Bestellzeitpunkt = DateTime.Now; best.Abholzeitpunkt = DateTime.Parse(Request["Abholdate"].ToString()); best.Endpreis = Convert.ToDouble(Request["Endpreis"].ToString()); best.Nummer = query.Max() + 1; MensaContext.Insert <Bestellungen>(best); //ID bekommen und einfügen foreach (var mahl in cookie.Value) { Mahlzeitenxbestellungen mxb = new Mahlzeitenxbestellungen(); mxb.Anzahl = Convert.ToUInt32(mahl.Value); mxb.Mahlzeiten = (uint?)mahl.Key; mxb.Bestellungen = best.Nummer; MensaContext.Insert <Mahlzeitenxbestellungen>(mxb); //mxb einfügen } MensaContext.CommitTransaction(); } catch { MensaContext.RollbackTransaction(); } } } //Warenkorb leeren Dictionary <string, Dictionary <int, int> > ret = new Dictionary <string, Dictionary <int, int> >(); ret.Add(Session["name"].ToString(), new Dictionary <int, int>()); exists.Value = JsonConvert.SerializeObject(ret); HttpContext.Response.Cookies.Set(exists); // zurück mit Meldung. TempData["message"] = "Bestellung abgeschickt."; return(RedirectToAction("index")); } else { TempData["message"] = "Bestellungen leer."; return(RedirectToAction("index")); } } catch (Exception e) { TempData["error"] = "Fehler Meldung: " + e.Message; return(RedirectToAction("index")); } } TempData["message"] = "Bestellung abgeschickt."; return(RedirectToAction("index")); }