Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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);
        }