Beispiel #1
0
        protected override void ToViewModel()
        {
            Carrinho c = (Carrinho)Entidades[typeof(Carrinho).Name];

            CarrinhoModel vm = new CarrinhoModel
            {
                Livros = new List <CarrinhoLivroModel>()
            };

            CarrinhoLivroModel livro;

            vm.PrecoTotal = 0;

            foreach (var item in c.CarrinhoLivro)
            {
                livro = new CarrinhoLivroModel
                {
                    Autor        = item.Livro.Autor,
                    CodigoBarras = item.Livro.CodigoBarras,
                    Preco        = Math.Round(item.Livro.Valor, 2),
                    Quantia      = item.Quantia,
                    Titulo       = item.Livro.Titulo,
                };
                vm.Livros.Add(livro);
                vm.PrecoTotal += livro.Preco * livro.Quantia;
            }

            _viewModel = vm;
        }
Beispiel #2
0
        public ActionResult Comprar()
        {
            ViewBag.Admin       = CurrentUser == null || CurrentUser.Perfil == PerfilUsuario.Cliente ? false : true;
            ViewBag.User        = CurrentUser == null ? "Logar" : "Bem Vindo";
            ViewBag.ExibeFooter = true;

            CarrinhoModel carrinho = null;

            if (CurrentUser != null)
            {
                carrinho = db.CarrinhoDB.Find(p => p.UsuarioId == CurrentUser.Id).FirstOrDefault();
            }

            if (carrinho != null)
            {
                decimal valorTotal = carrinho.Produtos.Sum(p => p.Quantidade * p.PrecoUnitario);
                var     model      = new VendaModel()
                {
                    UsuarioId  = carrinho.UsuarioId,
                    DataVenda  = DateTime.Now,
                    ValorTotal = valorTotal,
                    VendaItens = carrinho.Produtos
                };
                db.VendaDB.InsertOne(model);
                db.CarrinhoDB.DeleteMany(p => p.UsuarioId == CurrentUser.Id);
                return(RedirectToAction("Index", "Home", null));
            }

            return(View());
        }
Beispiel #3
0
        public ActionResult <IEnumerable <CarrinhoModel> > Carrinho(string id)
        {
            List <LivroModel> livro = new List <LivroModel>();

            livro.Add(new LivroModel("Livro Um", "Autor Um", 1986, "LV01A"));
            livro.Add(new LivroModel("Livro Dois", "Autor Dois", 1996, "LV02A"));
            CarrinhoModel carrinho = new CarrinhoModel();

            carrinho.IdCarrinho = id;
            carrinho.Livro      = livro;
            return(Ok(carrinho));
        }
Beispiel #4
0
 public LojaService(
     ClientInit cliente,
     CarrinhoModel carrinho,
     Produto produto
     )
 {
     this.cliente = cliente.Cliente();
     //this.carrinho = carrinho;
     this._carrinho            = new CarrinhoService();
     this.ListarProdutosNaLoja = produto.listPordutos();
     this.produtos             = new Produto();
 }
Beispiel #5
0
        public ActionResult <IEnumerable <CarrinhoModel> > FinalizarPedido(CarrinhoModel carrinho)
        {
            Transacao           transacao = new Transacao();
            HttpResponseMessage response;

            response = GlobalVariablesTrans.WebApiClient.PostAsJsonAsync("transacao/cartao", transacao).Result;
            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                return(Ok("ok"));
            }
            else
            {
                return(BadRequest());
            }
        }
