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); }
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); } }
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; }