Beispiel #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));
        }
Beispiel #2
0
        private bool VerificarAndar(AndarModel andar)
        {
            if (andar == null)
            {
                return(true);
            }

            var andarValidacao = _andarService.GetById <AndarModel>(andar.Id);

            return(andarValidacao != null);
        }
Beispiel #3
0
        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]);
        }
Beispiel #5
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]);
        }
Beispiel #8
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));;
        }