public async Task <bool> IsDuplicateEntryAsync(PrivilegeRequestViewModel pendingRequest) { var courseRequestExists = await _privilegeRepository.ExistsCourseRequestAsync(pendingRequest.CourseName, pendingRequest.CourseAddress); var courseExists = await _golfCourseRepository.ExistsGolfCourseEntryAsync(pendingRequest.CourseName, pendingRequest.CourseAddress); return(courseRequestExists || courseExists); }
public void ShouldSucceedBecauseValidGolfCourseAddressWasSupplied() { var validVm = new PrivilegeRequestViewModel { CourseName = "Elk Valley Golf Course", CoursePhoneNumber = "7771113333", CourseType = "Public", CourseAddress = "7085 Van Camp Rd", City = "Girard", StateCode = "PA", Zip = "16417" }; var result = _privilegeRequestHandlerService.ValidateGolfCourseAddress(validVm); Assert.AreEqual(true, result); }
public async Task MakeCoursePrivilegeRequestAsync(PrivilegeRequestViewModel privilegeRequestVm, string userId) { var concatenatedAddress = ConcatGolfCourseAddressInformation(privilegeRequestVm.CourseAddress, privilegeRequestVm.City, privilegeRequestVm.StateCode, privilegeRequestVm.Zip); var courseRequest = new PrivilegeRequest { GolfCourseName = privilegeRequestVm.CourseName, GolfCourseAddress = concatenatedAddress, Reason = privilegeRequestVm.Reason, CoursePhoneNumber = privilegeRequestVm.CoursePhoneNumber, GolfCourseType = privilegeRequestVm.CourseType, Verified = false, UserId = userId }; await _privilegeRepository.AddCourseRequestAsync(courseRequest); }
public async Task ShouldBeADuplicateEntry(bool existsRequestEntry, bool existsCourse, bool actual) { var validVm = new PrivilegeRequestViewModel { CourseName = "Elk Valley Golf Course", CoursePhoneNumber = "7771113333", CourseType = "Public", CourseAddress = "7085 Van Camp Rd", City = "Girard", StateCode = "PA", Zip = "16417" }; _mockGolfCourseRepository.Setup(gcr => gcr.ExistsGolfCourseEntryAsync(validVm.CourseName, validVm.CourseAddress)) .ReturnsAsync(existsRequestEntry); _mockPrivilegeRepository.Setup(pr => pr.ExistsCourseRequestAsync(validVm.CourseName, validVm.CourseAddress)) .ReturnsAsync(existsCourse); var result = await _privilegeRequestHandlerService.IsDuplicateEntryAsync(validVm); Assert.AreEqual(result, actual); }
public async Task <ActionResult> MakeRequest(PrivilegeRequestViewModel privilegeData) { if (Session["Username"] == null) { return(Json(false)); } var userId = _sessionMapperService.MapUserIdFromSessionUsername(Session["Username"].ToString()); if (await _privilegeRequestHandlerService.IsDuplicateEntryAsync(privilegeData)) { //course is duplicate entry return(Json(1)); } if (!_privilegeRequestHandlerService.ValidateGolfCourseAddress(privilegeData)) { //course address is not valid return(Json(2)); } await _privilegeRequestHandlerService.MakeCoursePrivilegeRequestAsync(privilegeData, userId); return(Json(3)); }
public bool ValidateGolfCourseAddress(PrivilegeRequestViewModel privilegeRequestVm) { var address = new Address { Address2 = privilegeRequestVm.CourseAddress, City = privilegeRequestVm.City, State = privilegeRequestVm.StateCode, Zip = privilegeRequestVm.Zip, }; var uspsManager = new USPSManager(_uspsUserId); try { var validatedAddress = uspsManager.ValidateAddress(address); } catch (USPSManagerException uspsManagerException) { return(false); } return(true); }