Ejemplo n.º 1
0
        public IActionResult Profile()
        {
            Admin loggedUser = null;

            try
            {
                loggedUser = adminService.GetAdminById(HttpContext.Session.GetInt32("AdminId").Value);
                ViewBag.LoggedUserFullName = $"{loggedUser.FirstName} {loggedUser.LastName}";
                ViewBag.LoggedUserPicture  = loggedUser.PicturePath;
            }
            catch (Exception)
            {
                return(RedirectToAction("Login", "Account"));
            }

            var deliveryMen        = deliveryManService.GetAllDeliveryMen();
            var allClients         = clientService.GetAllClients();
            var allDeliveredOrders = orderService.GetAllDeliveredOrders();

            ProfileViewModel avm = new ProfileViewModel
            {
                Admin             = loggedUser,
                NbClients         = allClients.Count(),
                NbDeliveredOrders = allDeliveredOrders.Count(),
                DeliveryMen       = deliveryMen
            };

            ViewData["IsActive"] = "true";
            return(View(avm));
        }
Ejemplo n.º 2
0
        public IActionResult PendingOrders()
        {
            try
            {
                var loggedUser = adminService.GetAdminById(HttpContext.Session.GetInt32("AdminId").Value);
                ViewBag.LoggedUserFullName = $"{loggedUser.FirstName} {loggedUser.LastName}";
                ViewBag.LoggedUserPicture  = loggedUser.PicturePath;
            }
            catch (Exception)
            {
                return(RedirectToAction("Login", "Account"));
            }

            var pendingOrders    = orderService.GetAllPendingOrders();
            var pendingOrdersDto = new List <PendingOrderDto>();

            foreach (var order in pendingOrders)
            {
                var client = clientService.GetClientById(order.IdClient);
                pendingOrdersDto.Add(new PendingOrderDto {
                    PendingOrder = order, Client = client
                });
            }

            var deliveryMen = deliveryManService.GetAllDeliveryMen();

            var pendingOrdersViewModel = new PendingOrdersViewModel
            {
                PendingOrders  = pendingOrdersDto,
                AllDeliveryMen = deliveryMen
            };

            return(View(pendingOrdersViewModel));
        }
Ejemplo n.º 3
0
        public IActionResult AllDeliveryMen()
        {
            try
            {
                var loggedUser = adminService.GetAdminById(HttpContext.Session.GetInt32("AdminId").Value);
                ViewBag.LoggedUserFullName = $"{loggedUser.FirstName} {loggedUser.LastName}";
                ViewBag.LoggedUserPicture  = loggedUser.PicturePath;
            }
            catch (Exception)
            {
                return(RedirectToAction("Login", "Account"));
            }
            var allDeliveryMen = deliveryManService.GetAllDeliveryMen();
            DeliveryMenViewModel deliveryMenViewModel = new DeliveryMenViewModel
            {
                AllDeliveryMen = allDeliveryMen
            };

            return(View(deliveryMenViewModel));
        }
Ejemplo n.º 4
0
        public IActionResult Index()
        {
            try
            {
                var loggedUser = adminService.GetAdminById(HttpContext.Session.GetInt32("AdminId").Value);
                ViewBag.LoggedUserFullName = $"{loggedUser.FirstName} {loggedUser.LastName}";
                ViewBag.LoggedUserPicture  = loggedUser.PicturePath;
            }
            catch (Exception)
            {
                return(RedirectToAction("Login", "Account"));
            }

            var nbPendingOrders  = orderService.GetAllPendingOrders().Count();
            var deliveredOrders  = orderService.GetAllDeliveredOrders();
            var nbClients        = clientService.GetAllClients().Count();
            var nbNewDeliveryMen = deliveryManService.GetNotValidatedDeliveryMen().Count();

            var allDeliveryMen   = deliveryManService.GetAllDeliveryMen();
            var ratedDeliveryMen = new List <RatedDeliveryManDto>();
            var deliveredOrdersPerDeliveryMan = new List <DeliveredOrdersPerDeliveryManDto>();

            foreach (var man in allDeliveryMen)
            {
                var ratingOverall = ratingService.GetDeliveryManRatingOverall(man.Id);
                if (ratingOverall != 0)
                {
                    ratedDeliveryMen.Add(new RatedDeliveryManDto
                    {
                        FirstName     = man.FirstName,
                        LastName      = man.LastName,
                        RatingOverall = ratingOverall
                    });
                }

                var infos = deliveryInfoService.GetDeliveryManOrderHistory(man.Id);
                if (infos.Count() != 0)
                {
                    var nbDeliveredOrders = 0;
                    foreach (var info in infos)
                    {
                        var order = orderService.GetOrderById(info.IdOrder);
                        if (order.Status == Models.Data.EnumOrderStatus.Delivered)
                        {
                            nbDeliveredOrders++;
                        }
                    }
                    var deliveryMan = new DeliveredOrdersPerDeliveryManDto
                    {
                        FirstName         = man.FirstName,
                        LastName          = man.LastName,
                        NbDeliveredOrders = nbDeliveredOrders
                    };
                    deliveredOrdersPerDeliveryMan.Add(deliveryMan);
                }
            }


            var dashboardViewModel = new DashboardViewModel
            {
                NbPendingOrders  = nbPendingOrders,
                NbClients        = nbClients,
                DeliveredOrders  = deliveredOrders,
                NbNewDeliveryMen = nbNewDeliveryMen,
                RatedDeliveryMen = ratedDeliveryMen,
                DeliveredOrdersPerDeliveryMan = deliveredOrdersPerDeliveryMan
            };



            return(View(dashboardViewModel));
        }