public Model.Comanda.Comanda RegistraItemComanda(int idComanda, string nomeItem) { Model.Comanda.Comanda comanda = new Model.Comanda.Comanda(); List <Item> itens = new List <Item>(); Item item = new Item(); comanda = _comandaDAO.getComanda(idComanda); item = _itemDAO.getItem(nomeItem); itens.Add(item); comanda = _comandaDAO.cadastraComanda(idComanda, itens); //if (!VerificaTresSucos(comandas)) //{ // //3 sucos existentes jogar exception // return null; //} ////sql registra item //comandas = _comandaDAO.cadastraItemComanda(idComanda, item.ID); //comandas = PromocaoAgua(comandas); return(comanda); }
public Model.Comanda.Comanda DescontoAplicado(Model.Comanda.Comanda comanda) { if (comanda.Itens.Count() == 0) { return(null); } comanda = CalculaDescontoCerveja(comanda); return(comanda); }
public Model.Comanda.Comanda LimpaComanda(int idComanda) { Model.Comanda.Comanda comanda = new Model.Comanda.Comanda(); //sql verifica se a comanda existe; // //sql delete itens da comanda; //comanda = comandaDAO.limpaComanda(idComanda); return(comanda); }
public NotaFiscal GerarNotaFiscal(Model.Comanda.Comanda comanda) { NotaFiscal notaFiscal = new NotaFiscal(); DescontoBussines descontoBussines = new DescontoBussines(); int descontoCerveja = 0; descontoCerveja = descontoBussines.VerificaQuantidadeDesconto(comanda); notaFiscal = MontaNotaFiscal(comanda, descontoCerveja); return(notaFiscal); }
private Model.Comanda.Comanda PromocaoAgua(Model.Comanda.Comanda comanda) { double promocaoAgua = 0; //verifica quantas promocoes de Agua existe promocaoAgua = VerificaPromocaoAgua(comanda); //verifica quantas promocoes ja foi pedido promocaoAgua = promocaoAgua - comanda.PromocaoAguaPedidos; comanda.PromocaoAguaRestantes = promocaoAgua; return(comanda); }
private Model.Comanda.Comanda AplicaDescontoCerveja(Model.Comanda.Comanda comanda, int countDesconto) { foreach (var item in comanda.Itens) { if (countDesconto > 0) { if (item.Nome.ToUpper() == EnumItens.Cerveja.ToString().ToUpper()) { item.Preco = 3.00; } countDesconto = countDesconto - 1; } } return(comanda); }
//public getComanda(int idComanda) public Model.Comanda.Comanda getComanda(int idComanda) { Model.Comanda.Comanda comanda = new Model.Comanda.Comanda(); using (var db = new ComandaContext()) { var dbcomanda = db.Comanda .Where(b => b.ID == idComanda).FirstOrDefault(); //.Where(b => b.ID == idComanda).ToList(); comanda = dbcomanda; } return(comanda); }
public int VerificaQuantidadeDesconto(Model.Comanda.Comanda comanda) { int desconto = 0; foreach (var item in comanda.Itens) { if (item.Nome.ToUpper() == EnumItens.Cerveja.ToString().ToUpper()) { if (item.Preco == 3.00) { desconto++; } } } return(desconto); }
public Model.Comanda.Comanda cadastraComanda(int idComanda, List <Item> itens) { Model.Comanda.Comanda comanda = new Model.Comanda.Comanda(); using (var db = new ComandaContext()) { db.Add(new Model.Comanda.Comanda { ID = idComanda, Itens = itens, PromocaoAguaPedidos = 0, PromocaoAguaRestantes = 0 }); db.SaveChanges(); var dbcomanda = db.Comanda .Where(b => b.ID == idComanda).FirstOrDefault(); comanda = dbcomanda; } return(comanda); }
private bool VerificaTresSucos(Model.Comanda.Comanda comanda) { int qtdSucos = 0; foreach (var item in comanda.Itens) { if (item.Nome.ToString().ToUpper() == EnumItens.Suco.ToString()) { qtdSucos++; } } if (qtdSucos > 3) { return(false); } return(true); }
public NotaFiscal FechamentoComanda(int idComanda) { NotaFiscal notaFiscal = new NotaFiscal(); ComandaDAO comandaDAO = new ComandaDAO(); Model.Comanda.Comanda comanda = new Model.Comanda.Comanda(); //setar peços pegando da base e setar na comanda //1.Cerveja: R$ 5,00 //2.Conhaque: R$ 20,00 //3.Suco: R$ 50,00 //4.Água: R$ 70,00 //sql verifica item da comanda na base e busca os itens //comanda = comandaDAO.getComanda(idComanda); DescontoBussines descontoBussines = new DescontoBussines(); NotaFiscalBussines notaFiscalBusiness = new NotaFiscalBussines(); comanda = descontoBussines.DescontoAplicado(comanda); notaFiscal = notaFiscalBusiness.GerarNotaFiscal(comanda); return(notaFiscal); }
private double VerificaPromocaoAgua(Model.Comanda.Comanda comandas) { int qtdConhaque = 0; int qtdCerveja = 0; double possivelQtdPromocaoConhaque = 0; double possivelQtdPromocaoCerveja = 0; foreach (var item in comandas.Itens) { if (item.Nome.ToString().ToUpper() == EnumItens.Conhaque.ToString().ToUpper()) { qtdConhaque++; } else if (item.Nome.ToString().ToUpper() == EnumItens.Cerveja.ToString().ToUpper()) { qtdCerveja++; } } if (!(qtdConhaque > 3 && qtdCerveja > 2)) { return(0); } possivelQtdPromocaoConhaque = qtdConhaque / 3; possivelQtdPromocaoCerveja = qtdCerveja / 2; if (possivelQtdPromocaoConhaque > possivelQtdPromocaoCerveja) { return(possivelQtdPromocaoCerveja); } else { return(possivelQtdPromocaoConhaque); } }
private Model.Comanda.Comanda CalculaDescontoCerveja(Model.Comanda.Comanda comanda) { int countCerveja = 0; int countSuco = 0; foreach (var item in comanda.Itens) { if (item.Nome.ToUpper() == EnumItens.Cerveja.ToString().ToUpper()) { countCerveja++; } if (item.Nome.ToUpper() == EnumItens.Suco.ToString().ToUpper()) { countSuco++; } } if (countCerveja == 0 || countSuco == 0) { return(comanda); } if (countCerveja == countSuco) { comanda = AplicaDescontoCerveja(comanda, countCerveja); } else if (countCerveja > countSuco) { comanda = AplicaDescontoCerveja(comanda, countSuco); } else { comanda = AplicaDescontoCerveja(comanda, countCerveja); } return(comanda); }
private NotaFiscal MontaNotaFiscal(Model.Comanda.Comanda comanda, int descontoCerveja) { NotaFiscal notaFiscal = new NotaFiscal(); double valorTotal = 0; foreach (var item in comanda.Itens) { notaFiscal.Item.Add(item); valorTotal = item.Preco; } notaFiscal.ValorTotal = valorTotal; if (descontoCerveja != 0) { notaFiscal.Desconto = descontoCerveja * 2; } else { notaFiscal.Desconto = 0; } return(notaFiscal); }