public static Casa ToCasa(this CasaForm casaForm) { Casa casa = new Casa(); casa.Nome = casaForm.Nome; casa.Endereco = casaForm.Endereco; return(casa); }
public ActionResult <CasaResponse> UpdateCasa([FromBody] CasaForm casaForm, string id) { var casa = _casaRepository.GetCasa(id); if (casa != null) { if (casa.UsuarioEmail != User.Identity.Name) { return(BadRequest("Só é possível editar uma casa que você criou.")); } var casaUpdate = casaForm.ToCasa(); casaUpdate.Id = id; _casaRepository.Update(casaUpdate); var eventosUri = Url.Action("GetEventos", new{ id = casaUpdate.Id }); return(casaUpdate.ToCasaResponse(eventosUri)); } return(NotFound("Casa não encontrada.")); }
public IActionResult PostCasa([FromBody] CasaForm casaForm) { if (ModelState.IsValid) { Casa casa = casaForm.ToCasa(); casa.UsuarioEmail = User.Identity.Name; try{ _casaRepository.Add(casa); } catch (Exception e) { return(StatusCode(500, "Erro ao conectar com o banco. " + e.Message)); } var uri = Url.Action("GetCasa", new { id = casa.Id }); var eventosUri = Url.Action("GetEventos", new { id = casa.Id }); return(Created(uri, casa.ToCasaResponse(eventosUri))); } return(BadRequest("Requisição inválida.")); }