public StaffEventScheduleUploadListModel Create(IEnumerable <FileModel> fileModels, IEnumerable <StaffEventScheduleUpload> staffEventScheduleUpload, IEnumerable <OrderedPair <long, string> > uploadedbyAgentNameIdPair) { var model = new StaffEventScheduleUploadListModel(); var collection = new List <StaffEventScheduleUploadViewModel>(); staffEventScheduleUpload.ToList().ForEach(eu => { var agentName = "N/A"; if (uploadedbyAgentNameIdPair != null && uploadedbyAgentNameIdPair.Any()) { agentName = uploadedbyAgentNameIdPair.Single(ap => ap.FirstValue == eu.UploadedByOrgRoleUserId).SecondValue; } var successFile = (from f in fileModels where f.Id == eu.FileId select f).Single(); FileModel failedFile = null; if (eu.LogFileId.HasValue) { failedFile = (from f in fileModels where f.Id == eu.LogFileId select f).Single(); } var eligibilityUploadViewModel = new StaffEventScheduleUploadViewModel { File = successFile, SuccessfullCustomer = eu.SuccessUploadCount, FailedCustomer = eu.FailedUploadCount, UploadTime = eu.UploadTime, FailedFile = failedFile, Status = ((StaffEventScheduleParseStatus)eu.StatusId).GetDescription(), UploadedBy = agentName, }; collection.Add(eligibilityUploadViewModel); }); model.Collection = collection; return(model); }
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)); } }