public ActionResult ServiceArea(AppraiserUserServiceAreaViewModel serviceAreaModel, NotRequiredAddressViewModel serviceAreaAddress, string nextStep, int? userId = null) { if (serviceAreaModel.EditUserId == 0) { serviceAreaModel.EditUserId = userId.HasValue ? userId.Value : 0; } if (serviceAreaModel.ServiceAreaCenterpoint == 0) { return RedirectToStep(nextStep, serviceAreaModel.EditUserId, serviceAreaModel.IsOwnPage); } if (ModelState.IsValid) { if (serviceAreaAddress != null) { serviceAreaModel.ServiceAreaAddress = serviceAreaAddress; } serviceAreaModel.IsAddressReadOnly = SafeConvert.ToBool(Session[SiteConstants.SessionConstants.AppraiserServiceAreaIsReadonly]) ?? true; var validateAddress = _appraiserUserService.GetGeocodingAddress(serviceAreaModel, SecurityContext.CurrentUser.Email); var validateAddressArg = new ValidateAddressArg { City = validateAddress.City, State = validateAddress.State, Street = validateAddress.Street, ZIP = validateAddress.ZIP }; var geocodingValidationResult = _geocodingValidation.ValidateAddress(validateAddressArg); if (!geocodingValidationResult.IsValid) { ViewBag.GeocodingErrorMessage = Constants.ErrorMessages.GeocodingVerificationError; return GetServiceAreaView(serviceAreaModel, serviceAreaModel.EditUserId); } _appraiserUserService.SaveAppraiserServiceArea(serviceAreaModel, User.Identity.Name); CommitProviderInstance.Commit(); return RedirectToStep(nextStep, serviceAreaModel.EditUserId, serviceAreaModel.IsOwnPage); } TempData[_appraiserServiceAreaKey] = serviceAreaModel; return RedirectToStep(NameHelper.AppraiserProfile.ServiceArea, serviceAreaModel.EditUserId, serviceAreaModel.IsOwnPage); }
private ActionResult GetServiceAreaView(AppraiserUserServiceAreaViewModel serviceAreaViewModel, int? userId) { ViewBag.Header = serviceAreaViewModel.SectionTitle; ViewBag.IsOwnPage = serviceAreaViewModel.IsOwnPage; ViewBag.CurrentStep = NameHelper.AppraiserProfile.ServiceArea; return View(NameHelper.AppraiserProfile.ServiceArea, GetViewModel(serviceAreaViewModel, userId)); }
public void AppraiserWizard_ServiceArea_valid_model_post_should_redirect_to_software_without_model_and_populate_tempdata_if_nextstep_is_not_specified() { var model = new AppraiserUserServiceAreaViewModel(); var actionResult = Target.ServiceArea(model, new NotRequiredAddressViewModel(), null); Target.TempData.Should().HaveCount(1); Target.TempData["SaveDraft"].Should().Be(true); actionResult.Should().NotBeNull().And.BeOfType<RedirectToRouteResult>(); ((RedirectToRouteResult)actionResult).RouteValues.Should().HaveCount(1); ((RedirectToRouteResult)actionResult).RouteValues["action"].Should().Be("ServiceArea"); }
public void AppraiserWizard_ServiceArea_invalid_model_post_should_redirect_to_service_area_with_model() { Target.ModelState.AddModelError("test error", "test error"); var model = new AppraiserUserServiceAreaViewModel(); var actionResult = Target.ServiceArea(model, null, null); Target.TempData.Should().HaveCount(1); actionResult.Should().NotBeNull().And.BeOfType<RedirectToRouteResult>(); ((RedirectToRouteResult)actionResult).RouteValues.Should().HaveCount(1); ((RedirectToRouteResult)actionResult).RouteValues["action"].Should().Be("ServiceArea"); }
private ActionResult GetServiceAreaView(AppraiserUserServiceAreaViewModel model) { ViewBag.CurrentStep = (int)TabIndex.ServiceArea; return View(NameHelper.AppraiserWizard.ServiceArea, GetWrappedViewModel(model)); }
public ActionResult ServiceArea(AppraiserUserServiceAreaViewModel serviceAreaModel, NotRequiredAddressViewModel serviceAreaAddress, int? nextStep, bool? isNextBanking = false, bool? isSubmit = null) { if ((nextStep ?? (int)TabIndex.ServiceArea) <= (int)TabIndex.ServiceArea || ModelState.IsValid) { if (serviceAreaAddress != null) { serviceAreaModel.ServiceAreaAddress = serviceAreaAddress; } if ((nextStep ?? (int)TabIndex.ServiceArea) == (int)TabIndex.Banking) { serviceAreaModel.IsAddressReadOnly = SafeConvert.ToBool(Session[SiteConstants.SessionConstants.AppraiserServiceAreaIsReadonly]) ?? true; var validateAddress = _appraiserUserService.GetGeocodingAddress(serviceAreaModel, SecurityContext.CurrentUser.Email); var validateAddressArg = new ValidateAddressArg { City = validateAddress.City, State = validateAddress.State, Street = validateAddress.Street, ZIP = validateAddress.ZIP }; var geocodingValidationResult = _geocodingValidation.ValidateAddress(validateAddressArg); if (!geocodingValidationResult.IsValid) { ViewBag.GeocodingErrorMessage = Constants.ErrorMessages.GeocodingVerificationError; return GetServiceAreaView(serviceAreaModel); } _appraiserUserService.SaveAppraiserServiceArea(serviceAreaModel, User.Identity.Name); SaveLastCompletedStep(TabIndex.ServiceArea, nextStep); CommitProviderInstance.Commit(); } if (isNextBanking ?? false) { TempData["ShowPrebankingPopup"] = true; ViewBag.PreBankingAction = NameHelper.AppraiserWizard.Banking; ViewBag.PreBankingController = NameHelper.AppraiserWizard.Controller; //adding test order for current appraiser var order = _testOrderManager.CreateTestOrderForCurrentAppraiser(); CommitProviderInstance.Commit(); if (order != null) { _taskManager.GenerateLOEDocument(order.Id, base.SecurityContext.CurrentUser.Id); } return RedirectToStep(TabIndex.ServiceArea); } if (isSubmit ?? false) { TempData["ShowProceedPopup"] = true; TempData[_appraiserServiceAreaKey] = serviceAreaModel; } else if (!nextStep.HasValue || nextStep.Value == (int)TabIndex.ServiceArea) { TempData["SaveDraft"] = true; } CommitProviderInstance.Commit(); return RedirectToStep(SafeConvert.ToEnum<TabIndex>(nextStep) ?? TabIndex.ServiceArea); } TempData[_appraiserServiceAreaKey] = serviceAreaModel; return RedirectToStep(TabIndex.ServiceArea); }