Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
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));;
        }