public HttpResponseMessage CadastrarAndar([FromBody] AndarModel request) { if (request == null) { return(BadRequest($"O parametro {nameof(request)} não pode ser null")); } Edificacao edificacao = contexto.Edificacoes.FirstOrDefault(x => x.Id == request.EdificacaoId); if (edificacao.NumeroAndares < request.NumeroAndar) { return(BadRequest("O andar solicitado ultrapassa o limite máximo do prédio.")); } if (contexto.Andares.Where(x => x.Edificacao.Id == edificacao.Id && x.NumeroAndar == request.NumeroAndar).ToList().Count() != 0) { return(BadRequest("Já existe este andar no edifício.")); } Andar andar = CreateAndar(request.NumeroAndar, request.QuantidadeMaximaSalas, request.EdificacaoId); if (andar.Validar()) { contexto.Andares.Add(andar); contexto.SaveChanges(); return(Ok(andar)); } return(BadRequest(andar.Mensagens)); }
private bool VerificarAndar(AndarModel andar) { if (andar == null) { return(true); } var andarValidacao = _andarService.GetById <AndarModel>(andar.Id); return(andarValidacao != null); }
public AndarModel Get(string id) { AndarModel andarModel = null; try { andarModel = _service.GetById <AndarModel>(id); } catch (Exception ex) { throw ex; } return(andarModel); }
public void Criar_Andar_Deve_Retornar_Erro_Quando_O_Andar_For_Nulo() { AndarModel andar = null; var controller = CriarController(); controller.Request = new HttpRequestMessage(); var resposta = controller.CadastrarAndar(andar); string[] mensagens = (resposta.Content as ObjectContent).Value as string[]; Assert.IsFalse(resposta.IsSuccessStatusCode); Assert.AreEqual("O parametro request não pode ser null", mensagens[0]); }
public IHttpActionResult Put([FromBody] AndarModel andar) { IHttpActionResult result = null; try { _service.Add(andar); result = Ok(); } catch (Exception ex) { result = InternalServerError(ex); } return(result); }
public void Criar_Andar_Deve_Retornar_Erro_Quando_Numero_Ultrapassar_Limite_Predio() { AndarModel andar = CriarNovoAndar1(); andar.NumeroAndar = 99; var controller = CriarController(); controller.Request = new HttpRequestMessage(); var resposta = controller.CadastrarAndar(andar); string[] mensagens = (resposta.Content as ObjectContent).Value as string[]; Assert.IsFalse(resposta.IsSuccessStatusCode); Assert.AreEqual("O andar solicitado ultrapassa o limite máximo do prédio.", mensagens[0]); }
public void Criar_Andar_Deve_Retornar_Erro_Quando_Andar_Ja_Existir() { AndarModel andar = CriarNovoAndar1(); var controller = CriarController(); controller.Request = new HttpRequestMessage(); controller.CadastrarAndar(andar); var resposta = controller.CadastrarAndar(andar); string[] mensagens = (resposta.Content as ObjectContent).Value as string[]; Assert.IsFalse(resposta.IsSuccessStatusCode); Assert.AreEqual("Já existe este andar no edifício.", mensagens[0]); }
public HttpResponseMessage AlterarAndar([FromBody] AndarModel request) { if (request == null) { return(BadRequest($"O parametro {nameof(request)} não pode ser null")); } Andar andarAntigo = contexto.Andares.FirstOrDefault(x => x.Id == request.Id); Andar novoAndar = CreateAndar(request.NumeroAndar, request.QuantidadeMaximaSalas, request.EdificacaoId); if (novoAndar.Validar()) { andarAntigo.QuantidadeMaximaSalas = request.QuantidadeMaximaSalas; contexto.SaveChanges(); return(Ok(andarAntigo)); } return(BadRequest(novoAndar.Mensagens));; }