Example #1
0
        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"));
        }
Example #2
0
        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));
        }