Esempio n. 1
0
        public async Task <ActionResult <RequestResourceOut> > CreateWpRequestAsync([FromBody] RequestResourceIn requestResource, [FromHeader] bool previewOnly, [FromHeader] string email, [FromHeader] string token)
        {
            var msg = ValidateVerificationPlatformLogin(requestResource, email, token);

            if (!string.IsNullOrWhiteSpace(msg))
            {
                return(BadRequest(new ErrorResource(msg)));
            }
            return(await CreateRequestAsync(requestResource, "MOI-WP", previewOnly));
        }
        public void ShouldHaveError_WhenMotherFullNameExceedsMaxLength()
        {
            //Arrange
            var requesterValidator  = new RequestResourceInValidator();
            var requesterResourceIn = new RequestResourceIn
            {
                MotherFullName = StringExtensions.RandomString(51)
            };

            //Act
            //Assert
            requesterValidator.ShouldHaveValidationErrorFor(a => a.MotherFullName, requesterResourceIn);
        }
        public void ShouldHaveError_WhenAnyPropertyIsNull()
        {
            //Arrange
            var requesterValidator  = new RequestResourceInValidator();
            var requesterResourceIn = new RequestResourceIn();

            //Act
            //Assert
            requesterValidator.ShouldHaveValidationErrorFor(a => a.GenderId, requesterResourceIn);
            requesterValidator.ShouldHaveValidationErrorFor(a => a.Name, requesterResourceIn);
            requesterValidator.ShouldHaveValidationErrorFor(a => a.MotherFullName, requesterResourceIn);
            requesterValidator.ShouldHaveValidationErrorFor(a => a.ContactDetails, requesterResourceIn);
            requesterValidator.ShouldHaveValidationErrorFor(a => a.ResidencyAddress, requesterResourceIn);
            requesterValidator.ShouldHaveValidationErrorFor(a => a.DeliveryAddress, requesterResourceIn);
        }
Esempio n. 4
0
        private async Task <ActionResult <RequestResourceOut> > CreateRequestAsync(RequestResourceIn requestResource, string issuerCode, bool previewOnly = false)
        {
            //if (!ModelState.IsValid)
            //    return BadRequest(ModelState.GetErrorMessages());

            var request = _mapper.Map <RequestResourceIn, Request>(requestResource);

            var result = await _requestService.CreateRequestAsync(request, issuerCode, previewOnly);

            if (!result.Success)
            {
                return(BadRequest(new ErrorResource(result.Message)));
            }

            var savedRequest = _mapper.Map <Request, RequestResourceOut>(result.Request);

            return(Ok(savedRequest));
        }
Esempio n. 5
0
        private string ValidateVerificationPlatformLogin(RequestResourceIn requestResource, string email, [FromHeader] string token)
        {
            //var verificationModel = new TokenVerification(_serviceProvider.GetService<IOptions<AppConfigs>>(), _serviceProvider.GetService<ILoggerFactory>())
            //    .ValidateLogin(email, token);
            var verificationModel = _tokenVerification.ValidateLogin(email, token);

            if (verificationModel == null)
            {
                return("Not authorized to create requests.");
            }
            if (requestResource.NID == null || requestResource.NID.NationalIdenNumber != verificationModel.NID)
            {
                return("Not the same NID as the logged in citizen.");
            }
            if (requestResource.Name == null)
            {
                requestResource.Name = new RequesterNameResource();
            }
            if (requestResource.ContactDetails == null)
            {
                requestResource.ContactDetails = new ContactDetailsResource();
            }
            if (requestResource.NID == null)
            {
                requestResource.NID = new NIDResource();
            }
            requestResource.Name.FirstName         = verificationModel.FullName;
            requestResource.Name.FatherName        = "...";
            requestResource.Name.GrandFatherName   = "...";
            requestResource.Name.FamilyName        = "...";
            requestResource.MotherFullName         = verificationModel.MotherFirstName;
            requestResource.NID.NationalIdenNumber = verificationModel.NID;
            requestResource.ContactDetails.Mobile1 = verificationModel.Mobile;
            requestResource.ContactDetails.Email   = verificationModel.Email;
            return(string.Empty);
        }