コード例 #1
0
ファイル: KitAppServices.cs プロジェクト: GuiNigri/Ecommerce
        public async Task UpdateAsync(KitsViewModel kitsViewModel)
        {
            _unitOfWork.BeginTransaction();
            await _kitsServices.UpdateAsync(_mapper.Map <KitModel>(kitsViewModel));

            await _unitOfWork.CommitAsync();
        }
コード例 #2
0
        public async Task AtualizarCarrinho(ProdutoViewModel produtoModel, KitsViewModel kitsModel, int corId, int quantidade)
        {
            var cart = SessionHelper.GetObjectFromJson <List <CarrinhoViewModel> >(_httpContext.HttpContext.Session, "cart");

            if (produtoModel.Id > 0)
            {
                if (await HasEstoque(produtoModel.Id, corId, quantidade))
                {
                    var index = IsExist(produtoModel.Id, corId);
                    if (index != -1)
                    {
                        cart[index].QuantidadeIndividual = quantidade;
                        cart[index].ValorUnitarioTotal   =
                            (double.Parse(produtoModel.ValorVenda) * cart[index].QuantidadeIndividual).ToString("C");
                    }
                }
            }
            else
            {
                if (await HasEstoque(kitsModel.Id, quantidade, "AT"))
                {
                    var index = IsExist(kitsModel.Id, 0);

                    if (index != -1)
                    {
                        cart[index].QuantidadeIndividual = quantidade;
                        cart[index].ValorUnitarioTotal   = (double.Parse(kitsModel.ValorVenda) * cart[index].QuantidadeIndividual).ToString("C");
                    }
                }
            }

            var carrinhoAtualizadoPromo = await VerificarPromoCarrinho(cart);

            SessionHelper.SetObjectAsJson(_httpContext.HttpContext.Session, "cart", carrinhoAtualizadoPromo);
        }
コード例 #3
0
ファイル: KitsController.cs プロジェクト: GuiNigri/Ecommerce
        public async Task <IActionResult> Edit(KitsViewModel kitsViewModel)
        {
            try
            {
                await _kitsAppServices.UpdateAsync(kitsViewModel);

                kitsViewModel.StatusModel = "Success";
                ModelState.AddModelError(string.Empty, "Alterado com sucesso");
            }
            catch (Exception e)
            {
                kitsViewModel.StatusModel = "Error";
                ModelState.AddModelError(string.Empty, e.Message);
            }


            return(View(kitsViewModel));
        }
コード例 #4
0
        public async Task <string> AdicionarItemAoCarrinho(ProdutoViewModel produtoModel, KitsViewModel kitsModel, CorViewModel corViewModel, int quantidade, int corId)
        {
            var valorItem = produtoModel.Id > 0 ? (double.Parse(produtoModel.ValorVenda) * quantidade) :
                            (double.Parse(kitsModel.ValorVenda) * quantidade);


            if (SessionHelper.GetObjectFromJson <List <CarrinhoViewModel> >(_httpContext.HttpContext.Session, "cart") == null)
            {
                List <CarrinhoViewModel> carrinho;

                if (produtoModel.Id > 0)
                {
                    if (!await HasEstoque(produtoModel.Id, corViewModel.Id, quantidade))
                    {
                        return("Estoque insuficiente");
                    }


                    carrinho = new List <CarrinhoViewModel>
                    {
                        new CarrinhoViewModel {
                            Produto = produtoModel, QuantidadeIndividual = quantidade, Cor = corViewModel, ValorUnitarioTotal = valorItem.ToString("C"),
                            CorId   = corId
                        }
                    };
                }
                else
                {
                    if (!await HasEstoque(kitsModel.Id, quantidade, "AT"))
                    {
                        return("Estoque insuficiente");
                    }

                    carrinho = new List <CarrinhoViewModel>
                    {
                        new CarrinhoViewModel {
                            Kits = kitsModel, QuantidadeIndividual = quantidade, ValorUnitarioTotal = valorItem.ToString("C")
                        }
                    };
                }

                var carrinhoInicialAtualizadoPromo = await VerificarPromoCarrinho(carrinho);

                SessionHelper.SetObjectAsJson(_httpContext.HttpContext.Session, "cart", carrinhoInicialAtualizadoPromo);

                return("Produto adicionado ao carrinho");
            }

            var cart = SessionHelper.GetObjectFromJson <List <CarrinhoViewModel> >(_httpContext.HttpContext.Session,
                                                                                   "cart");

            int index;
            var quantReal = quantidade;

            if (produtoModel.Id > 0)
            {
                index = IsExist(produtoModel.Id, corViewModel.Id);



                if (index != -1)
                {
                    cart[index].QuantidadeIndividual += quantidade;
                    cart[index].ValorUnitarioTotal    =
                        (double.Parse(produtoModel.ValorVenda) * cart[index].QuantidadeIndividual).ToString("C");

                    quantReal = cart[index].QuantidadeIndividual;
                }
                else
                {
                    cart.Add(new CarrinhoViewModel
                    {
                        Produto = produtoModel, QuantidadeIndividual = quantidade, Cor = corViewModel, ValorUnitarioTotal = valorItem.ToString("C"), CorId = corId
                    });
                }

                if (!await HasEstoque(produtoModel.Id, corViewModel.Id, quantReal))
                {
                    return("Estoque insuficiente");
                }
            }
            else
            {
                index = IsExist(kitsModel.Id, 0);

                if (index != -1)
                {
                    cart[index].QuantidadeIndividual += quantidade;
                    cart[index].ValorUnitarioTotal    =
                        (double.Parse(kitsModel.ValorVenda) * cart[index].QuantidadeIndividual).ToString("C");

                    quantReal = cart[index].QuantidadeIndividual;
                }
                else
                {
                    cart.Add(new CarrinhoViewModel
                    {
                        Kits = kitsModel, QuantidadeIndividual = quantidade, ValorUnitarioTotal = valorItem.ToString("C")
                    });
                }

                if (!await HasEstoque(kitsModel.Id, quantReal, "AT"))
                {
                    return("Estoque insuficiente");
                }
            }

            //verificar promoção no carrinho todoo
            var carrinhoAtualizadoPromo = await VerificarPromoCarrinho(cart);

            SessionHelper.SetObjectAsJson(_httpContext.HttpContext.Session, "cart", carrinhoAtualizadoPromo);

            return("Produto adicionado ao carrinho");
        }