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