public CustomerPhoneNumberListModel GetPhoneNumberUploadDetails(CustomerPhoneNumberUpdateModelFilter filter, int pageNumber, int pageSize, out int totalRecords) { var phoneNumberUploads = _customerPhoneNumberUpdateUploadRepository.GetByFilter(pageNumber, pageSize, filter, out totalRecords); if (phoneNumberUploads == null || !phoneNumberUploads.Any()) { return(null); } var successFieldIds = phoneNumberUploads.Select(s => s.FileId).ToArray(); var failedFileIds = phoneNumberUploads.Where(x => x.LogFileId.HasValue).Select(x => x.LogFileId.Value).ToArray(); var totalFileIds = successFieldIds.Concat(failedFileIds); IEnumerable <FileModel> fileModels = null; if (!totalFileIds.IsNullOrEmpty()) { var files = _fileRepository.GetByIds(totalFileIds); if (files != null && files.Any()) { fileModels = GetFileModelFromFile(files, _mediaRepository.GetCustomerPhoneNumberUploadLocation()); } } var phoneNumberUploadedByIds = phoneNumberUploads.Select(x => x.UploadedByOrgRoleUserId).ToArray(); IEnumerable <OrderedPair <long, string> > uploadedbyAgentNameIdPair = null; if (!phoneNumberUploadedByIds.IsNullOrEmpty()) { uploadedbyAgentNameIdPair = _organizationRoleUserRepository.GetNameIdPairofUsers(phoneNumberUploadedByIds).ToArray(); } return(_customerPhoneNumberListModelFactory.Create(fileModels, phoneNumberUploads, uploadedbyAgentNameIdPair)); }
public ActionResult ManagePhoneNumber(CustomerPhoneNumberUpdateModelFilter filter = null, int pageNumber = 1) { try { int totalRecords; var model = _phoneNumberUploadService.GetPhoneNumberUploadDetails(filter, pageNumber, _pageSize, out totalRecords); if (model == null) { model = new CustomerPhoneNumberListModel(); } 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) { IoC.Resolve <ILogManager>().GetLogger <Global>().Error(ex.Message); IoC.Resolve <ILogManager>().GetLogger <Global>().Error("Phone Number Upload Manage: Stack Trace :" + ex.StackTrace); var model = new CustomerPhoneNumberListModel(); model.Filter = filter; return(View(model)); } }
public IEnumerable <CustomerPhoneNumberUpdateUpload> GetByFilter(int pageNumber, int pageSize, CustomerPhoneNumberUpdateModelFilter filter, out int totalRecords) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(adapter); if (filter == null) { var entities = linqMetaData.CustomerPhoneNumberUpdateUpload.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 <CustomerPhoneNumberUpdateUploadEntity>, IEnumerable <CustomerPhoneNumberUpdateUpload> >(entities)); } else { var query = from cpnuu in linqMetaData.CustomerPhoneNumberUpdateUpload where cpnuu.StatusId != (long)PhoneNumberUploadStatus.InvalidFileFormat select cpnuu; 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 <CustomerPhoneNumberUpdateUploadEntity>, IEnumerable <CustomerPhoneNumberUpdateUpload> >(entities)); } } }