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")); }
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)); }
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)); } } }
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)); }
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)] })); }