public void OpcionalValidacaoDeEstoqueComEstoqueMaiorDoQueZero() { Opcional op = new Opcional("TesteOpcional", "TesteOpcional testando1", 59, 8); var resultado = op.EstaDisponivel(); Assert.IsTrue(resultado); }
public bool VerSeEhPossivelCriar(Reserva reserva) { Produto produto = contexto.Produtos.Where(x => x.Id == reserva.Produto.Id).FirstOrDefault(); if (produto.Quantidade < 0) { return(false); } if (reserva.Opcional.Count > 0) { // verifica se tem opcionais em estoque foreach (var opcional in reserva.Opcional) { Opcional aux = contexto.Opcionais.Where(x => x.Id == opcional.Id).FirstOrDefault(); if (aux == null) { return(false); } if (aux.Quantidade <= 0) { return(false); } } } return(true); }
public void Deve_Criar_Entidade_Opcional_Valida() { var opcional = new Opcional("Piscina de bolinhas", 100, 150, 10); Assert.IsTrue(opcional.Validar()); Assert.IsFalse(opcional.Mensagens.Count > 0); }
public List <string> Validar(Opcional opcional) { List <string> mensagens = new List <string>(); if (string.IsNullOrEmpty(opcional.Nome)) { mensagens.Add("É necessário informar o nome do opcional"); return(mensagens); } if (string.IsNullOrEmpty(opcional.Descricao)) { mensagens.Add("É necessário informar a descrição"); return(mensagens); } if (opcional.Valor <= 0 || opcional.Valor == null) { mensagens.Add("É necessário informar um valor válido"); return(mensagens); } if (opcional == null) { mensagens.Add("Nenhum opcional foi encontrado"); return(mensagens); } return(mensagens); }
public Pedido Registrar(Pedido pedido) { contexto.Entry(pedido.Cliente).State = System.Data.Entity.EntityState.Unchanged; contexto.Entry(pedido.Produto).State = System.Data.Entity.EntityState.Unchanged; var produtoRepositorio = new ProdutoRepositorio(); Produto produto = (Produto)produtoRepositorio.Obter(pedido.Produto.Id); produto = produtoRepositorio.RemoverEstoque(produto); if (pedido.Pacote != null) { contexto.Entry(pedido.Pacote).State = System.Data.Entity.EntityState.Unchanged; var pacoteRepositorio = new PacoteRepositorio(); Pacote pacote = (Pacote)pacoteRepositorio.Obter(pedido.Pacote.Id); pacote = pacoteRepositorio.RemoverEstoque(pacote); } if (pedido.Opcionais != null) { foreach (var produtoOpcional in pedido.Opcionais) { contexto.Entry(produtoOpcional).State = System.Data.Entity.EntityState.Unchanged; var opcionalRepositorio = new OpcionalRepositorio(); Opcional opcional = (Opcional)opcionalRepositorio.Obter(produtoOpcional.Id); opcional = opcionalRepositorio.RemoverEstoque(opcional); } } contexto.Pedido.Add(pedido); contexto.SaveChanges(); return(pedido); }
public Opcional AtualizarOpcional(int id, Opcional opcionalAtualizado) { var opcional = contexto.Opcionais.FirstOrDefault(p => p.Id == id); opcional?.Atualizar(opcionalAtualizado); return(opcional); }
public Opcional RemoverEstoque(Opcional item) { item.retirar(); contexto.Entry(item).State = System.Data.Entity.EntityState.Modified; contexto.SaveChanges(); return(item); }
public Opcional AtualizarEstoque(Opcional opcional) { contexto.Entry(opcional).State = EntityState.Modified; opcional.Quantidade--; contexto.SaveChanges(); return(opcional); }
public Itens(Pacote pacote, Festa festa, Opcional opcional, Usuario usuario, Cliente cliente) { Pacote = pacote; Festa = festa; Opcional = opcional; Usuario = usuario; Cliente = cliente; }
public Opcional DeletarOpcional(int id) { Opcional opcional = contexto.Opcionais.FirstOrDefault(x => x.Id == id); contexto.Opcionais.Remove(opcional); contexto.SaveChanges(); return(opcional); }
public void Nao_Deve_Criar_Entidade_Opcional_Com_CustoMulta_Negativo() { var opcional = new Opcional("Piscina de bolinhas", 100, -10, 10); Assert.IsFalse(opcional.Validar()); Assert.IsTrue(opcional.Mensagens.Count > 0); Assert.IsTrue(opcional.Mensagens[0] == "Custo da multa inválido."); }
public void Nao_Deve_Criar_Entidade_Opcional_Com_Quantidade_Negativa() { var opcional = new Opcional("Piscina de bolinhas", 100, 150, -10); Assert.IsFalse(opcional.Validar()); Assert.IsTrue(opcional.Mensagens.Count > 0); Assert.IsTrue(opcional.Mensagens[0] == "Quantidade inválida."); }
public void Nao_Deve_Criar_Entidade_Opcional_Sem_CustoDiaria() { var opcional = new Opcional("Piscina de bolinhas", 0, 150, 10); Assert.IsFalse(opcional.Validar()); Assert.IsTrue(opcional.Mensagens.Count > 0); Assert.IsTrue(opcional.Mensagens[0] == "Custo diário inválido."); }
public void DiminuirEstoqueFuncionaCorretamente() { Opcional op = new Opcional("TesteOpcional", "TesteOpcional testando1", 59, 8); op.DiminuirEstoque(); Assert.AreEqual(7, op.QuantidadeDisponivel); }
public Opcional AtualizarOpcional(int id, Opcional opcional) { var opcionalCadastrado = contexto.Opcionais.FirstOrDefault(p => p.Id == id); if (opcionalCadastrado != null) { opcionalCadastrado.Atualizar(opcionalCadastrado); } return(opcionalCadastrado); }
public HttpResponseMessage ObterPorId(int id) { Opcional opcional = repositorio.ObterPorId(id); if (opcional == null) { return(ResponderErro("Opcional não encontrado.")); } return(ResponderOK(opcional)); }
public Itens ObterItensReserva(int idCliente, int idUsuario, int idOpcional, int idPacote, int idFesta) { Cliente cliente = contexto.Clientes.FirstOrDefault(x => x.Id == idCliente); Usuario usuario = contexto.Usuarios.FirstOrDefault(x => x.Id == idUsuario); Opcional opcional = contexto.Opcionais.FirstOrDefault(x => x.Id == idOpcional); Pacote pacote = contexto.Pacotes.FirstOrDefault(x => x.Id == idPacote); Festa festa = contexto.Festas.FirstOrDefault(x => x.Id == idFesta); return(new Itens(pacote, festa, opcional, usuario, cliente)); }
public void OpcionalForaDoEstoque() { int id = 843; string descricao = "sou legal"; decimal preco = 4.44M; int? quantidade = 0; Opcional o = new Opcional(id, descricao, preco, quantidade); o.diminuirEstoque(); }
public bool Alterar(Opcional op) { if (contexto.Opcionais.Count(x => x.Id == op.Id) == 0) { return(false); } contexto.Entry(op).State = System.Data.Entity.EntityState.Modified; contexto.SaveChanges(); return(true); }
public IHttpActionResult Criar(Opcional op) { List <string> msg = null; if (op.Validar(out msg) == false) { return(BadRequest(String.Join(" ", msg))); } return(Ok(repo.Criar(op))); }
public ReservaOpcional(Reserva reserva, Opcional opcional, int quantidade) { Reserva = reserva; Opcional = opcional; Quantidade = quantidade; if (Quantidade < 1) { AddMessage("Quanitade inválido."); } }
public void TestaOptionalValido() { var optional = new Opcional("Open bar de chá", "Open bar de chá gelado", 0.6); var erros = new List <string>(); var optionalService = new OpcionalService(); var resultado = optionalService.Validar(optional); CollectionAssert.AreEqual(erros, resultado); }
public void OpcionalAumentarComRecursoIlimitado() { int id = 843; string descricao = "sou legal"; decimal preco = 4.44M; int? quantidade = null; Opcional o = new Opcional(id, descricao, preco, quantidade); o.aumentarEstoque(); Assert.AreEqual(quantidade, o.Quantidade); }
public bool Excluir(int id) { Opcional pacote = contexto.Opcionais.Where(x => x.Id == id).FirstOrDefault(); if (pacote == null) { return(false); } contexto.Opcionais.Remove(pacote); contexto.SaveChanges(); return(true); }
public IHttpActionResult ObterPacote(int id) { Opcional p = repo.Obter(id); if (p == null) { return(NotFound()); } else { return(Ok(p)); } }
public void TestaOpcionalComDescricaoInvalida() { var optional = new Opcional("Open bar de chá", "", 0.6); var erros = new List <string>(); erros.Add("Campo descrição é obrigatorio"); var optionalService = new OpcionalService(); var resultado = optionalService.Validar(optional); CollectionAssert.AreEqual(erros, resultado); }
public void TestaOpcionalComNomeInvalido() { var optional = new Opcional("", "Open bar de chá gelado", 0.6); var erros = new List <string>(); erros.Add("Campo nome é obrigatorio"); var optionalService = new OpcionalService(); var resultado = optionalService.Validar(optional); CollectionAssert.AreEqual(erros, resultado); }
public void Nao_Deve_Criar_Entidade_Reserva_Sem_Cliente() { var valor = 1000; var duracaoReservaEmDias = 5; var festa = new Festa("Festa infantil", 100, 150); var pacote = new Pacote("Pacote Premium", true, true, true, 100, 150); var opcional = new Opcional("Piscina de bolinhas", 100, 150, 10); var usuario = new Usuario("Giovani", "123456", "*****@*****.**", "Funcionario"); var reserva = new Reserva(valor, duracaoReservaEmDias, pacote, festa, usuario, null, opcional); Assert.IsFalse(reserva.Validar()); Assert.IsTrue(reserva.Mensagens.Count > 0); Assert.IsTrue(reserva.Mensagens[0] == "Cliente inválido"); }
public void TestaOpcionalComValorInvalido() { var optional = new Opcional("Open bar de chá", "Open bar de chá gelado", 666); var erros = new List <string>(); erros.Add("O valor porcentagem precisa estar entre 0 e 1"); var optionalService = new OpcionalService(); var resultado = optionalService.Validar(optional); CollectionAssert.AreEqual(erros, resultado); }
public void Nao_Deve_Criar_Entidade_Reserva_Sem_Festa() { var data = new DateTime(); var valor = 2000; var duracaoReservaEmDias = 10; var pacote = new Pacote("Pacote Premium", true, true, true, 100, 150); var opcional = new Opcional("Piscina de bolinhas", 100, 150, 10); var usuario = new Usuario("Giovani", "123456", "*****@*****.**", "Funcionario"); var cliente = new Cliente("Giovani", "Rua X Bairro Y", "12345678956", "Masculino", data, "*****@*****.**"); var reserva = new Reserva(valor, duracaoReservaEmDias, pacote, null, usuario, cliente, opcional); Assert.IsFalse(reserva.Validar()); Assert.IsTrue(reserva.Mensagens.Count > 0); Assert.IsTrue(reserva.Mensagens[0] == "Festa inválida"); }