public IPagedList<AppraisalCompanyDetail> GetAppraisalCompaniesListByFilter(AppraisalCompanyFilter filter) { if (filter == null) throw new ArgumentNullException(); Expression<Func<AppraisalCompanyDetail, bool>> where = PredicateBuilder.True<AppraisalCompanyDetail>(); if (!string.IsNullOrEmpty(filter.CompanyName)) { if (filter.IsExactNameMatch) { where = where.AndAlso<AppraisalCompanyDetail>( x => x.CompanyName.Equals(filter.CompanyName.Trim(), StringComparison.InvariantCultureIgnoreCase)); } else { where = where.AndAlso<AppraisalCompanyDetail>(x => x.CompanyName.Contains(filter.CompanyName.Trim())); } } if (!string.IsNullOrEmpty(filter.CompanyId)) where = where.AndAlso<AppraisalCompanyDetail>(x => x.CompanyId.Contains(filter.CompanyId)); if (!string.IsNullOrEmpty(filter.LocationState)) { var states = _refManager.GetStatesBySubstring(filter.LocationState.Trim()); where = where.AndAlso<AppraisalCompanyDetail>(x => states.Contains(x.Contact.PhysicalAddress.State)); } if (!string.IsNullOrEmpty(filter.City)) where = where.AndAlso<AppraisalCompanyDetail>(x => x.Contact.PhysicalAddress.City.Contains(filter.City.Trim())); if (filter.Statuses != null) { var statuses = filter.Statuses.Select(s => s.ToString()); where = where.AndAlso<AppraisalCompanyDetail>(x => statuses.Contains(x.StatusId)); } Func<IQueryable<AppraisalCompanyDetail>, IOrderedQueryable<AppraisalCompanyDetail>> orderBy = null; if (!string.IsNullOrEmpty(filter.NameOfSortColumn)) { if (filter.IsAscending) { switch (filter.NameOfSortColumn) { case "CompanyName": orderBy = i => i.OrderBy(x => x.CompanyName); break; case "Status": orderBy = i => i.OrderBy(x => x.StatusId); break; default: throw new NotSupportedException("Unknow Column Name"); } } else { switch (filter.NameOfSortColumn) { case "CompanyName": orderBy = i => i.OrderByDescending(x => x.CompanyName); break; case "Status": orderBy = i => i.OrderByDescending(x => x.StatusId); break; default: throw new NotSupportedException("Unknow Column Name"); } } } var results = _appraisalCompanyRepository.GetPaged(where, orderBy, filter.ItemsOnPage ?? 10, filter.CurrentPage ?? 1); filter.PagesTotal = results.PageCount; return results; }
public AppraisalCompanyDuplicatesResultsViewModel CompanyDuplicatesSearchResult(string companyName, string locationState = null) { AppraisalCompanyFilter filter = new AppraisalCompanyFilter { CompanyName = companyName, LocationState = locationState, ItemsOnPage = int.MaxValue }; AppraisalCompanyDuplicatesResultsViewModel result = new AppraisalCompanyDuplicatesResultsViewModel(); var searchingResult = _appraisalCompanyManagement.GetAppraisalCompaniesListByFilter(filter); foreach (var item in searchingResult) { Address address = item.Contact != null ? item.Contact.PhysicalAddress : null; result.listOfDuplicates.Add(new AppraisalCompanyDuplicatesResultsViewModel.CompanyDuplicates (){ CompanyName = item.CompanyName, LocationState= address != null ? address.State : string.Empty, Status = item.Status.ToString(), FullAddress = address != null ? string.Format("{0}, {1}, {2}, {3}", address.Street, address.City, address.State, address.ZIP) : string.Empty, }); } return result; }
public AppraisalCompanyPipelineViewModel GetAppraisalCompaniesListByFilter(AppraisalCompanyFilter filter) { var appraisalCompanies = _appraisalCompanyManagement.GetAppraisalCompaniesListByFilter(filter); var model = new AppraisalCompanyPipelineViewModel(); if (appraisalCompanies != null) { foreach (var item in appraisalCompanies) { var companyModel = new AppraisalCompanyPipelineDetailsViewModel(); companyModel.Id = item.Id; companyModel.CompanyId = item.CompanyId; companyModel.CompanyName = item.CompanyName; companyModel.Status = item.Status; if (item.Contact != null) companyModel.CompanyAddress = _addressManager.GetAddressViewModel<AddressViewModel>(item.Contact.PhysicalAddress); model.AppraisalCompanies.Add(companyModel); } } model.Filter = filter; return model; }
public string GetCompaniesByNamePart(string part) { AppraisalCompanyFilter filter = new AppraisalCompanyFilter(); filter.CompanyName = part; filter.Statuses = new[] { AppraisalCompanyStatus.Applied, AppraisalCompanyStatus.Active }; var cmp = _companyService.GetAppraisalCompanyContact(1); var companies = _companyService.GetAppraisalCompaniesListByFilter(filter).AppraisalCompanies.Select(e => { var companyState = _companyService.GetAppraisalCompanyContact(e.Id).PhysicalAddress.State; var fullCompanyName = e.CompanyName; return new { id = e.Id, value = fullCompanyName, name = e.CompanyName }; } ); JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Serialize(companies); }
public JsonResult CheckCompanyName([CompanyNameCustomBinder]string companyName) { try { if (String.IsNullOrWhiteSpace(companyName)) { return Json("Required.", JsonRequestBehavior.AllowGet); } companyName = companyName.Trim(); AppraisalCompanyFilter filter = new AppraisalCompanyFilter(); filter.CompanyName = companyName; filter.IsExactNameMatch = true; filter.Statuses = new[] { AppraisalCompanyStatus.Applied, AppraisalCompanyStatus.Active }; var companies = _companyService.GetAppraisalCompaniesListByFilter(filter); bool isExists = companies != null && companies.AppraisalCompanies.Any(); return isExists ? Json(true, JsonRequestBehavior.AllowGet) : Json("Specified company name doesn’t exist in the system. Please, check and try again.", JsonRequestBehavior.AllowGet); } catch (Exception ex) { ex.Data.Add(Constants.AjaxErrorType.RemoteAttributeValidationError, null); throw; } }
private AppraisalCompanyFilter GetEmptyFilter(int itemsOnPage = DefaultItemsOnPage) { var filter = new AppraisalCompanyFilter() { CurrentPage = DefaultCurrentPage, ItemsOnPage = itemsOnPage, }; return filter; }