public ActionResult Index(ServerAvailableHourFilterViewModel filter, int page = 1) { var pagingInfo = new PagingInfo() { PageNumber = page }; var entities = Enumerable.Empty <ServerAvailableHour>(); if (TryValidateModel(filter)) { entities = _serverAvailableHourService.GetByDate(filter.Date.Value, pagingInfo); ViewBag.DisplayResults = true; } else { ViewBag.DisplayResults = false; } var viewmodel = new ServerAvailableHourListViewModel() { Filters = filter, Data = entities.ToMappedPagedList <ServerAvailableHour, ServerAvailableHourDetailsViewModel>(pagingInfo) }; return(View(viewmodel)); }
private void GenerateServerAvailableHoursTemplate(ExcelPackage excelPackage, IEnumerable <ServerTimeEntriesMonthlyReportEntity> reportData, int defaultAvailableHours, DateTime time) { var dataSheet = excelPackage.Workbook.Worksheets[1]; var index = 2; // starting index. var availableHours = _serverAvailableHourService.GetByDate(time); var groupByServer = reportData.GroupBy(t => new { t.ServerVendorId, t.ServerName, t.ServerId }); groupByServer.ForEachWithIndex((serverGroup, serverIndex) => { dataSheet.Cells["A" + index].Value = serverGroup.Key.ServerVendorId; dataSheet.Cells["B" + index].Value = serverGroup.Key.ServerName; dataSheet.Cells["C" + index].Value = time.ToMonthYear(); var existedAvailableHour = availableHours.FirstOrDefault(t => t.ServerId == serverGroup.Key.ServerId); if (existedAvailableHour != null) { dataSheet.Cells["D" + index].Value = existedAvailableHour.AvailableHours; } else { dataSheet.Cells["D" + index].Value = defaultAvailableHours; } index++; }); dataSheet.Name = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(time.Month) + " - " + time.Year; dataSheet.Cells.AutoFitColumns(); }