Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
                }
            }
        }