public HttpResponseMessage CadastrarEdificacao([FromBody] EdificacaoModel request)
        {
            if (request == null)
            {
                return(BadRequest($"O parametro {nameof(request)} não pode ser null"));
            }

            if (contexto.Edificacoes.Where(x => x.Latitude == request.Latitude && x.Longitude == request.Longitude).Count() != 0)
            {
                return(BadRequest("Já existe uma edificação nessa localização."));
            }

            if (contexto.Edificacoes.Where(x => x.Nome == request.Nome).Count() != 0)
            {
                return(BadRequest("Já existe uma edificação com esse nome."));
            }

            Edificacao edificacao = CreateEdificacao(request.Nome, request.NumeroAndares, request.Longitude, request.Latitude);

            if (edificacao.Validar())
            {
                contexto.Edificacoes.Add(edificacao);
                contexto.SaveChanges();

                return(Ok(edificacao));
            }

            return(BadRequest(edificacao.Mensagens));
        }
示例#2
0
        public void Criar_Edificacao_Deve_Retornar_Erro_Quando_A_Edificacao_For_Nula()
        {
            EdificacaoModel edificacao = null;

            var controller = CriarController();

            controller.Request = new HttpRequestMessage();

            var resposta = controller.CadastrarEdificacao(edificacao);

            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]);
        }
示例#3
0
        public void Criar_Edificacao_Deve_Retornar_Erro_Quando_A_Localizacao_Ja_Existir()
        {
            EdificacaoModel edificacao = CriarNovaEdificacao1();

            var controller = CriarController();

            controller.Request = new HttpRequestMessage();

            controller.CadastrarEdificacao(edificacao);
            edificacao.Nome = "Outro Nome";

            var resposta = controller.CadastrarEdificacao(edificacao);

            string[] mensagens = (resposta.Content as ObjectContent).Value as string[];

            Assert.IsFalse(resposta.IsSuccessStatusCode);

            Assert.AreEqual("Já existe uma edificação nessa localização.", mensagens[0]);
        }