public async Task UpdateAsync(KitsViewModel kitsViewModel) { _unitOfWork.BeginTransaction(); await _kitsServices.UpdateAsync(_mapper.Map <KitModel>(kitsViewModel)); await _unitOfWork.CommitAsync(); }
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); }
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)); }
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"); }