示例#1
0
        public Sacola()
        {
            Produtos = new List <SacolaProduto>();

            ProdutoSelecionado = new long[(ProdutoBO.ListarProduto()).Count];
            SedexFormatado     = "0.00";
            TipoPagamento      = "";
            // SedexFormatado = string.Format("{0:C}", 0);
            // SedexFormatado = string.Format("R${0:0.00#.##}", 0);
            //  SedexFormatado = 0.ToString("N2").Replace(",", "").Replace(".", "");
        }
示例#2
0
        public ActionResult DetalheProduto(string codigo, string produtosSacola)
        {
            this.PreencherSacola(produtosSacola);
            Sacola  sacola  = (Sacola)HttpContext.Session["sacola"];
            Usuario usuario = (Usuario)HttpContext.Session["usuario"];

            if (sacola == null)
            {
                sacola = new Sacola();
            }
            Produto produto = new Produto();

            if (!String.IsNullOrEmpty(codigo))
            {
                produto = ProdutoBO.ObterProduto(codigo);
            }
            if (sacola.ProdutoSelecionado != null)
            {
                ViewBag.QtdeProdutoSelecionado  = sacola.Produtos.Count;
                ViewBag.ValorProdutoSelecionado = sacola.TotalProduto;
            }
            else
            {
                ViewBag.QtdeProdutoSelecionado  = 0;
                ViewBag.ValorProdutoSelecionado = 0d;
            }
            ViewBag.ListaProdutoArray = new long[sacola.Produtos.Count];
            List <Produto> listaProdutosRelacionado = new List <Produto>();
            List <Produto> listaProdutos            = ProdutoBO.ListarProduto();

            if (produto != null)
            {
                string[] temas = produto.TemaRelacionado.Split(',');
                foreach (Produto prod in listaProdutos)
                {
                    for (int i = 0; i < temas.Length; i++)
                    {
                        if (prod.TemaRelacionado.Contains(temas[i]))
                        {
                            if (!listaProdutosRelacionado.Contains(prod) && !produto.Codigo.Equals(prod.Codigo))
                            {
                                listaProdutosRelacionado.Add(prod);
                            }
                        }
                    }
                }
            }
            ViewBag.ProdutosRelacionados = listaProdutosRelacionado;
            ViewBag.usuario = usuario;
            HttpContext.Session["sacola"] = sacola;
            return(View("DetalheProduto", produto));
        }
示例#3
0
        public ActionResult Index(string produtosSelecionados = "")
        {
            log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            log.Debug("-------------------------------Inicio Box Festa");
            PreencherSacola(produtosSelecionados);
            Sacola  sacola  = (Sacola)HttpContext.Session["sacola"];
            Usuario usuario = (Usuario)HttpContext.Session["usuario"];
            // this.CriarPedido("06013737665");

            List <Produto> listaProduto = ProdutoBO.ListarProduto();

            if (sacola == null)
            {
                sacola = new Sacola();
            }
            if (usuario != null)
            {
                sacola.Usuario = usuario;
            }
            sacola              = this.LimparEndereco(sacola);
            sacola.Sedex        = 0;
            sacola.TotalProduto = 0;
            foreach (SacolaProduto produto in sacola.Produtos)
            {
                sacola.TotalProduto = sacola.TotalProduto + (produto.Produto.Valor * produto.Produto.Qtde);
            }

            sacola.TotalSacola = sacola.TotalProduto;
            List <Produto> listaTodosProdutosAvulsos = listaProduto.Where(c => c.ehKit == false).ToList();

            ViewBag.TotalAvulso             = listaTodosProdutosAvulsos.Count;
            ViewBag.ListaProduto            = listaTodosProdutosAvulsos;
            ViewBag.ListaProdutoSale        = listaProduto.Where(c => c.ehSale == true);
            ViewBag.ListaKit                = listaProduto.Where(c => c.ehKit == true);
            ViewBag.ListaProdutoArray       = sacola.ProdutoSelecionado;
            ViewBag.ValorProdutoSelecionado = sacola.TotalSacola;
            ViewBag.QtdeProdutoSelecionado  = sacola.Produtos.Count;
            ViewBag.ProdutosSacola          = "";
            ViewBag.Usuario = usuario;
            HttpContext.Session["sacola"] = sacola;

            return(View("Index", sacola));
        }
