public List <RascunhoInventarioAtividadeModelo> ListarInventarioAtividade(FiltroInventarioAtividadeModelo filtroInventarioAtividadeModelo) { List <RascunhoInventarioAtividadeModelo> inventarioAtividadeModelo = new List <RascunhoInventarioAtividadeModelo>(); //ValidarFiltro(filtroInventarioAtividadeModelo); IEnumerable <RASCUNHO_INVENTARIO_ATIVIDADE> inv = this.rascunhoInventarioAtividadePersistencia.ListarRascunhoInventarioAtividade(filtroInventarioAtividadeModelo); if (inv == null) { throw new KeyNotFoundException("Rascunho de inventário de atividade não encontrado."); } foreach (RASCUNHO_INVENTARIO_ATIVIDADE inventario in inv) { inventarioAtividadeModelo.Add(MapeamentoRascunhoInventarioAtividade(inventario)); } return(inventarioAtividadeModelo); }
public IHttpActionResult Filtrar([FromBody] FiltroInventarioAtividadeModelo filtroInventarioAtividadeModelo) { List <RascunhoInventarioAtividadeModelo> inventarioAtividade; try { inventarioAtividade = this.rascunhoInventarioAtividadeNegocio.ListarInventarioAtividade(filtroInventarioAtividadeModelo); if (inventarioAtividade.Count == 0) { throw new Exception("Não foram encontrados rascunhos de inventários com o(s) filtro(s) selecionado(s)"); } } catch (Exception exception) { throw new Exception(GeradorResponse.GenerateErrorResponseString((int)HttpStatusCode.BadRequest, $"Erro ao listar rascunho de inventário de atividade.", exception), exception); } return(Ok(GeradorResponse.GenerateSuccessResponse((int)HttpStatusCode.OK, $"Recuperação do rascunho do inventário de atividade ocorrida com sucesso", inventarioAtividade))); }
public IEnumerable <RASCUNHO_INVENTARIO_ATIVIDADE> ListarRascunhoInventarioAtividade(FiltroInventarioAtividadeModelo filtroInventarioAtividadeModelo) { using (var entities = new DB_LaborSafetyEntities()) { var resultado = entities.RASCUNHO_INVENTARIO_ATIVIDADE .Include(x => x.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE.Select(risco => risco.RISCO)) .Include(x => x.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE.Select(risco => risco.RISCO).Select(tpr => tpr.TIPO_RISCO)) .Include(x => x.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE.Select(risco => risco.EPI_RISCO_RASCUNHO_INVENTARIO_ATIVIDADE)) .Include(x => x.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE.Select(local => local.LOCAL_INSTALACAO)) .ToList(); if (filtroInventarioAtividadeModelo.CodAtividade != 0) { resultado = resultado.Where(o => o.CodAtividade == filtroInventarioAtividadeModelo.CodAtividade) .ToList(); } if (filtroInventarioAtividadeModelo.CodDisciplina != 0) { resultado = resultado.Where(o => o.CodDisciplina == filtroInventarioAtividadeModelo.CodDisciplina) .ToList(); } if (filtroInventarioAtividadeModelo.CodPeso != 0) { resultado = resultado.Where(o => o.CodPeso == filtroInventarioAtividadeModelo.CodPeso) .ToList(); } if (filtroInventarioAtividadeModelo.CodPerfilCatalogo != 0) { resultado = resultado.Where(o => o.CodPerfilCatalogo == filtroInventarioAtividadeModelo.CodPerfilCatalogo) .ToList(); } if (filtroInventarioAtividadeModelo.Locais.Count > 0) { List <LOCAL_INSTALACAO> locaisOrigem = new List <LOCAL_INSTALACAO>(); List <LOCAL_INSTALACAO> locaisAPesquisar = new List <LOCAL_INSTALACAO>(); //Busca todos os locais List <LOCAL_INSTALACAO> locais = entities.LOCAL_INSTALACAO .Where(x => x.CodLocalInstalacao != (long)Constantes.LocalInstalacao.SEM_ASSOCIACAO) .ToList(); foreach (var nlocal in filtroInventarioAtividadeModelo.Locais) { var local = entities.LOCAL_INSTALACAO.Where(x => x.CodLocalInstalacao == nlocal).FirstOrDefault(); if (local == null) { throw new Exception($"O local {local.Nome} não consta na base de dados."); } locaisOrigem.Add(local); } //Busca filhos dos locais foreach (var local in locaisOrigem) { List <LOCAL_INSTALACAO> locaisFilhos = this.BuscaLocaisEFilhos(locais, local); locaisAPesquisar.AddRange(locaisFilhos); } resultado = resultado.Where(b => b.LOCAL_INSTALACAO_RASCUNHO_INVENTARIO_ATIVIDADE.Any (x => locaisAPesquisar.Contains(x.LOCAL_INSTALACAO))).ToList(); } if (filtroInventarioAtividadeModelo.CodSeveridade != 0) { resultado = resultado.Where(x => x.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE.Any(y => y.CodSeveridade == filtroInventarioAtividadeModelo.CodSeveridade)) .ToList(); } if (filtroInventarioAtividadeModelo.Riscos.Count != 0 || filtroInventarioAtividadeModelo.Riscos == null) { foreach (var risco in filtroInventarioAtividadeModelo.Riscos) { resultado = resultado.Where(a => a.RISCO_RASCUNHO_INVENTARIO_ATIVIDADE.Any(x => x.RISCO.CodRisco == risco)) .ToList(); } } return(resultado); } }