public ActionResult VisualizarCliente(int id)
        {
            Cliente             cliente;
            List <Venda>        comprasDoCliente = new List <Venda>();
            List <Venda>        comprasDoMes     = new List <Venda>();
            List <ProdutoVenda> produtos;
            List <ProdutoVenda> produtosDoMes = new List <ProdutoVenda>();
            decimal             ValorTotal    = 0;
            decimal             ValorMensal   = 0;

            using (var dao = new ClienteDaoEntity())
            {
                cliente = dao.Pegar(id);
            }
            using (var dao = new VendaDaoEntity())
            {
                List <Venda> lista = dao.PegarLista() as List <Venda>;
                comprasDoCliente.AddRange(from v in lista where v.IdCliente == cliente.IdCliente select v);
            }
            using (var dao = new ProdutoVendaDaoEntity())
            {
                produtos = dao.PegarLista() as List <ProdutoVenda>;
            }

            foreach (ProdutoVenda pv in produtos)
            {
                ValorTotal += pv.Valor;
            }

            comprasDoMes.AddRange(from v in comprasDoCliente where v.DataDaVenda.Month.Equals(DateTime.Today.Month) select v);
            List <int> ids = new List <int>();

            foreach (Venda compra in comprasDoMes)
            {
                ids.Add(compra.IdVenda);
            }

            produtosDoMes.AddRange(from p in produtos where ids.Contains(p.IdVenda) select p);
            foreach (ProdutoVenda pv in produtosDoMes)
            {
                ValorMensal += pv.Valor;
            }

            VisualizarComprasClientesViewModel vm = new VisualizarComprasClientesViewModel
            {
                Cliente          = cliente,
                Compras          = comprasDoCliente,
                Produtos         = produtos,
                ValorTotal       = ValorTotal,
                ValorMensal      = ValorMensal,
                VolumeCompras    = comprasDoCliente.Count,
                VolumeComprasMes = comprasDoMes.Count
            };

            return(View(vm));
        }
Example #2
0
        public ActionResult AdicionarVenda(FormularioVenda formularioVenda)
        {
            Cliente cliente;

            using (var dao = new ClienteDaoEntity())
            {
                cliente = dao.Pegar(formularioVenda.Cpf);
            }
            Vendedor vendedor;

            using (var dao = new VendedorDaoEntity())
            {
                vendedor = dao.Pegar(Convert.ToInt32(System.Web.HttpContext.Current.Session["IdVendedor"].ToString()));
            }

            formularioVenda.Venda.IdCliente   = cliente.IdCliente;
            formularioVenda.Venda.IdVendedor  = vendedor.IdVendedor;
            formularioVenda.Venda.DataDaVenda = DateTime.Now;

            if (PasswordEncrypt.CompareHash(formularioVenda.Senha, vendedor.Senha, vendedor.SaltSenha))
            {
                int idDaVenda;

                using (var dao = new VendaDaoEntity())
                {
                    dao.Adicionar(formularioVenda.Venda);
                    List <Venda> lista = dao.PegarLista() as List <Venda>;
                    idDaVenda = lista.Last().IdVenda;
                }

                Produto p;
                using (var daoProduto = new ProdutoDaoEntity())
                {
                    using (var dao = new ProdutoVendaDaoEntity())
                    {
                        foreach (var produto in formularioVenda.Produtos)
                        {
                            p = daoProduto.Pegar(produto.IdProduto);
                            p.QuantidadeEmEstoque--;
                            daoProduto.Alterar(p);
                            produto.IdVenda = idDaVenda;
                            produto.Valor   = produto.Quantidade * p.ValorUnitario;
                            dao.Adicionar(produto);
                        }
                    }
                }



                return(RedirectToAction("ListarVendas"));
            }
            return(RedirectToAction("Form"));
        }
Example #3
0
        public ActionResult ListarVendas()
        {
            List <Venda>        vendas;
            List <ProdutoVenda> produtos;

            using (var dao = new VendaDaoEntity())
            {
                vendas = dao.PegarLista() as List <Venda>;
            }
            using (var dao = new ProdutoVendaDaoEntity())
            {
                produtos = dao.PegarLista() as List <ProdutoVenda>;
            }

            ListaVendasViewModel vm = new ListaVendasViewModel
            {
                Vendas   = vendas,
                Produtos = produtos
            };

            return(View(vm));
        }
