public ActionResult GeneroCategorias(string nome, string cod) { try { List<Categoria> lstproduto = new List<Categoria>(); List<Cidade> lstcidade = new List<Cidade>(); //carregando categorias int codigo = 0; if (IsDigitsOnly(cod) && cod != "0") codigo = Convert.ToInt16(cod); if (nome == null || nome == "") { if (cod == "0")//só tem o nome pra buscar { lstproduto = db.Produtos.Include("categoria").Where(a => a.Status == 0).Select(b => b.categoria).ToList(); lstcidade = db.Produtos.Include("Cidade").Where(a => a.Status == 0).Select(b => b.Cidade).ToList(); } else if (!IsDigitsOnly(cod)) //busca nas subcategorias { lstproduto = db.Produtos.Include("categoria").Where(a => a.Status == 0 && a.categoria.categoriaPai == cod).Select(b => b.categoria).ToList(); lstcidade = db.Produtos.Include("Cidade").Where(a => a.Status == 0 && a.categoria.categoriaPai == cod).Select(b => b.Cidade).ToList(); } else //busca entre as categorias { int codcat = Convert.ToInt16(cod); string nomecat = db.Categorias.SingleOrDefault(a => a.categoriaCod == codcat).categoriaNome;// Where(a=> a.categoriaCod == cod).Select() lstproduto = db.Produtos.Include("categoria").Where(a => a.Status == 0 && (a.categoria.categoriaCod == codigo || a.categoria.categoriaPai == nomecat)).Select(b => b.categoria).ToList(); lstcidade = db.Produtos.Include("Cidade").Where(a => a.Status == 0 && (a.categoria.categoriaCod == codigo || a.categoria.categoriaPai == nomecat)).Select(b => b.Cidade).ToList(); } } else { if (cod == "0")//só tem o nome pra buscar { lstproduto = db.Produtos.Include("categoria").Where(a => a.Nome.Contains(nome) && a.Status == 0).Select(b => b.categoria).ToList(); lstcidade = db.Produtos.Include("Cidade").Where(a => a.Nome.Contains(nome) && a.Status == 0).Select(b => b.Cidade).ToList(); } else if (!IsDigitsOnly(cod)) //busca nas subcategorias { lstproduto = db.Produtos.Include("categoria").Where(a => a.Nome.Contains(nome) && a.Status == 0 && a.categoria.categoriaPai == cod).Select(b => b.categoria).ToList(); lstcidade = db.Produtos.Include("Cidade").Where(a => a.Nome.Contains(nome) && a.Status == 0 && a.categoria.categoriaPai == cod).Select(b => b.Cidade).ToList(); } else //busca entre as categorias { lstproduto = db.Produtos.Include("categoria").Where(a => a.Nome.Contains(nome) && a.Status == 0 && a.categoria.categoriaCod == codigo).Select(b => b.categoria).ToList(); lstcidade = db.Produtos.Include("Cidade").Where(a => a.Nome.Contains(nome) && a.Status == 0 && a.categoria.categoriaCod == codigo).Select(b => b.Cidade).ToList(); } } PesquisaViewModel pesquisa = new PesquisaViewModel(); pesquisa.categorias = new List<Categoria>(); foreach (var item in lstproduto) { pesquisa.categorias.Add(item); } //carregando cidades pesquisa.cidades = new List<Cidade>(); foreach (var item in lstcidade) { pesquisa.cidades.Add(item); } ViewData["nome"] = nome; if (cod == null) { ViewData["cod"] = 0; } else { ViewData["cod"] = cod; } return PartialView(pesquisa); } catch (Exception ex) { Mail email = new Mail(); email.Subject = "erro genero2"; email.Body = "GeneroCategorias(string nome, string cod)" + nome + cod + ex.StackTrace; SendMailerController a = new SendMailerController(); a.Index(email); } return View("Error"); }
public ActionResult GeneroCategoriaprinc() { try { PesquisaViewModel pesquisa = new PesquisaViewModel(); pesquisa.categorias = new List<Categoria>(); pesquisa.categorias = db.Categorias.Where(a => a.categoriaPai == "0").ToList(); return PartialView("GeneroCategorias", pesquisa); } catch (Exception ex) { Mail email = new Mail(); email.Subject = "errogenero1"; email.Body = " GeneroCategoriaprinc()" + ex.StackTrace; SendMailerController a = new SendMailerController(); a.Index(email); } return View("Error"); }