Exemple #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));
        }
        public void Andares_Cadastrados_Devem_Ser_Retornadas_No_Obter_Por_Id()
        {
            var andar = CriarNovoAndar1();

            var andarController = CriarController();

            andarController.Request = new HttpRequestMessage();

            ObjectContent objetoPost           = andarController.CadastrarAndar(andar).Content as ObjectContent;
            Andar         andarRetornadaNoPost = objetoPost.Value as Andar;

            Assert.IsNotNull(andarRetornadaNoPost);

            ObjectContent objetoGet           = andarController.GetAndar(andarRetornadaNoPost.Id).Content as ObjectContent;
            Andar         andarRetornadaNoGet = objetoGet.Value as Andar;

            Assert.IsNotNull(andarRetornadaNoGet);

            var andarRetornadoDoBancoEIgualAoOriginal = andarRetornadaNoGet.WithDeepEqual(andar)
                                                        .IgnoreSourceProperty(x => x.Id)
                                                        .IgnoreDestinationProperty(x => x.EdificacaoId)
                                                        .IgnoreSourceProperty(x => x.Salas)
                                                        .IgnoreSourceProperty(x => x.Edificacao)
                                                        .IgnoreSourceProperty(x => x.Mensagens)
                                                        .Compare();

            Assert.IsTrue(andarRetornadoDoBancoEIgualAoOriginal);
        }
        public ActionResult CadastroAndares(AndarViewModel andarViewModel)
        {
            if (ModelState.IsValid)
            {
                var andar = new Andar()
                {
                    NumeroAndar = andarViewModel.NumeroAndar,
                    IDUnidade   = andarViewModel.IDUnidade
                };

                _unit.AndarRepository.Cadastrar(andar);

                try
                {
                    _unit.Salvar();
                }
                catch (Exception e)
                {
                    andarViewModel.Mensagem     = "Ocorreu um erro ao tentar cadastrar o andar, por favor tente mais tarde." + "Erro: " + e;
                    andarViewModel.ListaUnidade = ListarUnidade();
                    return(View(andarViewModel));
                }

                return(RedirectToAction("Andares", new { msg = "Andar cadastrado com sucesso!" }));
            }
            else
            {
                andarViewModel.ListaUnidade = ListarUnidade();
                return(View(andarViewModel));
            }
        }
