Example #1
0
		public AppraisersListViewModel GetAppraisersListViewModel(AppraiserFilter filter, string userEmail)
		{
			var result = new AppraisersListViewModel();
			var user = _userManagement.GetByEmail(userEmail);

			if ((user.PrimaryRole.RoleType == RoleType.AppraisalCompanyAdmin ||	user.PrimaryRole.RoleType == RoleType.CompanyAdminAndAppraiser))
			{
				var appraiserUser = _appraiserManagement.GetByEmail(userEmail);
				result.CanAddUsers = appraiserUser.Company.Status != AppraisalCompanyStatus.Inactive && appraiserUser.Company.Status != AppraisalCompanyStatus.Suspended;
				if (!filter.AppraisalCompanyId.HasValue)
				{
					filter.AppraisalCompanyId = appraiserUser.Company.Id;
				}
			}
		
			IPagedList<AppraiserUser> results = _appraiserManagement.GetAppraiserUsersListByFilter(filter);

			ApplySecurityRules(results, user);

			result.Users = results;
			result.PagedUsers = results;
			result.Filter = filter;

			return result;
		}
		public ActionResult Index(string companyName, int? companyId, AppraiserFilter filter = null)
		{
			if (filter == null)
			{
				filter = GetEmptyFilter();
			}

			if (!string.IsNullOrEmpty(companyName))
			{
				filter.AppraisalCompany = HttpUtility.UrlDecode(companyName);
			}
			if (companyId.HasValue)
				filter.AppraisalCompanyId = companyId.Value;

			AppraiserFilter applyFilter = TempData[AppraiserFilterKey] as AppraiserFilter;
			if (applyFilter != null)
			{
				filter.IsApply = applyFilter.IsApply;
				filter.UserName = applyFilter.UserName;
				filter.Email = applyFilter.Email;
				filter.AppraisalCompany = applyFilter.AppraisalCompany;
				filter.AppraisalCompanyId = applyFilter.AppraisalCompanyId;
				filter.State = applyFilter.State;
				filter.Roles = applyFilter.Roles;
				filter.Statuses = applyFilter.Statuses;

				if (!applyFilter.ItemsOnPage.HasValue)
				{
					applyFilter.ItemsOnPage = DefaultItemsOnPage;
				}
				if (!applyFilter.CurrentPage.HasValue)
				{
					applyFilter.CurrentPage = DefaultCurrentPage;
				}
			}

			var appraisersListViewModel = _appraisersPipelineService.GetAppraisersListViewModel(filter, User.Identity.Name);
			return View(appraisersListViewModel);
		}
		private AppraiserFilter GetEmptyFilter(int itemsOnPage = Constants.Paging.DefaultPageSize)
		{
			var filter = new AppraiserFilter()
			{
				CurrentPage = Constants.Paging.DefaultPageSize,
				ItemsOnPage = itemsOnPage,
			};
			return filter;
		}
		public ActionResult ApplyFilter(AppraiserFilter filter)
		{
			filter.IsApply = true;
			filter.CurrentPage = Constants.Paging.DefaultPageNumber;

			TempData[AppraiserFilterKey] = filter;
			return RedirectToAction(NameHelper.AppraisersPipeline.Index);
		}
Example #5
0
		public void SaveAppraisalCompanyBranches(int appraisalCompanyId, AppraisalCompanyBranchesViewModel appraisalCompanyBranches, out bool geocodingIsResolved)
		{
			geocodingIsResolved = false;
			_appraisalCompanyManagement.SaveAppraisalCompanyBranches(appraisalCompanyId, appraisalCompanyBranches);
			foreach (var branch in appraisalCompanyBranches.AppraisalCompanyBranchItems)
			{
				var filter = new AppraiserFilter() { AppraiserBranchId = SafeConvert.ToInt(branch.BranchId), ServiceAreaCenterPoint = (int)ServiceAreaCenterpoint.BranchAddress };
				geocodingIsResolved = ResolveGeocoding(
					filter,
					branch.AddressViewModel.Street,
					branch.AddressViewModel.City,
					branch.AddressViewModel.State,
					branch.AddressViewModel.ZIP);
			}
		}
Example #6
0
		private bool ResolveGeocoding(AppraiserFilter appraiserFilter, string street, string city, string state, string zip)
		{
			var geocodingAddress = new GeocodingArg(
				street,
				city,
				state,
				zip);

			var geocodingIsResolved = false;
			_geocodingDataService.ResolveData(geocodingAddress, (location, containResult) =>
			{
				if (containResult && !string.IsNullOrEmpty(location.County))
					geocodingIsResolved = true;

				var filter = appraiserFilter;
				var appraisers = _appraisalCompanyAdminManagement.GetAppraiserUsersListByFilter(filter);
				foreach (var appraiser in appraisers)
				{
					float longitude;
					if (float.TryParse(location.Longitude, out longitude))
					{
						appraiser.ServiceArea.Longitude = longitude;
					}
					float latitude;
					if (float.TryParse(location.Latitude, out latitude))
					{
						appraiser.ServiceArea.Latitude = latitude;
					}
					_appraisalCompanyAdminManagement.Update(appraiser);
				}
			}
			);
			return geocodingIsResolved;
		}