示例#4
0
        private void PreencherViewBag()
        {
            Sacola  sacola  = (Sacola)HttpContext.Session["sacola"];
            Usuario usuario = (Usuario)HttpContext.Session["usuario"];
            // this.CriarPedido("06013737665");

            List <Produto> listaProduto = ProdutoBO.ListarProduto();

            if (sacola == null)
            {
                sacola = new Sacola();
            }
            if (usuario != null)
            {
                sacola.Usuario = usuario;
            }

            sacola.TotalProduto = 0;
            foreach (SacolaProduto produto in sacola.Produtos)
            {
                sacola.TotalProduto = sacola.TotalProduto + (produto.Produto.Valor * produto.Produto.Qtde);
            }

            sacola.TotalSacola = sacola.TotalProduto;
            List <Produto>        listaTodosProdutosAvulsos = listaProduto.Where(c => c.ehKit == false).ToList();
            List <Endereco>       listaEndereco             = EnderecoBO.ListarEndereco(usuario.Id);
            List <FormaPagamento> listaFormaPagamento       = FormaPagamentoBO.ListarFormaPagamento(usuario.Id);

            ViewBag.ComboEndereco       = new SelectList(listaEndereco, "Id", "Rua");
            ViewBag.ComboFormaPagamento = new SelectList(listaFormaPagamento, "Id", "Numero");

            ViewBag.TotalAvulso             = listaTodosProdutosAvulsos.Count;
            ViewBag.ListaProduto            = listaTodosProdutosAvulsos;
            ViewBag.ListaProdutoSale        = listaProduto.Where(c => c.ehSale == true);
            ViewBag.ListaKit                = listaProduto.Where(c => c.ehKit == true);
            ViewBag.ListaProdutoArray       = sacola.ProdutoSelecionado;
            ViewBag.ValorProdutoSelecionado = sacola.TotalSacola;
            ViewBag.QtdeProdutoSelecionado  = sacola.Produtos.Count;
            ViewBag.ProdutosSacola          = "";
            ViewBag.Usuario = usuario;
            HttpContext.Session["sacola"] = sacola;
        }
示例#5
0
        public ActionResult Products(string listaProduto, string secao = "0")
        {
            PreencherSacola(listaProduto);
            Sacola sacola = (Sacola)HttpContext.Session["sacola"];


            List <Produto> listaProdutos = ProdutoBO.ListarProduto();

            if (sacola == null)
            {
                sacola = new Sacola();
            }
            Usuario usuario = (Usuario)HttpContext.Session["usuario"];

            sacola              = this.LimparEndereco(sacola);
            sacola.Sedex        = 0;
            sacola.TotalProduto = 0;
            foreach (SacolaProduto produto in sacola.Produtos)
            {
                sacola.TotalProduto = sacola.TotalProduto + (produto.Produto.Valor * produto.Produto.Qtde);
            }
            sacola.TotalSacola = sacola.TotalProduto;
            List <Produto> listaTodosProdutosAvulsos = listaProdutos.Where(c => c.ehKit == false).ToList();

            ViewBag.TotalAvulso             = listaTodosProdutosAvulsos.Count;
            ViewBag.ListaProduto            = listaTodosProdutosAvulsos;
            ViewBag.ListaProdutoSale        = listaProdutos.Where(c => c.ehSale == true);
            ViewBag.ListaProdutoMaisVendido = listaProdutos.Where(c => c.ehMaisVendido == true);
            ViewBag.ListaKit                = listaProdutos.Where(c => c.ehKit == true);
            ViewBag.ListaProdutoArray       = sacola.ProdutoSelecionado;
            ViewBag.ValorProdutoSelecionado = sacola.TotalSacola;
            ViewBag.ProdutosSacola          = "";
            ViewBag.Secao = secao;

            ViewBag.QtdeProdutoSelecionado = sacola.Produtos.Count;
            ViewBag.Usuario = usuario;
            HttpContext.Session["sacola"] = sacola;
            return(View(sacola));
        }