Exemple #4
0
        public List <Andar> BuscarTodosAndares()
        {
            List <Andar> listaAndares = new List < Andar();

            try
            {
                string SQL = String.Format("SELECT * FROM Andar");

                SqlDataReader data = DB.ExecutarSelect(SQL);

                while (data.Read())
                {
                    Andar item = new Andar();

                    item.Cod       = data.GetInt32(0);
                    item.Numero    = data.GetString(1);
                    item.Descricao = data.GetString(2);


                    listaAndares.Add(item);
                }

                data.Close();
                DB.FecharConexao();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(listaAndares);
        }
Exemple #5
0
        public SalaControllerTests()
        {
            using (var context = new DatacenterMapContext("DatacenterMapTest"))
            {
                CleanUp.LimparTabelas(new DatacenterMapContext("DatacenterMapTest"));

                Edificacao edificacao = new Edificacao()
                {
                    Nome          = "Framework Building",
                    NumeroAndares = 4,
                    Latitude      = 30,
                    Longitude     = 20
                };

                context.Edificacoes.Add(edificacao);
                context.SaveChanges();

                Andar andar = new Andar()
                {
                    Edificacao            = context.Edificacoes.FirstOrDefault(x => x.NumeroAndares == 4),
                    NumeroAndar           = 3,
                    QuantidadeMaximaSalas = 2
                };

                context.Andares.Add(andar);
                context.SaveChanges();

                Andar ad = context.Andares.FirstOrDefault(x => x.NumeroAndar == 3);
                idAndar = ad.Id;
            }
        }
Exemple #6
0
        public static bool AndarHasRackDisponivel(IDatacenterMapContext contexto, int andarId, int tamanhoEquipamento)
        {
            Andar andar = contexto.Andares.Include(x => x.Salas)
                          .AsNoTracking()
                          .FirstOrDefault(x => x.Id == andarId);

            return(andar.Salas.Any(x => SalaHasRackDisponivel(contexto, x.Id, tamanhoEquipamento)));
        }
Exemple #7
0
        public static void DeletarAndar(IDatacenterMapContext contexto, int andarId)
        {
            Andar       andar = contexto.Andares.Include(x => x.Salas).FirstOrDefault(x => x.Id == andarId);
            List <Sala> salas = andar.Salas.ToList();

            salas.ForEach(x => { DeletarSala(contexto, x.Id); salas = contexto.Salas.Where(a => a.Andar.Id == andarId).ToList(); });
            contexto.Andares.Remove(andar);
            contexto.SaveChanges();
        }
        public bool ConsultaPorAndarEhValida()
        {
            if (string.IsNullOrEmpty(Andar.Trim()))
            {
                return(false);
            }

            return(true);
        }
Exemple #9
0
        internal Andar CreateAndar(int numeroAndar, int quantidadeSalas, int edificacaoId)
        {
            var andar = new Andar
            {
                NumeroAndar           = numeroAndar,
                QuantidadeMaximaSalas = quantidadeSalas,
                Edificacao            = contexto.Edificacoes.FirstOrDefault(x => x.Id == edificacaoId)
            };

            return(andar);
        }
        public ActionResult Create(Andar andar)
        {
            if (ModelState.IsValid)
            {
                db.Andar.Add(andar);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(andar);
        }
Exemple #11
0
        public HttpResponseMessage GetAndar([FromUri] int id)
        {
            if (contexto.Andares.Where(x => x.Id == id).Count() == 0)
            {
                return(BadRequest("Edificação não encontrada."));
            }

            Andar andar = contexto.Andares.AsNoTracking().Include(x => x.Salas).FirstOrDefault(x => x.Id == id);

            return(Ok(andar));
        }
Exemple #12
0
 public void InserirAndar(Andar andar)
 {
     try
     {
         string SQL = String.Format("INSERT INTO Bloco (numero,decricao) VALUES ('{1}','{2}')", andar.Numero, andar.Descricao);
         DB.ExecutarSQLAlter(SQL);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemple #13
0
    private void CarregarSuperficies(StreamReader arquivoDaCasa)
    {
        string linhaAtual;
        string idAndar = "";

        while (!string.IsNullOrEmpty(linhaAtual = arquivoDaCasa.ReadLine()))
        {
            string[] currentSurface = linhaAtual.Split(' ');
            idAndar = currentSurface[0];
            int   surfaceId = int.Parse(currentSurface[1]);
            Andar andar     = new Andar(int.Parse(idAndar), this);
            andar.CarregaSuperficie(currentSurface);
            _andares.Add(andar);
        }
    }
Exemple #14
0
        public RackControllerTests()
        {
            using (var context = new DatacenterMapContext("DatacenterMapTest"))
            {
                CleanUp.LimparTabelas(new DatacenterMapContext("DatacenterMapTest"));

                Edificacao edificacao = new Edificacao()
                {
                    Nome          = "Framework Building",
                    NumeroAndares = 4,
                    Latitude      = 30,
                    Longitude     = 20
                };

                context.Edificacoes.Add(edificacao);
                context.SaveChanges();

                Andar andar = new Andar()
                {
                    Edificacao            = context.Edificacoes.FirstOrDefault(x => x.NumeroAndares == 4),
                    NumeroAndar           = 3,
                    QuantidadeMaximaSalas = 2
                };

                context.Andares.Add(andar);
                context.SaveChanges();

                Sala sala = new Sala()
                {
                    NumeroSala            = "3.5",
                    Andar                 = context.Andares.FirstOrDefault(x => x.NumeroAndar == 3),
                    Comprimento           = 110,
                    Largura               = 150,
                    QuantidadeMaximaSlots = 3
                };

                context.Salas.Add(sala);
                for (var i = 0; i < sala.QuantidadeMaximaSlots; i++)
                {
                    context.Slots.Add(CreateSlot(sala));
                }

                context.SaveChanges();
                slots = context.Slots.ToList();
            }
        }
        public void Andares_Removidos_Nao_Devem_Ser_Retornadas_No_Obter_Por_Id()
        {
            var andar = CriarNovoAndar1();

            var andarController = CriarController();

            andarController.Request = new HttpRequestMessage();

            ObjectContent objeto = andarController.CadastrarAndar(andar).Content as ObjectContent;
            Andar         andarRetornadaNoPost = objeto.Value as Andar;

            Assert.IsNotNull(andarRetornadaNoPost);

            var edRemovida = andarController.DeletarAndar(andarRetornadaNoPost.Id);

            var   objetoGet           = andarController.GetAndar(andarRetornadaNoPost.Id).Content as ObjectContent;
            Andar andarRetornadoNoGet = objetoGet.Value as Andar;

            Assert.IsNull(andarRetornadoNoGet);
        }
Exemple #16
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));;
        }
        public HttpResponseMessage CadastrarSala([FromBody] SalaModel request)
        {
            if (request == null)
            {
                return(BadRequest($"O parametro {nameof(request)} não pode ser null"));
            }

            Andar andar = contexto.Andares.FirstOrDefault(x => x.Id == request.AndarId);

            if (contexto.Salas.Where(x => x.Andar.Id == andar.Id).Count() >= andar.QuantidadeMaximaSalas)
            {
                return(BadRequest("Quantidade máxima de salas ultrapassada."));
            }

            if (contexto.Salas.Where(x => x.Andar.Id == andar.Id && x.NumeroSala.Equals(request.NumeroSala)).Count() != 0)
            {
                return(BadRequest("Já existe uma sala com esse número nesse andar."));
            }

            Sala sala = CreateSala(request.NumeroSala, request.QuantidadeMaximaSlots, request.Largura, request.Comprimento);

            sala.Andar = andar;

            andar.Salas.Add(sala);

            if (sala.Validar())
            {
                for (var i = 0; i < sala.QuantidadeMaximaSlots; i++)
                {
                    contexto.Slots.Add(CreateSlot(sala));
                }
                contexto.SaveChanges();

                return(Ok(sala));
            }

            return(BadRequest(sala.Mensagens));
        }
 public ActionResult Edit(Andar andar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(andar).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return View(andar);
 }
        private static void GerarVagas(ParkingDBEntities ct)
        {
            Console.WriteLine("Apagando Registros Antigos...");

            foreach (var E in ct.Vaga.ToList())
            {
                ct.Vaga.Remove(E);
            }

            foreach (var E in ct.Bloco.ToList())
            {
                ct.Bloco.Remove(E);
            }

            foreach (var E in ct.Andar.ToList())
            {
                ct.Andar.Remove(E);
            }

            Console.WriteLine("Criando Registros Novos...");

            for (int i = 1; i < 5; i++)
            {

                Andar andar = new Andar();
                andar.Nome = string.Format("{0}º Andar", i);

                Console.WriteLine("Andar: " + andar.Nome);

                char NomeBloco = 'A';
                int NomeVaga = 1;

                for (int j = 0; j < 10; j++)
                {
                    Bloco bloco = new Bloco();
                    bloco.Nome = NomeBloco.ToString() + i.ToString();

                    andar.Bloco.Add(bloco);

                    NomeBloco++;

                    Console.WriteLine(" Bloco: " + bloco.Nome);

                    for (int k = 1; k < 11; k++)
                    {
                        Vaga vaga = new Vaga();
                        vaga.Nome = NomeVaga.ToString();
                        vaga.Situacao = "Livre";

                        bloco.Vaga.Add(vaga);

                        NomeVaga++;

                        Console.WriteLine("  Vaga: " + vaga.Nome);

                    }

                    Console.WriteLine();

                }

                Console.WriteLine();

                ct.Andar.Add(andar);
            }
        }
Exemple #20
0
        public EquipamentoControllerTests()
        {
            context = new DatacenterMapContext("DatacenterMapTest");
            {
                CleanUp.LimparTabelas(context);

                Edificacao edificacao = new Edificacao()
                {
                    Nome          = "Framework Building",
                    NumeroAndares = 4,
                    Latitude      = 30,
                    Longitude     = 20
                };

                context.Edificacoes.Add(edificacao);
                context.SaveChanges();

                Andar andar = new Andar()
                {
                    Edificacao            = context.Edificacoes.FirstOrDefault(x => x.NumeroAndares == 4),
                    NumeroAndar           = 3,
                    QuantidadeMaximaSalas = 2
                };

                context.Andares.Add(andar);
                context.SaveChanges();

                Sala sala = new Sala()
                {
                    NumeroSala            = "3.5",
                    Andar                 = context.Andares.FirstOrDefault(x => x.NumeroAndar == 3),
                    Comprimento           = 110,
                    Largura               = 150,
                    QuantidadeMaximaSlots = 3
                };

                context.Salas.Add(sala);
                for (var i = 0; i < sala.QuantidadeMaximaSlots; i++)
                {
                    context.Slots.Add(CreateSlot(sala));
                }
                context.SaveChanges();

                Rack rack = new Rack()
                {
                    Tensao            = 220,
                    QuantidadeGavetas = 5,
                    Slot      = context.Slots.ToList()[0],
                    Descricao = "Rack 1"
                };

                Rack rack2 = new Rack()
                {
                    Tensao            = 220,
                    QuantidadeGavetas = 5,
                    Slot      = context.Slots.ToList()[1],
                    Descricao = "Rack 2"
                };

                Rack rack3 = new Rack()
                {
                    Tensao            = 220,
                    QuantidadeGavetas = 5,
                    Slot      = context.Slots.ToList()[2],
                    Descricao = "Rack 3"
                };

                context.Racks.Add(rack);
                context.Racks.Add(rack2);
                context.Racks.Add(rack3);

                for (var i = 0; i < rack.QuantidadeGavetas; i++)
                {
                    context.Gavetas.Add(CreateGaveta(rack, i + 1, false));
                    context.Gavetas.Add(CreateGaveta(rack2, i + 1, false));
                }

                context.Gavetas.Add(CreateGaveta(rack3, 1, true));
                context.Gavetas.Add(CreateGaveta(rack3, 2, false));
                context.Gavetas.Add(CreateGaveta(rack3, 3, true));
                context.Gavetas.Add(CreateGaveta(rack3, 4, false));
                context.Gavetas.Add(CreateGaveta(rack3, 5, false));

                context.SaveChanges();
                edificacaoId = context.Edificacoes.ToList()[0].Id;
                rack3Id      = context.Racks.ToList()[2].Id;
                rack2Id      = context.Racks.ToList()[1].Id;
                gavetas      = context.Gavetas.ToList();
            }
        }