Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public Model.Comanda.Comanda DescontoAplicado(Model.Comanda.Comanda comanda)
        {
            if (comanda.Itens.Count() == 0)
            {
                return(null);
            }

            comanda = CalculaDescontoCerveja(comanda);

            return(comanda);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 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);
 }
Ejemplo n.º 7
0
        //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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
            }
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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);
        }