Пример #1
0
		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;
		}
Пример #2
0
		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;
		}
Пример #3
0
		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;
		}
Пример #4
0
		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);
		}
Пример #5
0
		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;
		}