Beispiel #6
0
        public ActionResult AddCarrinho(string id, int quantidade = 1)
        {
            ViewBag.Admin       = CurrentUser == null || CurrentUser.Perfil == PerfilUsuario.Cliente ? false : true;
            ViewBag.User        = CurrentUser == null ? "Logar" : "Bem Vindo";
            ViewBag.ExibeFooter = true;

            if (CurrentUser == null)
            {
                return(RedirectToAction("Index", "Login", null));
            }
            else
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var produto = db.ProdutosDB.Find(p => p.Id == id).FirstOrDefault();
                    var item    = new CarrinhoItemModel()
                    {
                        PrecoUnitario = produto.Preco,
                        ProdutoId     = produto.Id,
                        Titulo        = produto.Titulo,
                        Quantidade    = quantidade
                    };

                    var carrinho = db.CarrinhoDB.Find(p => p.UsuarioId == CurrentUser.Id).FirstOrDefault();
                    if (carrinho == null)
                    {
                        carrinho = new CarrinhoModel()
                        {
                            UsuarioId = CurrentUser.Id,
                            Produtos  = new List <CarrinhoItemModel>()
                        };
                        carrinho.Produtos.Add(item);
                        db.CarrinhoDB.InsertOne(carrinho);
                    }
                    else
                    {
                        carrinho.Produtos.Add(item);
                        var filter = Builders <CarrinhoModel> .Filter.Eq(p => p.Id, carrinho.Id);

                        db.CarrinhoDB.ReplaceOne(filter, carrinho);
                    }
                    return(RedirectToAction("Index", "Carrinho", null));
                }
            }
            return(View());
        }
        public ActionResult Adicionar([Bind("Id,Quantidade")] CarrinhoModel model)
        {
            //se não houver erros no parãmetro do método
            if (ModelState.IsValid)
            {
                //se não existir nenhum dado armazenado na sessão do usuário atual
                if (SessionHelper.GetObjectFromJson <List <CarrinhoModel> >(HttpContext.Session, "cart") == null)
                {
                    //cria uma nova lista de itens do carrinho de compras
                    List <CarrinhoModel> cart = new List <CarrinhoModel>();

                    //adiciona o item informado no parâmetro para a lista
                    cart.Add(model);

                    //salva a lista na sessão do usuário
                    SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart);
                }
                else
                {
                    //obtém a lista de itens do carrinho do usuário
                    List <CarrinhoModel> cart = SessionHelper.GetObjectFromJson <List <CarrinhoModel> >(HttpContext.Session, "cart");

                    //pesquisa se o item informado no parâmetro já existe no carrinho
                    CarrinhoModel item = cart.FirstOrDefault(x => x.Id == model.Id);

                    //se o item já existir, aumente a quantidade
                    if (item != null)
                    {
                        item.Quantidade += model.Quantidade;
                    }
                    else
                    {
                        //se o item não existir, adicione-o ao carrinho
                        cart.Add(model);
                    }

                    //salve as alterações na sessão do usuário
                    SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart);
                }
            }


            return(RedirectToAction("Index"));
        }
Beispiel #8
0
        public ActionResult <IEnumerable <CarrinhoModel> > Carrinho([FromBody] CarrinhoModel carrinho)
        {
            try
            {
                carrinho.IdCarrinho = "01";
                carrinho.Livro      = carrinho.Livro;

                if (login(carrinho.Usuario))
                {
                    return(Created("", carrinho));
                }
                else
                {
                    return(BadRequest("Erro ao autenticar"));
                }
            }
            catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #9
0
        // GET: Carrinho
        public ActionResult Index()
        {
            ViewBag.Admin       = CurrentUser == null || CurrentUser.Perfil == PerfilUsuario.Cliente ? false : true;
            ViewBag.User        = CurrentUser == null ? "Logar" : "Bem Vindo";
            ViewBag.ExibeFooter = true;

            if (CurrentUser == null)
            {
                return(Redirect("~/Login"));
            }
            var list = db.CarrinhoDB.Find(p => p.UsuarioId == CurrentUser.Id).FirstOrDefault();

            if (list == null)
            {
                list = new CarrinhoModel();
            }

            ViewBag.ValorTotal = list.Produtos.Sum(p => p.PrecoUnitario * p.Quantidade);

            return(View(list));
        }
Beispiel #10
0
        public ActionResult Details(ProdutoModel produto)
        {
            if (produto.Quantidade > 0)
            {
                // Cria um carrinho vazio na sessão se ele não exitir
                if (Session["SessionCarrinho"] == null)
                {
                    Session["SessionCarrinho"] = new CarrinhoModel();
                }

                // Pega o carrinho atual da Sessão
                var carrinho = (Models.CarrinhoModel)Session["SessionCarrinho"];

                carrinho.AddItem(produto);

                return(RedirectToAction("Index", "Carrinho"));
            }
            else
            {
                ViewBag.Mensagem = "Informe a quantidade!";
            }

            return(View(produto));
        }
Beispiel #11
0
 public CarrinhoService()
 {
     data = new CarrinhoModel();
 }
 public CarrinhoController()
 {
     ModelCarrinho = new CarrinhoModel();
 }