Example #4
0
        public ActionResult Index()
        {
            int id = Convert.ToInt32(System.Web.HttpContext.Current.Session["IdVendedor"].ToString());

            Vendedor            vendedor;
            List <Venda>        vendas        = new List <Venda>();
            List <Venda>        vendasDoMes   = new List <Venda>();
            List <ProdutoVenda> produtos      = new List <ProdutoVenda>();
            List <ProdutoVenda> produtosDoMes = new List <ProdutoVenda>();
            decimal             ValorTotal    = 0;
            decimal             ValorMensal   = 0;
            var categorias = new Dictionary <string, int>();

            using (var dao = new CategoriaDaoEntity())
            {
                List <Categoria> lista = dao.PegarLista() as List <Categoria>;
                foreach (var item in lista)
                {
                    categorias.Add(item.Nome, 0);
                }
            }

            List <int> ids = new List <int>();

            using (var dao = new VendedorDaoEntity())
            {
                vendedor = dao.Pegar(id);
            }
            using (var dao = new VendaDaoEntity())
            {
                List <Venda> lista = dao.PegarLista() as List <Venda>;
                vendas.AddRange(from v in lista where v.IdVendedor == vendedor.IdVendedor select v);
            }

            foreach (Venda venda in vendas)
            {
                ids.Add(venda.IdVenda);
            }
            using (var dao = new ProdutoVendaDaoEntity())
            {
                List <ProdutoVenda> lista = dao.PegarLista() as List <ProdutoVenda>;
                produtos.AddRange(from p in lista where ids.Contains(p.IdVenda) select p);
            }

            foreach (ProdutoVenda pv in produtos)
            {
                ValorTotal += pv.Valor;
            }
            ids.Clear();
            vendasDoMes.AddRange(from v in vendas where v.DataDaVenda.Month.Equals(DateTime.Today.Month) select v);

            foreach (Venda venda in vendasDoMes)
            {
                ids.Add(venda.IdVenda);
            }

            produtosDoMes.AddRange(from p in produtos where ids.Contains(p.IdVenda) select p);
            foreach (ProdutoVenda pv in produtosDoMes)
            {
                ValorMensal += pv.Valor;
            }

            VisualizarVendasVendedorViewModel vm = new VisualizarVendasVendedorViewModel
            {
                Vendedor        = vendedor,
                Vendas          = vendas,
                Produtos        = produtos,
                ValorTotal      = ValorTotal,
                ValorMensal     = ValorMensal,
                VolumeVendas    = vendas.Count,
                VolumeVendasMes = vendasDoMes.Count
            };

            return(View(vm));
        }
        public ActionResult VisualizarVendedor(int id)
        {
            Vendedor            vendedor;
            List <Venda>        vendas        = new List <Venda>();
            List <Venda>        vendasDoMes   = new List <Venda>();
            List <ProdutoVenda> produtos      = new List <ProdutoVenda>();
            List <ProdutoVenda> produtosDoMes = new List <ProdutoVenda>();
            decimal             ValorTotal    = 0;
            decimal             ValorMensal   = 0;

            List <int> ids = new List <int>();

            using (var dao = new VendedorDaoEntity())
            {
                vendedor = dao.Pegar(id);
            }
            using (var dao = new VendaDaoEntity())
            {
                List <Venda> lista = dao.PegarLista() as List <Venda>;
                vendas.AddRange(from v in lista where v.IdVendedor == vendedor.IdVendedor select v);
            }

            foreach (Venda venda in vendas)
            {
                ids.Add(venda.IdVenda);
            }
            using (var dao = new ProdutoVendaDaoEntity())
            {
                List <ProdutoVenda> lista = dao.PegarLista() as List <ProdutoVenda>;
                produtos.AddRange(from p in lista where ids.Contains(p.IdVenda) select p);
            }

            foreach (ProdutoVenda pv in produtos)
            {
                ValorTotal += pv.Valor;
            }
            ids.Clear();
            vendasDoMes.AddRange(from v in vendas where v.DataDaVenda.Month.Equals(DateTime.Today.Month) select v);

            foreach (Venda venda in vendasDoMes)
            {
                ids.Add(venda.IdVenda);
            }

            produtosDoMes.AddRange(from p in produtos where ids.Contains(p.IdVenda) select p);
            foreach (ProdutoVenda pv in produtosDoMes)
            {
                ValorMensal += pv.Valor;
            }

            VisualizarVendasVendedorViewModel vm = new VisualizarVendasVendedorViewModel
            {
                Vendedor        = vendedor,
                Vendas          = vendas,
                Produtos        = produtos,
                ValorTotal      = ValorTotal,
                ValorMensal     = ValorMensal,
                VolumeVendas    = vendas.Count,
                VolumeVendasMes = vendasDoMes.Count
            };

            return(View(vm));
        }
Example #6
0
        public JsonResult VendasAnuais()
        {
            int id = Convert.ToInt32(System.Web.HttpContext.Current.Session["IdVendedor"].ToString());

            Vendedor                     vendedor;
            List <Venda>                 vendas        = new List <Venda>();
            List <ProdutoVenda>          produtos      = new List <ProdutoVenda>();
            List <ProdutoVenda>          produtosDoMes = new List <ProdutoVenda>();
            List <List <Venda> >         vendasAnuais  = new List <List <Venda> >();
            Dictionary <string, decimal> vendasAnual   = new Dictionary <string, decimal>();

            List <int> ids = new List <int>();

            using (var dao = new VendedorDaoEntity())
            {
                vendedor = dao.Pegar(id);
            }
            using (var dao = new VendaDaoEntity())
            {
                List <Venda> lista = dao.PegarLista() as List <Venda>;
                vendas.AddRange(from v in lista where v.IdVendedor == vendedor.IdVendedor select v);
            }

            foreach (Venda venda in vendas)
            {
                ids.Add(venda.IdVenda);
            }
            using (var dao = new ProdutoVendaDaoEntity())
            {
                List <ProdutoVenda> lista = dao.PegarLista() as List <ProdutoVenda>;
                produtos.AddRange(from p in lista where ids.Contains(p.IdVenda) select p);
            }

            ids.Clear();

            var dataAtual = DateTime.Now;

            for (int i = 0; i < 12; i++)
            {
                vendasAnuais.Add(new List <Venda>());
                vendasAnuais[i].AddRange(from v in vendas where v.DataDaVenda.Month.Equals(dataAtual.AddMonths(i - 11).Month) && v.DataDaVenda.Year.Equals(dataAtual.AddMonths(i - 11).Year) select v);
                vendasAnual.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(dataAtual.AddMonths(i - 11).Month), 0);

                foreach (Venda venda in vendasAnuais[i])
                {
                    ids.Add(venda.IdVenda);
                }

                produtosDoMes.AddRange(from p in produtos where ids.Contains(p.IdVenda) select p);
                foreach (ProdutoVenda pv in produtosDoMes)
                {
                    vendasAnual[CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(dataAtual.AddMonths(i - 11).Month)] += pv.Valor;
                }
                ids.Clear();
                produtosDoMes.Clear();
            }

            Dictionary <string, decimal> val = new Dictionary <string, decimal>();
            var valores = from ele in vendasAnual
                          select ele;

            foreach (var item in valores)
            {
                val.Add(item.Key, item.Value);
            }

            Dictionary <string, decimal> .KeyCollection keys = val.Keys;



            return(Json(new { mes1 = val[keys.ElementAt(0)], nMes1 = keys.ElementAt(0),
                              mes2 = val[keys.ElementAt(1)], nMes2 = keys.ElementAt(1),
                              mes3 = val[keys.ElementAt(2)], nMes3 = keys.ElementAt(2),
                              mes4 = val[keys.ElementAt(3)], nMes4 = keys.ElementAt(3),
                              mes5 = val[keys.ElementAt(4)], nMes5 = keys.ElementAt(4),
                              mes6 = val[keys.ElementAt(5)], nMes6 = keys.ElementAt(5),
                              mes7 = val[keys.ElementAt(6)], nMes7 = keys.ElementAt(6),
                              mes8 = val[keys.ElementAt(7)], nMes8 = keys.ElementAt(7),
                              mes9 = val[keys.ElementAt(8)], nMes9 = keys.ElementAt(8),
                              mes10 = val[keys.ElementAt(9)], nMes10 = keys.ElementAt(9),
                              mes11 = val[keys.ElementAt(10)], nMes11 = keys.ElementAt(10),
                              mes12 = val[keys.ElementAt(11)], nMes12 = keys.ElementAt(11), }));
        }
        public JsonResult Top3Categorias()
        {
            int id = Convert.ToInt32(System.Web.HttpContext.Current.Session["IdVendedor"].ToString());

            Vendedor            vendedor;
            List <Venda>        vendas   = new List <Venda>();
            List <ProdutoVenda> produtos = new List <ProdutoVenda>();
            var categorias = new Dictionary <string, int>();

            using (var dao = new CategoriaDaoEntity())
            {
                List <Categoria> lista = dao.PegarLista() as List <Categoria>;
                foreach (var item in lista)
                {
                    categorias.Add(item.Nome, 0);
                }
            }

            List <int> ids = new List <int>();

            using (var dao = new VendedorDaoEntity())
            {
                vendedor = dao.Pegar(id);
            }
            using (var dao = new VendaDaoEntity())
            {
                List <Venda> lista = dao.PegarLista() as List <Venda>;
                vendas.AddRange(from v in lista where v.IdVendedor == vendedor.IdVendedor select v);
            }

            foreach (Venda venda in vendas)
            {
                ids.Add(venda.IdVenda);
            }
            using (var dao = new ProdutoVendaDaoEntity())
            {
                List <ProdutoVenda> lista = dao.PegarLista() as List <ProdutoVenda>;
                produtos.AddRange(from p in lista where ids.Contains(p.IdVenda) select p);
            }

            foreach (ProdutoVenda pv in produtos)
            {
                categorias[pv.Produto.Categoria.Nome] += 1 * pv.Quantidade;
            }

            Dictionary <string, int> val = new Dictionary <string, int>();
            var valores = from ele in categorias
                          orderby ele.Value descending
                          select ele;

            foreach (var item in valores)
            {
                val.Add(item.Key, item.Value);
            }

            Dictionary <string, int> .KeyCollection keys = val.Keys;

            return(Json(new { categoria1 = keys.ElementAt(0),
                              categoria2 = keys.ElementAt(1),
                              categoria3 = keys.ElementAt(2),
                              valor1 = val[keys.ElementAt(0)],
                              valor2 = val[keys.ElementAt(1)],
                              valor3 = val[keys.ElementAt(2)] }));
        }