private RouteValueDictionary GetProspectCustomerAbandonedReport(ProspectCustomerListModelFilter filter) { var routeValueDictionary = new RouteValueDictionary { { "FromDate", filter.FromDate }, { "ToDate", filter.ToDate }, { "DateType", filter.DateType }, { "Source", filter.Source }, { "Tag", filter.Tag }, { "Miles", filter.Miles }, { "Zipcode", filter.Zipcode }, { "PhoneNumber", filter.PhoneNumber }, { "StateId", filter.StateId }, { "City", filter.City }, { "CorporateTag", filter.CorporateTag }, { "AgentOrganizationId", filter.AgentOrganizationId } }; if (!filter.CustomTags.IsNullOrEmpty()) { var index = 0; foreach (var customtag in filter.CustomTags) { routeValueDictionary.Add(string.Format("CustomTags[{0}]", index), customtag); index++; } } return(routeValueDictionary); }
public ActionResult ProspectCustomerAbandonedReport(int pageNumber = 1, ProspectCustomerListModelFilter filter = null) { var filterValidator = IoC.Resolve <ProspectCustomerListModelFilterValidator>(); var result = filterValidator.Validate(filter); if (result.IsValid) { if (_sessionContext.UserSession.CurrentOrganizationRole.GetSystemRoleId == (long)Roles.CallCenterRep) { filter.AgentOrganizationId = _sessionContext.UserSession.CurrentOrganizationRole.OrganizationId; } int totalRecords; var model = _prospectCustomerService.GetAbandonedCustomers(pageNumber, _pageSize, filter, out totalRecords); if (model == null) { model = new ProspectCustomerListModel(); } model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); //Func<int, string> urlFunc = pn => Url.Action(currentAction, new // { // pageNumber = pn, // filter.FromDate, // filter.ToDate, // filter.DateType, // filter.Source, // filter.Tag, // filter.Miles, // filter.Zipcode, // filter.PhoneNumber, // filter.StateId, // filter.City, // filter.CorporateTag, // CustomTags = filter.CustomTags.IsNullOrEmpty() ? "" : string.Join("&CustomTags=", filter.CustomTags) // }); var routeValueDictionary = GetProspectCustomerAbandonedReport(filter); Func <int, string> urlFunc = pn => Url.Action(currentAction, AddRouteValueDictionary(routeValueDictionary, pn)); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); } var propertyNames = result.Errors.Select(e => e.PropertyName).Distinct(); var htmlString = propertyNames.Aggregate("", (current, property) => current + (result.Errors.Where(e => e.PropertyName == property).FirstOrDefault().ErrorMessage + "<br />")); return(View(new ProspectCustomerListModel { Filter = filter, FeedbackMessage = FeedbackMessageModel.CreateFailureMessage(htmlString) })); }
public void ProspectCustomerAbandonedReportAsync(string id = null, ProspectCustomerListModelFilter filter = null) { if (id == null) { return; } AsyncManager.OutstandingOperations.Increment(); var dataGen = new ExportableDataGenerator <ProspectCustomerBasicInfoModel, ProspectCustomerListModelFilter>( _prospectCustomerService.GetAbandonedCustomers); var processmanager = new ExportableDataGeneratorProcessManager <ProspectCustomerBasicInfoModel, ProspectCustomerListModelFilter>(); processmanager.Add(id, dataGen); GetNewProcessStarted(filter, dataGen, id); }