public ActionResult ScheduleUploadDetails(StaffEventScheduleUploadModelFilter filter = null, int pageNumber = 1) { try { int totalRecords; var model = _eventStaffAssignmentService.GetStaffEventScheduleUploadDetails(pageNumber, _pageSize, filter, out totalRecords) ?? new StaffEventScheduleUploadListModel(); model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.FromUploadDate, filter.ToUploadDate, filter.UploadedBy }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); } catch (Exception ex) { _logger.Error(string.Format("Staff Event Schedule Upload Details\nException occurred")); _logger.Error(string.Format("Exception message: {0}\n\tStackTrace:{1}", ex.Message, ex.StackTrace)); var model = new StaffEventScheduleUploadListModel { Filter = filter }; return(View(model)); } }
public StaffEventScheduleUploadListModel GetStaffEventScheduleUploadDetails(int pageNumber, int pageSize, StaffEventScheduleUploadModelFilter filter, out int totalRecords) { var staffEventUploads = (IReadOnlyCollection <StaffEventScheduleUpload>)_staffEventScheduleUploadRepository.GetByFilter(pageNumber, pageSize, filter, out totalRecords); if (staffEventUploads == null || !staffEventUploads.Any()) { return(null); } var successfileIds = staffEventUploads.Select(s => s.FileId).ToArray(); var failedfileIds = staffEventUploads.Where(x => x.LogFileId.HasValue).Select(s => s.LogFileId.Value).ToArray(); var fileIds = successfileIds.Concat(failedfileIds).ToArray(); IEnumerable <FileModel> fileModels = null; if (fileIds != null && fileIds.Any()) { var files = _fileRepository.GetByIds(fileIds); if (files != null && files.Any()) { fileModels = GetFileModelFromFile(files, _mediaRepository.GetStaffScheduleUploadMediaFileLocation()); } } var eligibilityUploadByIds = staffEventUploads.Select(c => c.UploadedByOrgRoleUserId).ToArray(); IEnumerable <OrderedPair <long, string> > uploadedbyNameIdPair = null; uploadedbyNameIdPair = _organizationRoleUserRepository.GetNameIdPairofUsers(eligibilityUploadByIds).ToArray(); return(_staffEventScheduleUploadListModelFactory.Create(fileModels, staffEventUploads, uploadedbyNameIdPair)); }
public IEnumerable <StaffEventScheduleUpload> GetByFilter(int pageNumber, int pageSize, StaffEventScheduleUploadModelFilter filter, out int totalRecords) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(adapter); if (filter == null) { var entities = linqMetaData.StaffEventScheduleUpload.OrderByDescending(x => x.UploadTime) .Where(x => x.StatusId != (long)PhoneNumberUploadStatus.InvalidFileFormat) .TakePage(pageNumber, pageSize) .Select(x => x) .ToArray(); totalRecords = entities.Count(); return(Mapper.Map <IEnumerable <StaffEventScheduleUploadEntity>, IEnumerable <StaffEventScheduleUpload> >(entities)); } else { var query = from sesu in linqMetaData.StaffEventScheduleUpload where sesu.StatusId != (long)StaffEventScheduleParseStatus.InvalidFileFormat select sesu; if (filter.FromUploadDate != null) { query = (from c in query where c.UploadTime.Date >= filter.FromUploadDate.Value.Date select c); } if (filter.ToUploadDate != null) { query = (from c in query where c.UploadTime.Date <= filter.ToUploadDate.Value.Date select c); } if (filter.UploadedBy != null && filter.UploadedBy > 0) { query = (from c in query where c.UploadedByOrgRoleUserId == filter.UploadedBy select c); } totalRecords = query.Count(); var entities = query.OrderByDescending(p => p.UploadTime).TakePage(pageNumber, pageSize).Select(x => x).ToArray(); return(Mapper.Map <IEnumerable <StaffEventScheduleUploadEntity>, IEnumerable <StaffEventScheduleUpload> >(entities)); } } }