public ActionResult Pesquisa(string categoria, string termo) { using (var db = new alphasupermarketEntities()) { db.Configuration.LazyLoadingEnabled = false; List <Produto> lista = new List <Produto>(); if (!String.IsNullOrEmpty(categoria)) { if (categoria == "todos") { lista = db.Produto.Where(p => p.ativoProduto == "1").OrderBy(p => p.nomeProduto).ToList(); } else { int id = int.Parse(categoria); lista = db.Produto.Where(p => p.idCategoria == id).ToList(); } } else { lista = db.Produto.Where(p => p.nomeProduto.ToLower().Contains(termo.ToLower())).ToList(); } return(View(lista)); } }
public ActionResult Adicionar(Endereco model) { // removemos as chaves da validação, pois nesse caso nao vamos ter esses dados no Adicionar ModelState.Remove("idCliente"); ModelState.Remove("idEndereco"); if (ModelState.IsValid) { using (var db = new alphasupermarketEntities()) { string email = User.Identity.Name; var cliente = db.Cliente.FirstOrDefault(c => c.emailCliente == email); model.idCliente = cliente.idCliente; db.Endereco.Add(model); db.SaveChanges(); TempData["sucesso"] = "Endreço adicionado com sucesso !"; return(RedirectToAction("Index")); } } return(View(model)); }
private Cliente ValidaLogin(string usuario, string senha) { using (var db = new alphasupermarketEntities()) { return(db.Cliente.FirstOrDefault(c => c.emailCliente == usuario && c.senhaCliente == senha)); } }
public ActionResult Excluir(int id) { using (var db = new alphasupermarketEntities()) { var endereco = db.Endereco.Include("Pedido").FirstOrDefault(c => c.idEndereco == id); if (endereco.Pedido.Count > 0) { TempData["erro"] = "Operação cancelada. Existe um ou mais pedidos em aberto com esse endereço !"; return(RedirectToAction("Index")); } try { db.Endereco.Remove(endereco); db.SaveChanges(); TempData["sucesso"] = "Endreço excluído com sucesso !"; } catch (Exception) { TempData["erro"] = "Falha ao excluir endereço. Tente novamente."; } return(RedirectToAction("Index")); } }
public ActionResult MeusPedidos() { using (var db = new alphasupermarketEntities()) { string email = User.Identity.Name; var cliente = db.Cliente.Include("Pedido").Include("Pedido.StatusPedido").Include("Pedido.TipoPagamento").Include("Pedido.ItemPedido").Include("Pedido.ItemPedido.Produto").Include("Endereco").FirstOrDefault(c => c.emailCliente == email); return(View(cliente)); } }
public ActionResult Produto(int id) { using (var db = new alphasupermarketEntities()) { Produto produto = db.Produto.FirstOrDefault(p => p.idProduto == id); return(View(produto)); } }
public ActionResult Editar(int id) { using (var db = new alphasupermarketEntities()) { var endereco = db.Endereco.FirstOrDefault(c => c.idEndereco == id); return(View(endereco)); } }
public ActionResult DadosCadastrais() { using (var db = new alphasupermarketEntities()) { string email = User.Identity.Name; var cliente = db.Cliente.FirstOrDefault(c => c.emailCliente == email); return(View(cliente)); } }
public ActionResult Index() { using (var db = new alphasupermarketEntities()) { string email = User.Identity.Name; var cliente = db.Cliente.Include("Endereco").FirstOrDefault(c => c.emailCliente == email); return(View(cliente.Endereco.ToList())); } }
public ActionResult DetalhesPedido(int id) { using (var db = new alphasupermarketEntities()) { db.Configuration.LazyLoadingEnabled = false; var pedido = db.Pedido.Include("ItemPedido").Include("ItemPedido.Produto").FirstOrDefault(p => p.idPedido == id); return(View(pedido.ItemPedido.ToList())); } }
public static List <Categoria> MaisCategorias() { using (var db = new alphasupermarketEntities()) { db.Configuration.LazyLoadingEnabled = false; int[] categoriasUsadas = { 1, 2, 3, 4, 5, 6 }; return(db.Categoria.Where(c => !categoriasUsadas.Contains(c.idCategoria)).ToList()); } }
public static List <Produto> MaisVendidos() { using (var db = new alphasupermarketEntities()) { db.Configuration.LazyLoadingEnabled = false; var ids4MaisVendidos = db.ItemPedido.Include("Produto").GroupBy(p => p.idProduto).Select(gr => new { id = gr.Key, count = gr.Count() }).OrderByDescending(p => p.count).Take(4).Select(g => g.id).ToList(); return(db.Produto.Where(p => ids4MaisVendidos.Contains(p.idProduto)).ToList()); } }
public ActionResult FinalizarCompra() { var lista = RecuperaCarrinhoSessao(); if (lista.Count == 0) { return(RedirectToAction("Index", "Home")); } if (Request.Form.Count > 0) { foreach (var item in lista) { AtualizaQuantidadeSessao(item, int.Parse(Request.Form["quantidade[" + item.idProduto + "]"])); } } ViewBag.carrinho = RecuperaCarrinhoSessao(); List <SelectListItem> enderecos = new List <SelectListItem>(); List <SelectListItem> pagamentos = new List <SelectListItem>(); using (var db = new alphasupermarketEntities()) { db.Configuration.LazyLoadingEnabled = false; string email = User.Identity.Name; var cliente = db.Cliente.Include("endereco").FirstOrDefault(c => c.emailCliente == email); foreach (var endereco in cliente.Endereco.ToList()) { SelectListItem item = new SelectListItem(); item.Selected = false; item.Text = endereco.nomeEndereco; item.Value = endereco.idEndereco.ToString(); enderecos.Add(item); } pagamentos.Add(new SelectListItem() { Selected = false, Text = "Cartão de Crédito", Value = "1" }); } ViewBag.enderecos = enderecos; ViewBag.pagamentos = pagamentos; return(View()); }
public ActionResult Finalizar() { Pedido pedido = new Pedido(); using (var db = new alphasupermarketEntities()) { try { string email = User.Identity.Name; var cliente = db.Cliente.Include("endereco").FirstOrDefault(c => c.emailCliente == email); pedido.idCliente = cliente.idCliente; pedido.idStatus = (int)StatusTransacaoEnum.AguardandoAprovacao; pedido.dataPedido = DateTime.Now; pedido.idTipoPagto = byte.Parse(Request.Form["pagamento"].ToString()); pedido.idEndereco = int.Parse(Request.Form["endereco"].ToString()); db.Pedido.Add(pedido); db.SaveChanges(); var carrinho = RecuperaCarrinhoSessao(); foreach (var item in carrinho.Distinct()) { ItemPedido ip = new ItemPedido(); ip.idProduto = item.idProduto; ip.idPedido = pedido.idPedido; ip.qtdProduto = Convert.ToInt16(carrinho.Count(c => c.idProduto == item.idProduto)); ip.precoVendaItem = item.precProduto; db.ItemPedido.Add(ip); } db.SaveChanges(); TempData["mensagem"] = "Obrigado por comprar no Alpha Supermarket ! <br /> A partir de agora qualquer atualização do seu pedido será comunicado via email."; } catch (Exception) { TempData["erro"] = "Falha ao finalizar compra."; } } LimparCarrinho(); return(View()); }
public ActionResult Index() { using (var db = new alphasupermarketEntities()) { int quantidadeParaMostrar = 9; // retorna produtos ativos, ordenados randomicamente pegado so os quantidadeParaMostrar primeiros var produtosAleatorios = db.Produto.Where(p => p.ativoProduto == "1").OrderBy(p => Guid.NewGuid()).Take(quantidadeParaMostrar).ToList(); // os 4 produtos mais vendidos var ids4MaisVendidos = db.ItemPedido.Include("Produto").GroupBy(p => p.idProduto).Select(gr => new { id = gr.Key, count = gr.Count() }).OrderByDescending(p => p.count).Take(4).Select(g => g.id).ToList(); ViewBag.maisVendidos = db.Produto.Where(p => ids4MaisVendidos.Contains(p.idProduto)).ToList(); return(View(produtosAleatorios)); } }
public ActionResult CancelarPedido(int id) { using (var db = new alphasupermarketEntities()) { db.Configuration.LazyLoadingEnabled = false; var pedido = db.Pedido.FirstOrDefault(p => p.idPedido == id && p.idStatus <= 2); if (pedido != null) { pedido.idStatus = (int)StatusTransacaoEnum.Cancelado; db.SaveChanges(); } } return(RedirectToAction("MeusPedidos")); }
public JsonResult InsereProdutoCarrinho(int produtoId, int quantidade) { using (var db = new alphasupermarketEntities()) { List <Produto> carrinho = RecuperaCarrinhoSessao(); var produto = db.Produto.FirstOrDefault(p => p.idProduto == produtoId); if (produto != null) { carrinho = InsereProdutoSessao(produto, quantidade); } return(Json(new { totalProdutos = carrinho.Count, valorTotal = carrinho.Sum(c => (c.precProduto - c.descontoPromocao.Value)).ToString("n2") }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Editar(Endereco model) { using (var db = new alphasupermarketEntities()) { if (ModelState.IsValid) { try { db.Entry <Endereco>(model).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); TempData["sucesso"] = "Endreço alterado com sucesso !"; } catch (Exception) { TempData["erro"] = "Falha ao alterar o endereço. Tente novamente."; } } return(RedirectToAction("Index", "Endereco", new { returnUrl = Request.QueryString["ReturnUrl"] })); } }
public ActionResult Cadastrar(Cliente cliente, string returnUrl) { // removemos o erro do recebeNewsLetter, idCliente e data ModelState.Remove("recebeNewsLetter"); ModelState.Remove("idCliente"); ModelState.Remove("dtNascCliente"); using (var db = new alphasupermarketEntities()) { // Validamos se o email já existe var clienteComEmail = db.Cliente.FirstOrDefault(c => c.emailCliente == cliente.emailCliente); if (clienteComEmail != null && clienteComEmail.idCliente != cliente.idCliente) { ModelState.AddModelError("", "Email já cadastrado."); } // Validamos a data if (cliente.dtNascCliente == null) { ModelState.AddModelError("", "Data inválida."); } // valida a senha if (String.IsNullOrEmpty(cliente.senhaCliente)) { ModelState.AddModelError("", "Senha inválida."); } if (cliente.senhaCliente != Request.Form["confirmarSenha"]) { ModelState.AddModelError("", "Senhas não conferem."); } } if (ModelState.IsValid) { using (var db = new alphasupermarketEntities()) { try { // se o recebeNewsLetter esta presente no form if (Request.Form["recebeNewsLetter"] != null && Request.Form["recebeNewsLetter"] == "on") { cliente.recebeNewsLetter = true; } else { cliente.recebeNewsLetter = false; } if (cliente.idCliente == 0) { db.Cliente.Add(cliente); } else { try { db.Entry <Cliente>(cliente).State = System.Data.Entity.EntityState.Modified; } catch (Exception) { } } db.SaveChanges(); // Loga o cliente no sistema FormsAuthentication.SetAuthCookie(cliente.emailCliente, false); TempData["sucesso"] = "Cadastro salvo com sucesso !"; return(RedirectToLocal(returnUrl)); } catch (Exception ex) { // Adiciona o erro no model ModelState.AddModelError("", ex.Message); } } } return(View(cliente)); }