コード例 #1
0
        public void TestaRegraPromocaoCarne()
        {
            //Arrange
            PedidoRepository     pedidoRepo = new PedidoRepository();
            ItemPedidoRepository itemRepo   = new ItemPedidoRepository();

            FecharPedidoModel hamburger = new FecharPedidoModel()
            {
                idItemPedido            = 10,
                idPedido                = 4,
                idLanche                = 2,
                idIngrediente           = 4,
                idItemPedidoIngrediente = 1,
                valor      = 3,
                quantidade = 10,
                nomeLanche = "X-Bacon"
            };

            PromocaoBusiness promocaoBussiness = new PromocaoBusiness(itemRepo, pedidoRepo);


            //Act
            promocaoBussiness.promocaoCarne(new List <FecharPedidoModel>()
            {
                hamburger
            });

            //Assert
            Assert.Equal(hamburger.valorDesconto, 9);
        }
コード例 #2
0
        public void TestaRegraPromocaoQueijo()
        {
            //Arrange
            PedidoRepository     pedidoRepo = new PedidoRepository();
            ItemPedidoRepository itemRepo   = new ItemPedidoRepository();

            FecharPedidoModel queijo = new FecharPedidoModel()
            {
                idItemPedido            = 10,
                idPedido                = 4,
                idLanche                = 2,
                idIngrediente           = 6,
                idItemPedidoIngrediente = 1,
                valor      = 1.50,
                quantidade = 10,
                nomeLanche = "X-Bacon"
            };

            PromocaoBusiness promocaoBussiness = new PromocaoBusiness(itemRepo, pedidoRepo);


            //Act
            promocaoBussiness.promocaoQueijo(new List <FecharPedidoModel>()
            {
                queijo
            });

            //Assert
            Assert.Equal(queijo.valorDesconto, 4.50);
        }
コード例 #3
0
 public NotaFiscalController(NotaFiscalRepository notaFiscalRepo, PedidoRepository pedidoRepo, ItemPedidoRepository itemPedidoRepo, ItemNotaRepository itemNotaRepo)
 {
     _notaRepo       = notaFiscalRepo;
     _pedidoRepo     = pedidoRepo;
     _itemPedidoRepo = itemPedidoRepo;
     _itemNotaRepo   = itemNotaRepo;
 }
コード例 #4
0
        public void TestaRegraPromocoesLight()
        {
            //Arrange
            PedidoRepository     pedidoRepo = new PedidoRepository();
            ItemPedidoRepository itemRepo   = new ItemPedidoRepository();

            FecharPedidoModel alface = new FecharPedidoModel()
            {
                idItemPedido            = 10,
                idPedido                = 4,
                idLanche                = 2,
                idIngrediente           = 2,
                idItemPedidoIngrediente = 1,
                valor      = 0.40,
                quantidade = 1,
                nomeLanche = "X-Bacon"
            };


            PromocaoBusiness promocaoBussiness = new PromocaoBusiness(itemRepo, pedidoRepo);


            //Act
            promocaoBussiness.promocaoLight(new List <FecharPedidoModel>()
            {
                alface
            });

            //Assert
            Assert.Equal(alface.valorDesconto, 0.04);
        }
コード例 #5
0
 public PedidoController(
     PedidoRepository pedidoRepo,
     ItemPedidoRepository itemPedidoRepo,
     ClienteRepository clienteRepo,
     TransportadorRepository transportadorRepo,
     UsuarioRepository usuarioRepo
     )
 {
     _pedidoRepo        = pedidoRepo;
     _itemPedidoRepo    = itemPedidoRepo;
     _clienteRepo       = clienteRepo;
     _transportadorRepo = transportadorRepo;
     _usuarioRepo       = usuarioRepo;
 }
