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)); } }
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); }
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; } }
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))); }
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); }
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); }
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)); }
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); } }
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); } }
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); }
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); } }
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(); } }