public IActionResult PostUsuario([FromBody] UsuarioRequest usuarioRequest) { if (ModelState.IsValid) { var usuario = _usuarioRepository.Get(usuarioRequest.Email); if (usuario == null) { usuario = usuarioRequest.ToUsuario(); _usuarioRepository.Add(usuario); var uri = Url.Action("GetUsuario", "Usuario", new { email = usuario.Email }); var comprasUri = Url.Action("GetCompras", "Venda", new{ email = usuario.Email }); return(Created(uri, usuario.ToUsuarioResponse(comprasUri))); } return(BadRequest("Usuário já existe.")); } return(BadRequest("Requisição inválida.")); }
public IActionResult UpdateUsuario([FromBody] UsuarioRequest usuarioRequest) { if (ModelState.IsValid) { var usuario = _usuarioRepository.Get(usuarioRequest.Email); if (usuario != null) { if (usuario.Email != User.Identity.Name) { return(BadRequest("Você não pode editar a conta de outra pessoa.")); } usuario = usuarioRequest.ToUsuario(); _usuarioRepository.Update(usuario); var comprasUri = Url.Action("GetCompras", "Venda", new{ email = usuario.Email }); return(Ok(usuario.ToUsuarioResponse(comprasUri))); } return(BadRequest("Usuário não cadastrado")); } return(BadRequest("Requisição inválida")); }