コード例 #6
0
        private async Task <List <ItemPedido> > SelecionarItensPorData(DateTime data)
        {
            using (ItemPedidoRepository repository = new ItemPedidoRepository())
            {
                decimal valorLiquido = 0, valorBruto = 0;
                var     result = await repository.SelecionarTodosPorData(data);

                result.ForEach(item =>
                {
                    valorLiquido = valorLiquido + (item.Produto.ValorVenda - item.Produto.ValorCompra);
                    valorBruto   = valorBruto + item.Produto.ValorVenda;
                });
                lblValorBrutoTxt.Text   = valorBruto.ToString();
                lblValorLiquidoTxt.Text = valorLiquido.ToString();
                return(result);
            }
        }
コード例 #7
0
 public PedidoServico(ItemPedidoRepository itemPedidoRepository)
 {
     _itemPedidoRepository = itemPedidoRepository;
 }
コード例 #8
0
        public ActionResult Create(PedidoClienteViewModel model)
        {
            if (model.Cliente <= 0)
            {
                ModelState.AddModelError("Cliente", "O campo Cliente é obrigatório.");
            }

            if (model.Endereco <= 0)
            {
                ModelState.AddModelError("Endereco", "O campo Endereço é obrigatório.");
            }

            if (!model.ItensPedido.Any(p => p.Quantidade > 0))
            {
                ModelState.AddModelError("ItensPedido", "A Quantidade dos itens do pedido deve ser maior que zero!");
            }

            if (ModelState.IsValid)
            {
                IPedidoRepository     pedidoRepository     = new PedidoRepository();
                IItemPedidoRepository itemPedidoRepository = new ItemPedidoRepository();

                PedidoSet pedido = new PedidoSet();
                pedido.ClienteId       = model.Cliente;
                pedido.DataPedido      = DateTime.Now;
                pedido.Endereco_Id     = model.Endereco;
                pedido.TipoEntregaId   = model.TipoEntrega;
                pedido.TipoPagamentoId = model.TipoPagamento;
                pedido.Status          = StatusPedidoEnum.Aberto;
                pedido.Obs             = model.Obs;
                pedido.UsuarioId       = usuarioRepository.ObterPorLogin(FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name).Id;


                List <ItemPedidoSet> itensPedido = new List <ItemPedidoSet>();
                foreach (var item in model.ItensPedido)
                {
                    if (item.Quantidade == 0)
                    {
                        continue;
                    }

                    ItemPedidoSet itemPedido = new ItemPedidoSet();
                    itemPedido.PedidoId   = pedido.Id;
                    itemPedido.ProdutoId  = item.Produto;
                    itemPedido.Quantidade = item.Quantidade;
                    itensPedido.Add(itemPedido);
                }

                pedido.ItemPedidoSet = itensPedido;
                pedidoRepository.Inserir(pedido);

                //Imprimindo cupom não fiscal
                //ImpressaoCupom imprimir = new ImpressaoCupom();
                //imprimir.EscreverNoDispositivo(pedido.Obs);

                return(RedirectToAction("Create"));
            }

            CarregarDropDown(model);
            return(View(model));
        }
コード例 #9
0
ファイル: FrmPedidos.cs プロジェクト: paulobressan/AFSport
 private async Task <List <ItemPedido> > SelecionarItensPorPedido()
 {
     using (ItemPedidoRepository repository = new ItemPedidoRepository())
         return(await repository.SelecionarPorPedido(pedido.IdPedido));
 }
コード例 #10
0
 public ItemPedidoController(ItemPedidoRepository itemPedidoRepo, ProdutoRepository produtoRepo)
 {
     _itemPedidoRepo = itemPedidoRepo;
     _produtoRepo    = produtoRepo;
 }
コード例 #11
0
        //private System.Web.ModelBinding.ModelStateDictionary modelState;

        public ItemPedidoService()
        {
            itemPedidoRepository = new ItemPedidoRepository();
        }
コード例 #12
0
 public void Initialize()
 {
     _ItemPedidoRepository = new ItemPedidoRepository();
 }
コード例 #13
0
 private async Task SalvarItemPedido(ItemPedido itemPedido)
 {
     using (ItemPedidoRepository repository = new ItemPedidoRepository())
         await repository.Salvar(itemPedido);
 }