Esempio n. 1
0
        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
            }));
        }
Esempio n. 2
0
        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));
        }