public IActionResult RendelesVendeg([Bind("RendelesId,VezetekNev,KeresztNev,Varos,Iranyitoszam,Cim,Email,Telefonszam")] Rendeles rendeles, string Pickup) { var items = _kocsi.GetKocsiItems(); _kocsi.KocsiItems = items; if (ModelState.IsValid) { rendeles.RendelesIdo = DateTime.Now; var cookie = HttpContext.Request.Cookies["RendelesCookie"]; rendeles.UserCookie = cookie; _context.Rendeles.Add(rendeles); _context.SaveChanges(); HashSet <int> Etterems = new HashSet <int>(); foreach (var item in items) { RendelesDetail rendelesDetail = new RendelesDetail { Rendeles = rendeles, Darab = item.Darab, Etlap = item.Etel, EtteremCimId = item.EtteremCimId }; Etterems.Add(item.EtteremCimId); _context.RendelesDetail.Add(rendelesDetail); _context.SaveChanges(); } foreach (var etterem in Etterems) { RendelesStatus stat = new RendelesStatus { Rendeles = rendeles, EtteremId = etterem }; if (Pickup.Equals("0")) { stat.RenStatus = Status.PickupPeding; } else { stat.RenStatus = Status.Pending; } _context.rendelesStatuse.Add(stat); _context.SaveChanges(); } _kocsi.ClearKocsi(); } return(RedirectToAction("Index", "Home")); }
public IActionResult Rendeles(string Cimid, string Pickup) { if (Cimid == null) { return(RedirectToAction("Index", "Vendegcims")); } var items = _kocsi.GetKocsiItems(); _kocsi.KocsiItems = items; var cim = _context.VendegCim.Where(c => c.VendegCimId == Int32.Parse(Cimid)).FirstOrDefault(); HashSet <int> Etterems = new HashSet <int>(); Rendeles rendeles = new Rendeles { VezetekNev = cim.VezetekNev, KeresztNev = cim.KeresztNev, Varos = cim.Varos, Iranyitoszam = cim.Iranyitoszam, Cim = cim.Cim, Email = cim.Email, Telefonszam = cim.Telefonszam, UserId = _userManager.GetUserId(HttpContext.User) }; rendeles.RendelesIdo = DateTime.Now; var cookie = HttpContext.Request.Cookies["RendelesCookie"]; rendeles.UserCookie = cookie; _context.Rendeles.Add(rendeles); _context.SaveChanges(); foreach (var item in items) { RendelesDetail rendelesDetail = new RendelesDetail { Rendeles = rendeles, Darab = item.Darab, Etlap = item.Etel, EtteremCimId = item.EtteremCimId }; Etterems.Add(item.EtteremCimId); _context.RendelesDetail.Add(rendelesDetail); _context.SaveChanges(); } foreach (var etterem in Etterems) { RendelesStatus stat = new RendelesStatus { Rendeles = rendeles, EtteremId = etterem }; if (Pickup.Equals("0")) { stat.RenStatus = Status.PickupPeding; } else { stat.RenStatus = Status.Pending; } _context.rendelesStatuse.Add(stat); _context.SaveChanges(); } _kocsi.ClearKocsi(); return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> FutarRendelesKezel(int Futarid) { var futar = _context.FutarAdat.Find(Futarid); var user = await _userManager.GetUserAsync(HttpContext.User); var UserId = user.Id; var Etterem = _context.EtteremCim.Where(ec => ec.UserId == UserId).FirstOrDefault(); if (Etterem == null) { return(View()); } var etteremid = Etterem.ID; var etelek = _context.RendelesDetail.Where(s => s.EtteremCimId == etteremid).ToList(); FutarRendelesKezelViewModel vms = new FutarRendelesKezelViewModel(); vms.Rendelesek = new List <RendelesDarab>(); vms.Futar = futar; if (etelek.Count > 0) { //Dictionary<int, List<RendelesDetail>> dict = new Dictionary<int, List<RendelesDetail>>(); //foreach (var etel in etelek) //{ // etel.Etlap = _context.Etlap.Find(etel.EtlapId); // if (!dict.ContainsKey(etel.RendelesId)) dict.Add(etel.RendelesId, new List<RendelesDetail>()); // dict[etel.RendelesId].Add(etel); //} //for (int i = 0; i < 10; i++) //{ // foreach (var rendelesek in dict) // { // RendelesDarab rd = new RendelesDarab // { // RendelesAdatok = _context.Rendeles.Find(rendelesek.Key), // RendelesEtelek = rendelesek.Value, // Futarnal = false // }; // vms.Rendelesek.Add(rd); // } //} HashSet <int> RendelesIds = new HashSet <int>(); foreach (var etel in etelek) { etel.Etlap = _context.Etlap.Find(etel.EtlapId); RendelesIds.Add(etel.RendelesId); } Dictionary <RendelesStatus, List <RendelesDetail> > dict = new Dictionary <RendelesStatus, List <RendelesDetail> >(); foreach (var id in RendelesIds) { RendelesStatus stat = _context.rendelesStatuse.Where(s => s.RendelesId == id && s.EtteremId == etteremid && s.RenStatus != Status.Completed).FirstOrDefault(); if (stat != null) { dict.Add(stat, new List <RendelesDetail>(etelek.FindAll(s => s.RendelesId == id))); } } foreach (var rendeles in dict) { int total = 0; foreach (var etel in rendeles.Value) { int ar = etel.Etlap.Ar * etel.Darab; total = total + ar; } if (rendeles.Key.FutarId == futar.FutarId && rendeles.Key.RenStatus != Status.FutarDeclined) { RendelesDarab rd = new RendelesDarab { RendelesAdatok = _context.Rendeles.Find(rendeles.Key.RendelesId), RendelesEtelek = rendeles.Value, Futarnal = true, RendelesTotal = total, RendekesStatId = _context.rendelesStatuse.Where(s => s.EtteremId == etteremid && s.RendelesId == rendeles.Key.RendelesId).FirstOrDefault().RendelesStatusId }; vms.Rendelesek.Add(rd); } else if (rendeles.Key.RenStatus == Status.FutarraVar || rendeles.Key.RenStatus == Status.FutarDeclined) { RendelesDarab rd = new RendelesDarab { RendelesAdatok = _context.Rendeles.Find(rendeles.Key.RendelesId), RendelesEtelek = rendeles.Value, Futarnal = false, RendelesTotal = total, RendekesStatId = _context.rendelesStatuse.Where(s => s.EtteremId == etteremid && s.RendelesId == rendeles.Key.RendelesId).FirstOrDefault().RendelesStatusId }; vms.Rendelesek.Add(rd); } } } return(View(vms)); }