示例#1
0
        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));
        }
示例#2
0
        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();
        }