public ActionResult OrderDetails(int id)
        {
            var userId = User.Identity.GetUserId();

            var order = _context.Orders
                        .Include(d => d.ApplicationUser)
                        .FirstOrDefault(d => d.OrderId == id);

            if (userId != order.ApplicationUserId)
            {
                if (!User.IsInRole("Admin"))
                {
                    return(HttpNotFound());
                }
            }

            var orderDetails = _context.OrderDetails
                               .Include(d => d.Instrument)
                               .Include(d => d.Order)
                               .Include(d => d.CustomInstrument.Instrument)
                               .Include(d => d.Service.ServiceType).Where(d => d.OrderId == id).ToList();

            var model = new ManageOrderViewModel()
            {
                Order        = order,
                OrderDetails = orderDetails
            };

            return(View(model));
        }
Esempio n. 2
0
        public async Task <IActionResult> Manage(int id, ManageOrderViewModel vm)
        {
            var loggedUser = await _userManagerService.FindByNameAsync(User.Identity.Name);

            Order   order = _orderRepo.GetSingle(o => o.OrderId == id);
            Package pack  = _packRepo.GetSingle(p => p.PackageId == order.PackageId);

            if (ModelState.IsValid && order != null)
            {
                order.Email         = vm.Email;
                order.Mobile        = vm.Mobile;
                order.DepartingDate = vm.DepartingDate;
                order.NumberOfAdult = vm.NumberOfAdult;
                order.Comment       = vm.Comment;

                _orderRepo.Update(order);

                vm.Package = pack;

                return(RedirectToAction("Display", "Order", new { id = id }));
            }

            vm.PackageId = id;
            vm.Package   = _packRepo.GetSingle(p => p.PackageId == id);

            ModelState.AddModelError("", "Information required!");

            return(View(vm));
        }
        public IActionResult ManageOrder(int id)
        {
            _userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var order = _context.Orders
                        .Include(d => d.Address)
                        .Include(d => d.IdentityUser)
                        .Include(d => d.OrderDetailsOrder)
                        .ThenInclude(d => d.OrderDetails)
                        .ThenInclude(d => d.Product)
                        .ThenInclude(d => d.Brand)
                        .FirstOrDefault(d => d.OrderId == id);

            if (order == null)
            {
                return(NotFound());
            }

            var model = new ManageOrderViewModel()
            {
                Order        = order,
                OrderDetails = order.OrderDetailsOrder.Select(d => d.OrderDetails).ToList()
            };

            return(View(model));
        }
Esempio n. 4
0
        public IActionResult ListOrders()
        {
            var orderViewModel = new ManageOrderViewModel();

            orderViewModel.Orders = _foodData.GetAllOrders();

            return(View(orderViewModel));
        }
        public ActionResult ManageOrders()
        {
            var manager = new ApplicationUserManager(new UserStore <ApplicationUser>(new ApplicationDbContext()));

            List <GetUserOrders_Result> ResOrders;
            List <OrderToDisplay>       Orders            = new List <OrderToDisplay>();
            List <OrderToDisplay>       BookingsCancelled = new List <OrderToDisplay>();
            List <OrderToDisplay>       BookingsValid     = new List <OrderToDisplay>();
            List <OrderToDisplay>       PastOrders;
            List <OrderToDisplay>       FutureOrders;


            ResOrders = _context.GetUserOrders(User.Identity.GetUserId()).ToList();
            foreach (GetUserOrders_Result r in ResOrders)
            {
                var CurRoom = _context.GetRoomById(r.RoomId).FirstOrDefault();

                OrderToDisplay OrderVM = new OrderToDisplay
                {
                    ID          = r.ID,
                    Username    = User.Identity.GetUserName(),
                    RoomNo      = CurRoom.RoomNo,
                    FromDate    = r.FromDate,
                    ToDate      = r.ToDate,
                    IsCancelled = r.IsCancelled ? "Cancelled" : "Normal",
                    UnitPrice   = CurRoom.Price,
                    TotalCost   = r.TotalCost
                };
                if (r.IsCancelled)
                {
                    BookingsCancelled.Add(OrderVM);
                }
                else
                {
                    BookingsValid.Add(OrderVM);
                }
            }


            DateTime now         = DateTime.Now;
            DateTime DateOfToday = new DateTime(now.Year, now.Month, now.Day);

            PastOrders = BookingsValid.Where(o => ((o.ToDate <= DateOfToday) || (o.FromDate <= DateOfToday && o.ToDate >= DateOfToday))).ToList();
            HashSet <int> PastCurBookingIds = new HashSet <int>(PastOrders.Select(o => o.ID).ToList());

            FutureOrders = BookingsValid.Where(o => !PastCurBookingIds.Contains(o.ID)).ToList();

            var tables = new ManageOrderViewModel
            {
                PastOrders      = PastOrders,
                FutureOrders    = FutureOrders,
                CancelledOrders = BookingsCancelled
            };

            return(View(tables));
        }
Esempio n. 6
0
        public ActionResult ManageOrder(int id)
        {
            var order = _context.Orders
                        .Include(d => d.ApplicationUser)
                        .FirstOrDefault(d => d.OrderId == id);

            var orderDetails = _context.OrderDetails
                               .Include(d => d.Instrument)
                               .Include(d => d.Order)
                               .Include(d => d.CustomInstrument.Instrument)
                               .Include(d => d.Service.ServiceType).Where(d => d.OrderId == id).ToList();

            var model = new ManageOrderViewModel()
            {
                Order        = order,
                OrderDetails = orderDetails
            };

            return(View(model));
        }
        public ActionResult ManageOrder(int id)
        {
            var userId = User.Identity.GetUserId();
            var order  = db.Orders.Include(d => d.Address).FirstOrDefault(d => d.OrderId == id);

            order.EmployeeId  = userId;
            order.OrderStatus = OrderStatus.Accepted;
            db.SaveChanges();

            var orderDetails = new List <OrderDetails>();

            orderDetails = db.OrderDetails.Include(d => d.Product.Brand).Where(d => d.OrderId == id).ToList();

            var model = new ManageOrderViewModel()
            {
                Order        = order,
                OrderDetails = orderDetails
            };


            return(View(model));
        }
Esempio n. 8
0
        public async Task <IActionResult> Manage(int id)
        {
            var loggedUser = await _userManagerService.FindByNameAsync(User.Identity.Name);

            Order   order = _orderRepo.GetSingle(o => o.OrderId == id);
            Package pack  = _packRepo.GetSingle(p => p.PackageId == order.PackageId);

            if (order.DepartingDate < DateTime.Today)
            {
                order.IsActive = false;
            }

            if (order != null)
            {
                if (order.IsActive == true)
                {
                    ManageOrderViewModel vm = new ManageOrderViewModel
                    {
                        OrderId       = id,
                        Email         = order.Email,
                        Mobile        = order.Mobile,
                        DepartingDate = order.DepartingDate,
                        OrderDate     = order.OrderDate,
                        NumberOfAdult = order.NumberOfAdult,
                        IsActive      = order.IsActive,
                        Comment       = order.Comment,
                        Package       = pack
                    };
                    return(View(vm));
                }

                ViewBag.Message = "Cannot manage: this booking is expired/ cancelled.";
                return(RedirectToAction("Display", "Order", new { id = id }));
            }

            return(RedirectToAction("Display", "Order", new { id = id }));
        }