// GET: /<controller>/ public async Task <IActionResult> Dashboard() { ViewModelDashboard Listing = new ViewModelDashboard(); Listing.EmployeesModel = await _databaseContext.AllEmployees.ToListAsync(); Listing.RequisitionsModel = await _databaseContext.AllRequisitions.ToListAsync(); return(View(Listing)); }
public IActionResult Dashboard() { if (HttpContext.Session.GetInt32("Id") == null) { return(RedirectToAction("Index")); } else { ViewModelDashboard view = new ViewModelDashboard() { users = new Users(), weddings = new Wed(), guests = new HasGuests() }; List <Wed> allWeddings = _context.Weddings.ToList(); ViewBag.Weddings = allWeddings; ViewBag.CurrentUser = _context.Users .SingleOrDefault(u => u.Id == HttpContext.Session.GetInt32("Id")); return(View(view)); } }
// GET: Admin/Home public ActionResult Index() { var previousMonth = DateTime.Now.AddMonths(-1).Month; var previousYear = DateTime.Now.AddMonths(-1).Year; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var today = DateTime.Now.Date; var previous = DateTime.Now.AddDays(-1).Date; var orderPrevious = _orderService.FindAll(o => o.CreatedAt.Value.Month.Equals(previousMonth) & o.CreatedAt.Value.Year.Equals(previousYear)).ToList(); var orderMonth = _orderService.FindAll(o => o.CreatedAt.Value.Month.Equals(month) & o.CreatedAt.Value.Year.Equals(year) & o.Status == OrderStatus.Received).ToList(); int imageOfDay = orderMonth.Where(o => o.CreatedAt.Value.Date == today).Sum(od => od.OrderDetails.Sum(o => o.Quantity.Value)); int imageOfMonth = orderMonth.Sum(od => od.OrderDetails.Sum(o => o.Quantity.Value)); int imageOfDayPrevious = orderMonth.Where(o => o.CreatedAt.Value.Date == previous).Sum(od => od.OrderDetails.Sum(o => o.Quantity.Value)); int imageOfMonthPrevious = orderPrevious.Sum(od => od.OrderDetails.Sum(o => o.Quantity.Value)); double percentImageOfDay = 0; decimal totalMonth = orderMonth.Sum(o => o.OrderDetails.Sum(od => od.Quantity * (od.Material.Price + od.Product.ProductPrice))).Value; decimal totalPrevious = orderPrevious.Sum(o => o.OrderDetails.Sum(od => od.Quantity * (od.Material.Price + od.Product.ProductPrice))).Value; double percentTotal = 0; double percentOrder = 0; if (orderPrevious.Count > 0) { percentOrder = Math.Round((double)(((double)orderMonth.Count - (double)orderPrevious.Count) / (double)(orderPrevious.Count) * 100), 2); } else { percentOrder = (double)(((double)orderMonth.Count - (double)orderPrevious.Count) * 100); } if (totalPrevious > 0) { double percent = (Decimal.ToDouble(totalMonth) - Decimal.ToDouble(totalPrevious)) / Decimal.ToDouble(totalPrevious); percentTotal = Math.Round(percent, 2) * 100; } else { percentTotal = Math.Round((Decimal.ToDouble(totalMonth) - Decimal.ToDouble(totalPrevious)) * 100, 2); } if (imageOfDayPrevious > 0) { percentImageOfDay = Math.Round(((double)imageOfDay - (double)imageOfDayPrevious) / (double)imageOfDayPrevious * 100, 2); } else { percentImageOfDay = Math.Round(((double)imageOfDay - (double)imageOfDayPrevious) * 100, 2); } //Percent Day double percentImageOfMonth = 0; if (imageOfMonthPrevious > 0) { percentImageOfMonth = Math.Round(((double)imageOfMonth - (double)imageOfMonthPrevious) / (double)imageOfMonthPrevious * 100, 2); } else { percentImageOfMonth = Math.Round(((double)imageOfMonth - (double)imageOfMonthPrevious) * 100, 2); } ViewModelDashboard viewModel = new ViewModelDashboard() { OrderCount = orderMonth.Count, PreviousOrder = orderPrevious.Count, Total = orderMonth.Sum(o => o.OrderDetails.Sum(od => od.Quantity * (od.Product.ProductPrice + od.Material.Price.Value))).Value, TotalPrevious = orderPrevious.Sum(o => o.OrderDetails.Sum(od => od.Quantity * (od.Product.ProductPrice + od.Material.Price.Value))).Value, ImageOfDay = imageOfDay, ImageOfMonth = imageOfMonth, PercentImageOfDay = percentImageOfDay, PercentImageOfMonth = percentImageOfMonth, PercentTotal = percentTotal, PercentOrder = percentOrder }; return(View(viewModel)); }