示例#6
0
        public ActionResult Pesquisa(string listaProduto, string buscar = "")
        {
            string[] palavrasBuscar = buscar.ToLower().Split(' ');

            PreencherSacola(listaProduto);
            Sacola sacola = (Sacola)HttpContext.Session["sacola"];


            List <Produto> listaProdutos = ProdutoBO.ListarProduto();

            if (sacola == null)
            {
                sacola = new Sacola();
            }
            sacola              = this.LimparEndereco(sacola);
            sacola.Sedex        = 0;
            sacola.TotalProduto = 0;
            foreach (SacolaProduto produto in sacola.Produtos)
            {
                sacola.TotalProduto = sacola.TotalProduto + (produto.Produto.Valor * produto.Produto.Qtde);
            }
            sacola.TotalSacola = sacola.TotalProduto;
            List <Produto> listaTodosProdutos = listaProdutos.ToList();

            List <Produto> listaTodosProdutosFiltrados = new List <Produto>();

            if (palavrasBuscar.Length > 0 && !palavrasBuscar[0].Equals(""))
            {
                foreach (Produto prod in listaTodosProdutos)
                {
                    foreach (string palavraBuscar in palavrasBuscar)
                    {
                        if (palavraBuscar.Length > 2 && !palavraBuscar.Equals("para"))
                        {
                            if (prod.TemaRelacionado.Contains(palavraBuscar))
                            {
                                if (!listaTodosProdutosFiltrados.Contains(prod))
                                {
                                    listaTodosProdutosFiltrados.Add(prod);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                listaTodosProdutosFiltrados.AddRange(listaTodosProdutos);
            }

            ViewBag.TotalAvulso             = listaTodosProdutosFiltrados.Count;
            ViewBag.ListaProduto            = listaTodosProdutosFiltrados;
            ViewBag.ListaProdutoArray       = sacola.ProdutoSelecionado;
            ViewBag.ValorProdutoSelecionado = sacola.TotalSacola;
            ViewBag.ProdutosSacola          = "";


            ViewBag.QtdeProdutoSelecionado = sacola.Produtos.Count;
            HttpContext.Session["sacola"]  = sacola;
            return(View(sacola));
        }
示例#7
0
        private void PreencherSacola(string sacolaProdutos)
        {
            Sacola sacola = (Sacola)HttpContext.Session["sacola"];

            //sacola.SedexFormatado = string.Format("R${0:0.00#,##}", 0);
            // sacola.SedexFormatado =  0.ToString().Replace(".","").Replace(",","");
            if (sacola == null)
            {
                sacola = new Sacola();
            }
            sacola.TotalProduto = 0;
            if (!String.IsNullOrEmpty(sacolaProdutos) && sacolaProdutos.Contains(','))
            {
                string[] listaProdutoArray = sacolaProdutos.Split(',');
                for (int i = 0; i < listaProdutoArray.Length - 1; i++)
                {
                    // Primeiro Preenche os produtos da sessao e dps da requisição
                    Produto produto = ProdutoBO.ObterProduto(listaProdutoArray[i]);


                    if (!sacola.Produtos.Any(c => c.ProdutoId == produto.Id))
                    {
                        produto.Qtde = 1;
                        SacolaProduto sacolaProd = new SacolaProduto();
                        sacolaProd.Sacola    = sacola;
                        sacolaProd.SacolaId  = sacola.Id;
                        sacolaProd.Produto   = produto;
                        sacolaProd.ProdutoId = produto.Id;
                        sacola.Produtos.Add(sacolaProd);
                    }
                    else
                    {
                        SacolaProduto sacolaProduto = sacola.Produtos.Where(c => c.Produto.Codigo.Equals(listaProdutoArray[i])).First();
                        produto = sacolaProduto.Produto;
                        produto.Qtde++;
                    }
                }
                //Retira os duplicados
                List <Produto> listaSemDuplicado = new List <Produto>();
                foreach (SacolaProduto prod in sacola.Produtos)
                {
                    if (!listaSemDuplicado.Contains(prod.Produto))
                    {
                        listaSemDuplicado.Add(prod.Produto);
                    }
                    else
                    {
                        Produto produto = listaSemDuplicado.Where(c => c.Codigo.Equals(prod.Produto.Codigo)).FirstOrDefault();
                        produto.Qtde++;
                    }
                }
                sacola.Produtos.Clear();
                foreach (Produto produto in listaSemDuplicado)
                {
                    SacolaProduto sacolaProd = new SacolaProduto();
                    sacolaProd.Produto   = produto;
                    sacolaProd.ProdutoId = produto.Id;
                    sacolaProd.Sacola    = sacola;
                    sacolaProd.SacolaId  = sacola.Id;
                    sacola.Produtos.Add(sacolaProd);
                }
                //Fim do Retira duplicação
                foreach (SacolaProduto prod in sacola.Produtos)
                {
                    sacola.TotalProduto = sacola.TotalProduto + (prod.Produto.Valor * prod.Produto.Qtde);
                }
                sacola.TotalSacola        = sacola.TotalProduto + sacola.Sedex;
                sacola.ProdutoSelecionado = new long[(ProdutoBO.ListarProduto()).Count];
            }
            HttpContext.Session["sacola"] = sacola;
        }