public async Task <IActionResult> Create([FromBody] RegisterApplicationDto registerApplicationDto) { var command = mapper.Map <CreateApplicationCommand>(registerApplicationDto); command.RegistrationUser = _userId; await applicationService.CreateApplicationAsync(command); return(Created($"/api/applications/{command.ApplicationId}", new EntityCreatedDto { Id = command.ApplicationId })); }
public async Task <IDataResult <RegisterApplicationDto> > HandleDeserializationFromForm(HttpRequest request, CancellationToken cancellationToken) { var formData = await request.ReadFormAsync(cancellationToken); var candidateDeserializationResult = this.ProvideCandidate(formData); var cvDeserializationResult = this.ProvideFile(formData, nameof(RegisterApplicationDto.Cv)); var photoDeserializationResult = this.ProvideFile(formData, nameof(RegisterApplicationDto.Photo)); if (!candidateDeserializationResult.Success || !cvDeserializationResult.Success || !photoDeserializationResult.Success) { var errors = new[] { candidateDeserializationResult.Errors, cvDeserializationResult.Errors, photoDeserializationResult.Errors }; return(new FailedDataResult <RegisterApplicationDto>(errors.SelectMany(x => x))); } var dto = new RegisterApplicationDto( cvDeserializationResult.Value, photoDeserializationResult.Value, candidateDeserializationResult.Value ); return(new SuccessfulDataResult <RegisterApplicationDto>(dto)); }