public async Task <IActionResult> CrearUsuario(UsuarioCreationDto dto) { if (await _usuarioRepositorio.VerificarSiExiste(dto.Usuario)) { return(Ok("El Usuario que está intentando crear ya existe")); } var persona = _mapper.Map <PersonaDto>(dto.Persona); var nuevoUsuario = new UsuarioDto { Usuario = dto.Usuario, Password = dto.Password, Persona = persona }; await _usuarioRepositorio.Crear(nuevoUsuario); return(Ok(dto)); }
public HttpResponseMessage Post([FromBody] UsuarioCreationDto usuario) { if (usuario == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } if (usuario.Nome == usuario.Sobrenome) { ModelState.AddModelError("Sobrenome", "O sobrenome informado deverá ser diferente do nome..."); } if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } var finalUsuario = AutoMapper.Mapper.Map <Entities.Usuario>(usuario); _usuarioRepository.AddUsuario(finalUsuario); if (!_usuarioRepository.Save()) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Ocorreu um problema com a sua solicitação...")); } _usuarioRepository.AddDetalheUsuario(finalUsuario.Id, new Entities.DetalheUsuario() { UsuarioId = finalUsuario.Id, Telefone = usuario.Telefone, Endereco = usuario.Endereco }); if (!_usuarioRepository.Save()) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Ocorreu um problema com a sua solicitação...")); } var createUsuarioToReturn = AutoMapper.Mapper.Map <ViewModels.UsuarioDto>(finalUsuario); return(Request.CreateResponse(HttpStatusCode.Created, createUsuarioToReturn)); }