public UpdateQuantidadeResponse(ItemCesta itemCesta, CarrinhoViewModel carrinhoViewModel)
 {
     ItemCesta         = itemCesta;
     CarrinhoViewModel = carrinhoViewModel;
 }
Exemple #2
0
 public UpdateItemPedidoResponse(ItemPedido itemPedido, CarrinhoViewModel carrinhoViewModel)
 {
     this.ItemPedido        = itemPedido;
     this.CarrinhoViewModel = carrinhoViewModel;
 }
        public async Task <IActionResult> Index()
        {
            var carrinho = SessionHelper.GetObjectFromJson <List <CarrinhoViewModel> >(HttpContext.Session, "cart");

            var carrinhoViewModel = new CarrinhoViewModel();

            if (carrinho != null)
            {
                carrinhoViewModel.CarrinhoViewModels = carrinho;

                var produtoCarrinho = carrinho.Any(x => x.Produto != null);

                double subTotal      = 0;
                double descontoTotal = 0;

                if (produtoCarrinho)
                {
                    subTotal += carrinho.FindAll(x => x.Produto != null).Sum(x => double.Parse(x.Produto.ValorVenda) * x.QuantidadeIndividual);

                    descontoTotal = carrinho.Sum(x => x.DescontoUnitarioProduto);
                }

                var kitsCarrinho = carrinho.Any(x => x.Kits != null);

                if (kitsCarrinho)
                {
                    subTotal += carrinho.FindAll(x => x.Kits != null).Sum(x => double.Parse(x.Kits.ValorVenda) * x.QuantidadeIndividual);
                }

                var userLogado = await _userManager.GetUserAsync(User);

                var usuario = await _usuarioAppServices.GetByUserIdAsync(userLogado.Id);

                if (usuario.DescontoCliente > 0)
                {
                    var teste = subTotal * (usuario.DescontoCliente / 100);
                    descontoTotal += teste;
                }

                var valorTotal = subTotal - descontoTotal;

                carrinhoViewModel.SubTotalPedido       = subTotal.ToString("C");
                carrinhoViewModel.ValorTotalPedido     = valorTotal.ToString("C");
                carrinhoViewModel.QuantidadeTotalItens = carrinho.Count();

                carrinhoViewModel.DescontoPedido = descontoTotal.ToString("C");
            }
            else
            {
                carrinhoViewModel.CarrinhoViewModels = new List <CarrinhoViewModel>();
            }

            carrinhoViewModel.StatusModel = "success";

            if (TempData["Error"] != null)
            {
                carrinhoViewModel.StatusModel = "Error";
                ModelState.AddModelError(string.Empty, TempData["Error"].ToString());
            }

            return(View("Index", carrinhoViewModel));
        }
        public IActionResult Resumo()
        {
            CarrinhoViewModel viewModel = GetCarrinhoViewModel();

            return(View(viewModel));
        }
 public UpdateQuantidadeResponse(ItemPedido itemPedido, CarrinhoViewModel carrinhoViewModel)
 {
     ItemPedido        = itemPedido;
     CarrinhoViewModel = carrinhoViewModel;
 }
Exemple #6
0
 public IActionResult Carrinho(CarrinhoViewModel carrinho)
 {
     return(View(carrinho));
 }
Exemple #7
0
        public IActionResult Carrinho()
        {
            CarrinhoViewModel carrinhoViewModel = GetCarrinhoViewModel();

            return(View(carrinhoViewModel));
        }
        private CarrinhoViewModel AplicarDescontoIngresso(PromocaoViewModel promocaoViewModel, CarrinhoViewModel carrinho, String tipoIngresso)
        {
            var tickets = carrinho.Sessions.Tickets;

            double valorIngresso = 0;

            switch (tipoIngresso)
            {
            case "MEN":
                valorIngresso = tickets.Min(p => p.Price);
                break;

            case "MAI":
                valorIngresso = tickets.Max(p => p.Price);
                break;
            }

            var ticketADescontar = tickets.Where(t => t.Price == valorIngresso).FirstOrDefault();

            ticketADescontar.Price = AplicarDescontoNoPreco(ticketADescontar.Price, promocaoViewModel.ValorDesconto);

            carrinho.TotalPrice = carrinho.Sessions.Tickets.Sum(t => t.Price);

            return(carrinho);
        }
        public CarrinhoViewModel AtualizarCarrinhoComPromocao(PromocaoViewModel promocaoViewModel, CarrinhoViewModel carrinho)
        {
            carrinho.TotalPrice = carrinho.Sessions.Tickets.Sum(t => t.Price);

            bool promocaoValida = AplicarRestricoesPromocao(carrinho, promocaoViewModel.Restricoes);

            if (promocaoValida)
            {
                switch (promocaoViewModel.SiglaAplicarPromocao)
                {
                case "MEN":
                    return(AplicarDescontoIngresso(promocaoViewModel, carrinho, promocaoViewModel.SiglaAplicarPromocao));

                case "MAI":
                    return(AplicarDescontoIngresso(promocaoViewModel, carrinho, promocaoViewModel.SiglaAplicarPromocao));

                case "TOT":
                    carrinho.TotalPrice = AplicarDescontoNoPreco(carrinho.Sessions.Tickets.Sum(t => t.Price), promocaoViewModel.ValorDesconto);
                    break;
                }
            }

            return(carrinho);
        }
Exemple #10
0
 public IActionResult Finalizar(CarrinhoViewModel carrinho)
 {
     return(View(carrinho));
 }
Exemple #11
0
 private void AtualizarSessao(Carrinho carrinho)
 {
     Carrinho = Mapper.Map <CarrinhoViewModel>(carrinho);
 }
Exemple #12
0
 public UpdateQuantidadeResponse(ItemPedido itemPedidoDB, CarrinhoViewModel carrinhoViewModel)
 {
     this.itemPedidoDB = this.itemPedidoDB;
     CarrinhoViewModel = carrinhoViewModel;
 }
Exemple #13
0
        public IViewComponentResult Invoke(CarrinhoViewModel carrinhoViewModel, bool ehResumo = false)
        {
            var itens = carrinhoViewModel.Itens;

            return(View("Default", new CarrinhoViewModel(itens, ehResumo)));
        }
 public UpdateQuantidadeOutput(ItemPedido itemPedido, CarrinhoViewModel carrinhoViewModel)
 {
     ItemPedido        = itemPedido;
     CarrinhoViewModel = carrinhoViewModel;
 }