public ActionResult Index() { int tableroId = -1; int clienteId = GetClienteSeleccionado(); if (clienteId == 0) { return(PartialView("UsuarioSinClientes")); } if (!commonRepository.tieneFiltrosAsignados(IdModulo, clienteId)) { return(View("_NoTieneFiltros")); } FiltrosViewModel model = GetFiltrosAplicadosPorTablero(IdModulo, tableroId); if (model.FiltrosFechas.Count > 0) { model.FiltrosFechas.First().DiaDesde = DateTime.Now.ToString("yyyy-MM-01"); model.FiltrosFechas.First().DiaHasta = DateTime.Now.ToString("yyyy-MM-dd"); } return(View("UnifiedMap", model)); }
public ActionResult Index() { int clienteId = GetClienteSeleccionado(); if (clienteId == 0) { return(PartialView("UsuarioSinClientes")); } int userId = GetUsuarioLogueado(); userId = usuarioRepository.GetUsuarioPerformance(userId); if (!commonRepository.tieneFiltrosAsignados(IdModulo, clienteId)) { return(View("_NoTieneFiltros")); } int tableroId = -1; FiltrosViewModel model = new FiltrosViewModel(); model = GetFiltrosAplicadosPorTablero(IdModulo, tableroId); return(View(model)); }
public JsonResult GetFiltrosJson() { int userId = GetUsuarioLogueado(); int ClienteId = GetClienteSeleccionado(); IEnumerable <Filtro> filtros = tableroRepository.GetFiltros(0, userId, ClienteId); FiltrosViewModel filtrosVM = new FiltrosViewModel(); foreach (Filtro f in filtros.Where(m => m.TipoFiltro == TipoFiltro.CheckBox)) { var FiltroVM = new FiltroCheckViewModel(); foreach (Item i in f.Items) { FiltroVM.Items.Add(new ItemViewModel() { IdItem = i.IdItem, TipoItem = i.TipoItem, Selected = i.Selected, Descripcion = i.Descripcion.ToUpper() }); } FiltroVM.Id = f.Id; FiltroVM.Nombre = f.Nombre; filtrosVM.FiltrosChecks.Add(FiltroVM); } foreach (Filtro f in filtros.Where(m => m.TipoFiltro == TipoFiltro.Fecha)) { var FiltroVM = new FiltroFechaViewModel(); foreach (Item i in f.Anios) { FiltroVM.Anios.Add(new ItemDropDownListViewModel() { Value = i.IdItem, Descripcion = i.Descripcion }); } foreach (Item i in f.Meses) { FiltroVM.Meses.Add(new ItemDropDownListViewModel() { Value = i.IdItem, Descripcion = i.Descripcion, ParentValue = i.IdParent }); } foreach (Item i in f.Semanas) { FiltroVM.Semanas.Add(new ItemDropDownListViewModel() { Value = i.IdItem, Descripcion = i.Descripcion, ParentValue = i.IdParent }); } foreach (Item i in f.Trimestres) { FiltroVM.Trimestres.Add(new ItemDropDownListViewModel() { Value = i.IdItem, Descripcion = i.Descripcion, ParentValue = i.IdParent }); } FiltroVM.Id = f.Id; FiltroVM.Nombre = f.Nombre; filtrosVM.FiltrosFechas.Add(FiltroVM); } return(Json(filtrosVM, JsonRequestBehavior.AllowGet)); }
public IActionResult Listar(FiltrosViewModel filtros) { var usuarios = new List <Usuario>(); if (!string.IsNullOrEmpty(filtros.Ativo)) { usuarios = this.usuarioRepository.Listar(x => !string.IsNullOrEmpty(filtros.Nome) ? x.Nome.ToLower().Contains(filtros.Nome.ToLower()) : true && (filtros.Ativo == "1" && x.Ativo || filtros.Ativo == "2" && !x.Ativo)); } else { usuarios = this.usuarioRepository.Listar(x => !string.IsNullOrEmpty(filtros.Nome) ? x.Nome.ToLower().Contains(filtros.Nome.ToLower()) : true); } var relatorioViewModel = new RelatorioViewModel { Usuarios = usuarios.Select(x => { return(new UsuarioViewModel(x)); }).ToList(), Filtros = filtros }; return(View(relatorioViewModel)); }
// GET: FiltroRelatorio public ActionResult Index() { FiltrosViewModel model = new FiltrosViewModel(); CategoriaDAO categoriaDAO = new CategoriaDAO(); //model.Categorias = categoriaDAO.GetAll(); return(View(model)); }
public ActionResult Index() { CategoriaController categoriaController = new CategoriaController(); ProdutoController produtoController = new ProdutoController(); var model = new FiltrosViewModel { Categorias = categoriaController.GetCategoria(), Produtos = produtoController.GetProdutos(), }; return(View(model)); }
public ActionResult IndexRelatorioBaixa() { BaixaController baixaController = new BaixaController(); ProdutoController produtoController = new ProdutoController(); CategoriaController categoriaController = new CategoriaController(); var model = new FiltrosViewModel() { Baixas = baixaController.GetBaixas(), Categorias = categoriaController.GetCategoria(), Produtos = produtoController.GetProdutos(), }; return(View(model)); }
public ActionResult IndexRelatorioLote() { LoteController loteController = new LoteController(); ProdutoController produtoController = new ProdutoController(); CategoriaController categoriaController = new CategoriaController(); var model = new FiltrosViewModel() { Lotes = loteController.GetLotes(), Categorias = categoriaController.GetCategoria(), Produtos = produtoController.GetProdutos(), }; return(View(model)); }
protected override void OnModelUpdated(ControllerContext controllerContext, System.Web.Mvc.ModelBindingContext bindingContext) { FiltrosViewModel model = bindingContext.Model as FiltrosViewModel; foreach (FiltroCheckViewModel fc in model.FiltrosChecks) { if (fc.Id != null) { if (model.FiltrosChecks[model.FiltrosChecks.IndexOf(fc)].Items == null) { model.FiltrosChecks[model.FiltrosChecks.IndexOf(fc)].Items = new System.Collections.Generic.List <ItemViewModel>(); } if (model.FiltrosChecks[model.FiltrosChecks.IndexOf(fc)].Items.Count > 0) { model.FiltrosChecks[model.FiltrosChecks.IndexOf(fc)].Items.RemoveAll(i => !i.Selected); } } } //FILTROS NUEVOS //Probar algo nuevo, simplificando el request para los filtros //HttpRequestBase request = controllerContext.HttpContext.Request; ////List<string> filtros = new List<string>(); //Dictionary<string,string> filtros = new Dictionary<string, string>(); //StringComparison comparison = StringComparison.InvariantCulture; //string idFiltro = ""; //foreach (string key in request.Form) //{ // if (key.StartsWith("F.FC", comparison) ==true) // { // //Si se trata de un filtro, empieza con F.FC y temina con .id // if (key.EndsWith(".id", comparison) ==true) // { // idFiltro = key.Substring(key.IndexOf("[") + 1, key.IndexOf("]") - key.IndexOf("[") -1); // filtros.Add(idFiltro, request.Form[key]); // } // } //} }
public ActionResult RelatorioBaixa(FiltrosViewModel filtro) { BaixaDAO baixaDAO = new BaixaDAO(); var listaBaixa = baixaDAO.GetAll(); ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); //todos if (filtro.SelectItemProdutoId != null) { var resultQuery = from b in listaBaixa join p in listaProduto on b.Produto_CodigoProduto equals p.CodigoProduto where b.Produto_CodigoProduto == filtro.SelectItemProdutoId select new RelatorioBaixaViewModel { NomeProduto = p.NomeProduto, QuantidadeBaixa = b.QuantidadeBaixa, DataBaixa = b.DataBaixa, }; return(View(resultQuery.Distinct())); } else { var resultQuery = from b in listaBaixa join p in listaProduto on b.Produto_CodigoProduto equals p.CodigoProduto select new RelatorioBaixaViewModel { NomeProduto = p.NomeProduto, QuantidadeBaixa = b.QuantidadeBaixa, DataBaixa = b.DataBaixa, }; return(View(resultQuery.Distinct())); } }
public ActionResult AplicarFiltros([ModelBinder(typeof(Reporting.Binders.FiltrosModelBinder))] FiltrosViewModel filtros, int TableroId) { return(base.AplicarFiltros(filtros, TableroId, IdModulo)); }
public ActionResult AplicarFiltros([ModelBinder(typeof(Binders.FiltrosModelBinder))] FiltrosViewModel filtros) { return(AplicarFiltros(filtros, -1, IdModulo)); }
protected ActionResult AplicarFiltros(FiltrosViewModel filtros, int TableroId, int IdModulo) { int userId = GetUsuarioLogueado(); int clienteId = GetClienteSeleccionado(); userId = usuarioRepository.GetUsuarioPerformance(userId); var filtrostotal = new FiltrosViewModel(); foreach (var ff in filtros.FiltrosFechas) { if (ff.DiaDesde != null || ff.DiaHasta != null || ff.MesDesde != null || ff.MesHasta != null || ff.SemanaDesde != null || ff.SemanaHasta != null || ff.TrimestreDesde != null || ff.TrimestreHasta != null) { filtrostotal.FiltrosFechas.Add(ff); } } if (IdModulo == 1 || IdModulo == 1) { var filtrosbloqueados = GetFiltrosBloqueadosObj(TableroId); if (filtrosbloqueados != null) { foreach (var fb in filtrosbloqueados.FiltrosChecks) { var flt = new FiltroCheckViewModel() { Id = fb.Id, Nombre = fb.Nombre }; foreach (var itm in fb.Items) { flt.Items.Add(new ItemViewModel() { Descripcion = itm.Descripcion, IdItem = itm.IdItem, isLocked = itm.isLocked, Selected = itm.Selected, TipoItem = itm.TipoItem }); } filtrostotal.FiltrosChecks.Add(flt); } } } foreach (var fc in filtros.FiltrosChecks) { if (fc.Items.Any(i => i.Selected)) { if (!filtrostotal.FiltrosChecks.Any(f => f.Id == fc.Id)) { var newf = new FiltroCheckViewModel() { Id = fc.Id, Nombre = fc.Nombre }; foreach (var itm in fc.Items.Where(fcitm => fcitm.Selected)) { newf.Items.Add(itm); } filtrostotal.FiltrosChecks.Add(newf); } else { var fd = filtrostotal.FiltrosChecks.FirstOrDefault(fdd => fdd.Id == fc.Id); if (fd != null) { foreach (var itm in fc.Items) { if (!fd.Items.Any(it => it.IdItem == itm.IdItem)) { fd.Items.Add(itm); } } } } } } var serializer = new JavaScriptSerializer(); string json = new JavaScriptSerializer().Serialize(filtrostotal); usuarioRepository.saveFiltros(clienteId, userId, json); bool isLocked = false; int tabId = -1; if (IdModulo == 1 || IdModulo == 2) { tabId = TableroId; isLocked = filtroRepository.IsFiltrosLocked(tabId); } FiltrosViewModel model = GetFiltrosAplicadosYBloqueados(IdModulo, tabId); model.isLocked = isLocked; return(PartialView("_Filtros", model)); }
protected FiltrosViewModel GetFiltrosAplicadosYBloqueados(int IdModulo, int tableroId) { int userId = GetUsuarioLogueado(); userId = usuarioRepository.GetUsuarioPerformance(userId); int ClienteId = GetClienteSeleccionado(); //traigo todos los posibles filtros Filtros filtros = filtroRepository.GetFiltros(userId, ClienteId, IdModulo); FiltrosViewModel filtrosVM = new FiltrosViewModel(); foreach (FiltroCheck f in filtros.FiltrosChecks) { var FiltroVM = new FiltroCheckViewModel(); foreach (ItemFiltro i in f.Items) { FiltroVM.Items.Add(new ItemViewModel() { IdItem = i.IdItem, TipoItem = i.TipoItem, Selected = i.Selected, Descripcion = i.Descripcion.ToUpper() }); } FiltroVM.Id = f.Id; FiltroVM.Nombre = Reporting.Resources.Filtros.ResourceManager.GetString(string.Format("{0}", f.Id)); filtrosVM.FiltrosChecks.Add(FiltroVM); } foreach (FiltroFecha f in filtros.FiltrosFechas) { var FiltroVM = new FiltroFechaViewModel(); FiltroVM.Id = f.Id; FiltroVM.Nombre = Reporting.Resources.Filtros.ResourceManager.GetString(string.Format("{0}", f.Id)); FiltroVM.TipoFechaSeleccionada = "D"; filtrosVM.FiltrosFechas.Add(FiltroVM); } List <ReportingFiltroNombreCliente> filtrosConNombre = filtroRepository.getFiltroNombreCliente(ClienteId); foreach (ReportingFiltroNombreCliente fnc in filtrosConNombre) { var filtro = filtrosVM.FiltrosFechas.SingleOrDefault(f => f.Id == fnc.ReportingFiltros.identificador); if (filtro != null) { filtro.Nombre = fnc.Nombre; } } foreach (ReportingFiltroNombreCliente fnc in filtrosConNombre) { var filtro = filtrosVM.FiltrosChecks.SingleOrDefault(f => f.Id == fnc.ReportingFiltros.identificador); if (filtro != null) { filtro.Nombre = fnc.Nombre; } } //Filtros aplicados por el usuario y actualizo dentro de los filtros generales el estado que tienen Filtros filtrosSeleccionados = GetFiltrosAplicadosObj(ClienteId, userId); if (filtrosSeleccionados != null) { foreach (FiltroFecha fl in filtrosSeleccionados.FiltrosFechas) { var ff = filtrosVM.FiltrosFechas.FirstOrDefault(f => f.Id == fl.Id); if (ff != null) { ff.TipoFechaSeleccionada = fl.TipoFechaSeleccionada; if (fl.DiaDesde != null) { ff.DiaDesde = fl.DiaDesde; } if (fl.DiaHasta != null) { ff.DiaHasta = fl.DiaHasta; } if (fl.MesDesde != null) { ff.MesDesde = fl.MesDesde; } if (fl.MesHasta != null) { ff.MesHasta = fl.MesHasta; } if (fl.SemanaDesde != null) { ff.SemanaDesde = fl.SemanaDesde; } if (fl.SemanaHasta != null) { ff.SemanaHasta = fl.SemanaHasta; } if (fl.TrimestreDesde != null) { ff.TrimestreDesde = fl.TrimestreDesde; } if (fl.TrimestreHasta != null) { ff.TrimestreHasta = fl.TrimestreHasta; } } } foreach (FiltroCheck fl in filtrosSeleccionados.FiltrosChecks) { var fc = filtrosVM.FiltrosChecks.FirstOrDefault(f => f.Id == fl.Id); if (fc != null) { foreach (ItemFiltro s in fl.Items) { var itm = fc.Items.FirstOrDefault(i => i.IdItem == s.IdItem); if (itm != null) { itm.Selected = true; } } } } } //Traigo los filtros bloqueados del usuario, si esta en la estructura de filtros generales lo marco como bloqueado if (IdModulo == 1 || IdModulo == 2) { filtrosVM.permitebloquearfiltros = true; Filtros filtrosBloqueados = GetFiltrosBloqueadosObj(tableroId); if (filtrosBloqueados != null) { filtrosVM.isLocked = true; foreach (FiltroCheck fl in filtrosBloqueados.FiltrosChecks) { var fc = filtrosVM.FiltrosChecks.FirstOrDefault(f => f.Id == fl.Id); if (fc != null) { foreach (ItemFiltro s in fl.Items) { var itm = fc.Items.FirstOrDefault(i => i.IdItem == s.IdItem); if (itm != null) { itm.Selected = true; itm.isLocked = true; } } } } } } return(filtrosVM); }
public ActionResult RelatorioProduto(FiltrosViewModel filtro) { CategoriaDAO categoriaDAO = new CategoriaDAO(); ProdutoDAO produtoDAO = new ProdutoDAO(); LoteDAO loteDAO = new LoteDAO(); var todosLote = loteDAO.GetAll(); var todosProdutos = produtoDAO.GetAll(); var todasCategorias = categoriaDAO.GetAll(); if (filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId != null) { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.Categoria_CodigoCategoria == filtro.SelectItemCategoriaId && p.CodigoProduto == filtro.SelectItemProdutoId select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } else if (filtro.SelectItemCategoriaId == null && filtro.SelectItemProdutoId != null) { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } else if (filtro.SelectItemCategoriaId != null && filtro.NomeProduto == null) { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.Categoria_CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } else if (filtro.SelectItemProdutoId == null && filtro.SelectItemCategoriaId != null) { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } else { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } }
public ActionResult RelatorioLote(FiltrosViewModel filtro) { CategoriaDAO categoriaDAO = new CategoriaDAO(); var listaCategoria = categoriaDAO.GetAll(); LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); EstoqueDAO estoqueDao = new EstoqueDAO(); //todos if (filtro.SelectItemLoteId != null && filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId != null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where l.Produto_CodigoProduto == filtro.SelectItemProdutoId && p.CodigoProduto == filtro.SelectItemProdutoId && p.Categoria_CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //seleciona produto e categoria aaaaa else if (filtro.SelectItemLoteId == null && filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId != null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId && c.CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //seleciona produto e lote else if (filtro.SelectItemLoteId != null && filtro.SelectItemCategoriaId == null && filtro.SelectItemProdutoId != null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId && l.CodigoLote == filtro.SelectItemLoteId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //lote e categoria else if (filtro.SelectItemLoteId != null && filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId == null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where l.CodigoLote == filtro.SelectItemLoteId && c.CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //produto else if (filtro.SelectItemLoteId == null && filtro.SelectItemCategoriaId == null && filtro.SelectItemProdutoId != null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //lote else if (filtro.SelectItemLoteId != null && filtro.SelectItemCategoriaId == null && filtro.SelectItemProdutoId == null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where l.CodigoLote == filtro.SelectItemLoteId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //categoria else if (filtro.SelectItemLoteId == null && filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId == null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where c.CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } else { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } }