コード例 #1
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"));
        }
コード例 #2
0
        public ActionResult Form(int id, string acao)
        {
            VendedorFormViewModel vm = new VendedorFormViewModel
            {
                Acao = $"../{acao}"
            };

            if (id == 0)
            {
                vm.Vendedor = new Vendedor();
            }
            else
            {
                using (var dao = new VendedorDaoEntity())
                {
                    vm.Vendedor = dao.Pegar(id);
                }
            }

            return(View(vm));
        }
コード例 #3
0
        public ActionResult Login(VendedorLogin vendedorLogin)
        {
            Vendedor vendedor;
            string   salt;

            using (var dao = new VendedorDaoEntity())
            {
                vendedor = dao.Pegar(vendedorLogin.Cpf);
                salt     = vendedor.SaltSenha;
            }

            ErroLoginViewModel vm = new ErroLoginViewModel
            {
                Mensagem = "Ocorreu um erro, tente novamente"
            };

            if (vendedor.IdVendedor == 0)
            {
                return(View("Index", vm));
            }
            else
            {
                HttpContext ctx = System.Web.HttpContext.Current;
                if (PasswordEncrypt.CompareHash(vendedorLogin.Senha, vendedor.Senha, salt))
                {
                    System.Web.HttpContext.Current.Session["IdVendedor"]            = vendedor.IdVendedor;
                    System.Web.HttpContext.Current.Session["NomeVendedor"]          = vendedor.Nome;
                    System.Web.HttpContext.Current.Session["GrupoDeAcessoVendedor"] = vendedor.GrupoDeAcesso;
                    return(Redirect("/"));
                }
                else
                {
                    return(View("Index", vm));
                }
            }
        }
コード例 #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));
        }
コード例 #5
0
        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));
        }
コード例 #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), }));
        }
コード例 #7
0
        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)] }));
        }