public async Task <IActionResult> Create(FriendPostDto dto) { var validationResult = await _app.Create(dto, User.Identity.Name); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors.Select(x => x.ErrorMessage).ToList())); } return(NoContent()); }
/* O mapeamento entre entidade e DTO pode ser automatizado por bibliotecas como AutoMapper, * porém, já ouvi várias opiniões positivas e negativas sobre o uso do AutoMapper. */ private Friend CreateMapper(FriendPostDto dto, Guid idUser) { var friend = new Friend { IdUser = idUser, Name = dto.Name, Nickname = dto.Nickname, Whatsapp = dto.Whatsapp }; return(friend); }
public async Task <ValidationResult> Create(FriendPostDto dto, string username) { var user = _accountApplicationService.GetByUsername(username); var friend = CreateMapper(dto, user.Id); var validationResult = await _friendValidation.CreateValidation.ValidateAsync(friend); if (!validationResult.IsValid) { return(validationResult); } _uow.FriendRepository.Add(friend); await _uow.CommitAsync(); return(validationResult); }