public FiltroGenericoDtoBase <GridServicoMigradoDTO> Filtrar(FiltroGenericoDtoBase <GridServicoMigradoDTO> filtro)
        {
            //dar uma olhada
            var stringPendente          = "PENDENTE";
            var stringMigrado           = "MIGRADO";
            var stringMigradoAutomatico = "MIGRADO AUTOMATICO";

            var query = DbSet.Include(x => x.ServicoContratado)
                        .ThenInclude(x => x.Contrato)
                        .ThenInclude(x => x.ClientesContratos)
                        .ThenInclude(x => x.Contrato)
                        .Include(x => x.ServicoContratado)
                        .ThenInclude(x => x.VinculoMarkupServicosContratados)
                        .Include(x => x.ServicoContratado)
                        .ThenInclude(x => x.EscopoServico)
                        .ThenInclude(x => x.PortfolioServico)
                        .Include(x => x.ServicoContratado)
                        .ThenInclude(x => x.DeParaServicos)
                        .AsNoTracking();


            if (filtro.ValorParaFiltrar != null)
            {
                query = query
                        .Where(x => x.ServicoContratado.EscopoServico.NmEscopoServico.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                               x.ServicoContratado.IdCelula.ToString().ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                               x.ServicoContratado.EscopoServico.PortfolioServico.NmServico.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                               x.DescEscopo.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                               (
                                   (x.DescStatus == "PE" && stringPendente.Contains(filtro.ValorParaFiltrar.ToUpper())) ||
                                   (x.DescStatus == "MA" && stringMigradoAutomatico.Contains(filtro.ValorParaFiltrar.ToUpper())) ||
                                   (x.DescStatus == "MI" && stringMigrado.Contains(filtro.ValorParaFiltrar.ToUpper()))
                               )
                               );
                //dar uma olhada
                //query = FiltrarDadosAlteracao(filtro, query);
            }

            var dados = query.Select(p => new GridServicoMigradoDTO
            {
                NmEscopo         = p.ServicoContratado.EscopoServico != null ? p.ServicoContratado.EscopoServico.NmEscopoServico.ToUpper() : "",
                NmPortfolio      = p.ServicoContratado.EscopoServico != null ? p.ServicoContratado.EscopoServico.PortfolioServico.NmServico.ToUpper() : "",
                Usuario          = p.ServicoContratado.Usuario,
                DataAlteracao    = p.ServicoContratado.DataAlteracao,
                Id               = p.Id,
                IdServicoEacesso = p.IdServicoEacesso,
                DescStatus       = p.DescStatus,
                IdCelula         = p.ServicoContratado.IdCelula,
                NmServicoEacesso = p.ServicoContratado.DescricaoServicoContratado,
            });

            filtro.Total   = dados.Count();
            dados          = OrdenarPorCampoEscolhido(filtro, dados);
            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();

            return(filtro);
        }
 private static IQueryable <DeParaServico> FiltrarCliente(FiltroGenericoDtoBase <GridServicoMigradoDTO> filtro, IQueryable <DeParaServico> query)
 {
     query = query.Where(
         x => true
         //  x => x.ServicoContratado.Contrato.Cliente.NmFantasia != null
         //? x.ServicoContratado.Contrato.Cliente.NmFantasia.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper())
         //: x.ServicoContratado.Contrato.Cliente.NmRazaoSocial.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper())
         );
     return(query);
 }
 public IActionResult Filtrar([FromBody] FiltroGenericoDtoBase <AprovarRepasseDto> filtroDto)
 {
     try
     {
         var resultBD = _repasseNivelUmService.Filtrar(filtroDto);
         return(Ok(resultBD));
     }
     catch (Exception ex)
     {
         return(BadRequest());
     }
 }
        private static IQueryable <DeParaServico> FiltrarStatus(FiltroGenericoDtoBase <GridServicoMigradoDTO> filtro, IQueryable <DeParaServico> query)
        {
            //dar uma olhada
            var stringPendente          = "PENDENTE";
            var stringMigrado           = "MIGRADO";
            var stringMigradoAutomatico = "MIGRADO AUTOMATICO";

            return(query.Where(x => x.DescStatus == "PE" && stringPendente.Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                               (x.DescStatus == "MA" && stringMigradoAutomatico.Contains(filtro.ValorParaFiltrar.ToUpper())) ||
                               (x.DescStatus == "MI" && stringMigrado.Contains(filtro.ValorParaFiltrar.ToUpper()))
                               ));
        }
 public IActionResult FiltrarPeriodoRepasse(FiltroGenericoDtoBase <PeriodoRepasseDto> filtroDto)
 {
     try
     {
         var result = _periodoRepasseService.FiltrarPeriodo(filtroDto);
         return(Ok((new { dados = result, notifications = "", success = true })));
     }
     catch (Exception e)
     {
         return(BadRequest());
     }
 }
        public FiltroGenericoDtoBase <TemplateEmailDto> FiltrarTemplatesEmail(FiltroGenericoDtoBase <TemplateEmailDto> filtro)
        {
            filtro.ValorParaFiltrar = filtro.ValorParaFiltrar.Trim();

            var query = DbSet.AsQueryable().AsNoTracking();

            query = query.Include(x => x.Emails)
                    .Include(x => x.Parametros);

            query = query.Where(x => x.Id.ToString().ToUpper().Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                x.Assunto.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                x.Corpo.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                x.Nome.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()));

            var dados = query.Select(x => new TemplateEmailDto
            {
                Id         = x.Id,
                Assunto    = x.Assunto,
                Corpo      = x.Corpo,
                Nome       = x.Nome,
                FlagFixo   = x.FlagFixo,
                Parametros = x.Parametros.Select(y => new ParametroTemplateDto
                {
                    Id            = y.Id,
                    IdTemplate    = x.Id,
                    NomeParametro = y.NomeParametro
                }),
                Usuario       = x.Usuario,
                DataAlteracao = x.DataAlteracao
            });

            filtro.Total = dados.Count();

            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);
            if (filtro.OrdemOrdenacao == "asc")
            {
                dados = dados.OrderBy(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                dados = dados.OrderByDescending(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else
            {
                dados = dados.OrderBy(x => x.Assunto);
            }

            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();

            return(filtro);
        }
        public FiltroGenericoDtoBase <AgrupamentoDTO> FiltrarAgrupamentos(FiltroGenericoDtoBase <AgrupamentoDTO> filtro)
        {
            var query = DbSet.Include(x => x.ServicoContratado).Where(x => x.ServicoContratado.IdGrupoDelivery == filtro.Id).AsNoTracking();

            var dados = query.Select(p => new AgrupamentoDTO
            {
                Id             = p.Id,
                ServicoStfcorp = p.ServicoContratado.Id + " | " + p.ServicoContratado.DescricaoServicoContratado,
                ServicoEacesso = p.IdServicoEacesso.ToString()
            });

            filtro.Total   = dados.Count();
            dados          = dados.OrderBy(x => x.ServicoStfcorp);
            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();

            return(filtro);
        }
        private static IQueryable <GridServicoMigradoDTO> OrdenarPorCampoEscolhido(FiltroGenericoDtoBase <GridServicoMigradoDTO> filtro, IQueryable <GridServicoMigradoDTO> dados)
        {
            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);
            if (filtro.OrdemOrdenacao == "asc")
            {
                dados = dados.OrderBy(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                dados = dados.OrderByDescending(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else
            {
                dados = dados.OrderBy(x => x.DescStatus == "MA").OrderBy(x => x.IdCelula).ThenBy(x => x.NmCliente).ThenBy(x => x.NmServicoEacesso);
            }

            return(dados);
        }
Exemple #9
0
        public FiltroGenericoDtoBase <GrupoDto> FiltrarGrupos(FiltroGenericoDtoBase <GrupoDto> filtro)
        {
            var query = DbSet.AsQueryable().AsNoTracking();

            query = filtro.Id == -1 ? query :
                    filtro.Id == 1 ? query.Where(x => x.Ativo) :
                    query.Where(x => !x.Ativo);

            if (!string.IsNullOrEmpty(filtro.ValorParaFiltrar) && filtro.ValorParaFiltrar.Any())
            {
                query = query.Where(x => x.Id.ToString().ToUpper().Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                    x.DescGrupo.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                    (filtro.ValorParaFiltrar.ToUpper().Equals(x.Ativo ? "ATIVO" : "INATIVO")));
            }

            var dados = query.Select(x => new GrupoDto
            {
                Id            = x.Id,
                DataAlteracao = x.DataAlteracao,
                Ativo         = x.Ativo,
                Descricao     = x.DescGrupo,
                Usuario       = x.Usuario
            });

            filtro.Total = dados.Count();

            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);
            if (filtro.OrdemOrdenacao == "asc")
            {
                dados = dados.OrderBy(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                dados = dados.OrderByDescending(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else
            {
                dados = dados.OrderBy(x => x.Descricao);
            }

            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();

            return(filtro);
        }
        public FiltroGenericoDtoBase <CidadeDto> FiltrarCidades(FiltroGenericoDtoBase <CidadeDto> filtro)
        {
            filtro.ValorParaFiltrar = filtro.ValorParaFiltrar.Trim();

            var query = DbSet.AsQueryable().AsNoTracking();

            query = query.Include(x => x.Estado).ThenInclude(x => x.Pais);

            query = query.Where(x => x.Id.ToString().ToUpper().Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                x.NmCidade.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                x.Estado.NmEstado.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                x.Estado.Pais.NmPais.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()));

            var dados = query.Select(x => new CidadeDto
            {
                Id       = x.Id,
                IdEstado = x.IdEstado,
                IdPais   = x.Estado.IdPais,
                NmCidade = x.NmCidade,
                NmEstado = x.Estado.NmEstado,
                NmPais   = x.Estado.Pais.NmPais
            });

            filtro.Total = dados.Count();

            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);
            if (filtro.OrdemOrdenacao == "asc")
            {
                dados = dados.OrderBy(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                dados = dados.OrderByDescending(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else
            {
                dados = dados.OrderBy(x => x.NmCidade);
            }

            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();

            return(filtro);
        }
        public FiltroGenericoDtoBase <TransferenciaCltPjDto> Filtrar(FiltroGenericoDtoBase <TransferenciaCltPjDto> filtro)
        {
            var query = DbSet.AsQueryable().AsNoTracking();

            if (!string.IsNullOrEmpty(filtro.FiltroGenerico) && filtro.FiltroGenerico.Any())
            {
                query = query.Where(x =>
                                    x.IdEacessoLegado.ToString().ToUpper().Equals(filtro.FiltroGenerico.ToUpper()) ||
                                    x.NomePrestador.ToUpper().Contains(filtro.FiltroGenerico.ToUpper()) ||
                                    x.IdPrestadorTransferido.ToString().ToUpper().Equals(filtro.FiltroGenerico.ToUpper()));
            }

            var dados = query.Select(p => new TransferenciaCltPjDto
            {
                Id = p.Id,
                IdEacessoLegado        = p.IdEacessoLegado,
                IdPrestadorTransferido = p.IdPrestadorTransferido,
                NomePrestador          = p.NomePrestador,
                DataAlteracao          = p.DataAlteracao,
                Usuario = p.Usuario
            });

            filtro.Total = dados.Count();

            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);
            if (filtro.OrdemOrdenacao == "asc")
            {
                dados = dados.OrderBy(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                dados = dados.OrderByDescending(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else
            {
                dados = dados.OrderByDescending(x => x.DataAlteracao).ThenBy(x => x.NomePrestador);
            }

            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();
            return(filtro);
        }
Exemple #12
0
        public FiltroGenericoDtoBase <OperacaoMigradaDTO> Filtrar(FiltroGenericoDtoBase <OperacaoMigradaDTO> filtro)
        {
            var result = _operacaoMigradaRepository.Filtrar(filtro);

            return(result);
        }
        public FiltroGenericoDtoBase <PeriodoRepasseDto> FiltrarPeriodo(FiltroGenericoDtoBase <PeriodoRepasseDto> filtro)
        {
            var query = DbSet.AsQueryable();


            if (filtro.ValorParaFiltrar != null && filtro.ValorParaFiltrar.Any())
            {
                query = query.Where(x => (x.Id.ToString().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                          (x.DtAnaliseFim.ToString("dd/MM/yyyy").Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                           (x.DtAnaliseInicio.ToString("dd/MM/yyyy").Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                            (x.DtAprovacaoFim.ToString("dd/MM/yyyy").Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                             (x.DtAprovacaoInicio.ToString("dd/MM/yyyy").Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                              (x.DtLancamentoFim.ToString("dd/MM/yyyy").Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                               (x.DtLancamento.ToString("MM/yyyy").Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                                (x.DtLancamento.AddMonths(-1).ToString("MM/yyyy").Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                                 (x.DtLancamentoInicio.ToString("dd/MM/yyyy").Equals(filtro.ValorParaFiltrar.ToUpper())))))))))));
            }

            var dados = query.Select(x => new PeriodoRepasseDto
            {
                Id                        = x.Id,
                Usuario                   = x.Usuario,
                DataAlteracao             = x.DataAlteracao,
                DtLancamentoInicio        = x.DtLancamentoInicio,
                DtLancamentoFim           = x.DtLancamentoFim,
                DtAprovacaoInicio         = x.DtAprovacaoInicio,
                DtAprovacaoFim            = x.DtAprovacaoFim,
                DtAnaliseInicio           = x.DtAnaliseInicio,
                DtAnaliseFim              = x.DtAnaliseFim,
                DtLancamento              = x.DtLancamento,
                ExisteRepasseNessePeriodo = ExisteRepasseCadastradoNoPeriodo(x),
                DtReferencia              = x.DtLancamento.AddMonths(-1),
                PeriodoVigente            = false
            });

            filtro.Total = dados.Count();

            switch (filtro?.CampoOrdenacao)
            {
            case "id":
                dados = filtro.OrdemOrdenacao.Equals("asc") ? dados.OrderBy(x => x.DtLancamento) : dados.OrderByDescending(x => x.DtLancamento);
                break;

            default:
                dados = dados.OrderByDescending(x => x.DtLancamentoInicio);
                break;
            }

            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();

            var vigente = DbSet.AsNoTracking().OrderByDescending(x => x.Id).FirstOrDefault();

            if (vigente != null && filtro.Valores.Any())
            {
                var vigenteFiltrado = filtro.Valores.FirstOrDefault(x => x.Id == vigente.Id);
                if (vigenteFiltrado != null)
                {
                    filtro.Valores.FirstOrDefault(x => x.Id == vigente.Id).PeriodoVigente = true;
                }
            }


            return(filtro);
        }
Exemple #14
0
        private List <ResumoConciliacaoPagamentoDto> popularResumoConciliacaoPagamentoDto(FiltroGenericoDtoBase <ConciliacaoPagamentoDto> resultBD)
        {
            List <ResumoConciliacaoPagamentoDto> resumoConciliacaoPagamentoDtoLista = new List <ResumoConciliacaoPagamentoDto>();
            var coligadasRm = _empresaGrupoService.BuscarTodasNoRM();

            resultBD.Valores.ForEach(x =>
            {
                var existeIdEmpresaGrupo = resumoConciliacaoPagamentoDtoLista.Find(r => r.IdEmpresaGrupo == x.IdEmpresaGrupo);
                if (existeIdEmpresaGrupo == null)
                {
                    var registros = resultBD.Valores.FindAll(r => r.IdEmpresaGrupo == x.IdEmpresaGrupo);

                    var bancos = registros.Select(r => r.CodigoBancoEmpresa).Distinct().ToList();


                    var primeiroRegistro = true;
                    bancos.ToList().ForEach(b =>
                    {
                        if (!String.IsNullOrEmpty(b))
                        {
                            var resumoConciliacaoPagamentoDto = new ResumoConciliacaoPagamentoDto
                            {
                                Coligada          = String.Empty,
                                Banco             = b,
                                ValorTotalBruto   = registros.FindAll(f => f.CodigoBancoEmpresa == b).Sum(s => s.ValorRm),
                                ValorTotalLiquido = registros.FindAll(f => f.CodigoBancoEmpresa == b).Sum(s => s.ValorRmComDesconto),
                                NrCnpj            = x.NrCnpj,
                                IdEmpresaGrupo    = x.IdEmpresaGrupo
                            };
                            if (primeiroRegistro)
                            {
                                var empresaGrupoRmDto = coligadasRm.ToList().Find(c => c.Id == x.IdEmpresaGrupo);
                                resumoConciliacaoPagamentoDto.Coligada = empresaGrupoRmDto.Nome;
                                primeiroRegistro = false;
                            }
                            resumoConciliacaoPagamentoDtoLista.Add(resumoConciliacaoPagamentoDto);
                        }
                    });
                    var resumoConciliacaoPagamentoDtoVazio = new ResumoConciliacaoPagamentoDto
                    {
                        Coligada          = String.Empty,
                        Banco             = String.Empty,
                        ValorTotalBruto   = null,
                        ValorTotalLiquido = null
                    };
                    resumoConciliacaoPagamentoDtoLista.Add(resumoConciliacaoPagamentoDtoVazio);
                }
            });
            return(resumoConciliacaoPagamentoDtoLista);
        }
Exemple #15
0
        private List <ResumoConciliacaoPagamentoExcelDto> popularResumoConciliacaoPagamentoExcelDto(FiltroGenericoDtoBase <ConciliacaoPagamentoDto> resultBD)
        {
            List <ResumoConciliacaoPagamentoExcelDto> resumoConciliacaoPagamentoExcelDtoLista = new List <ResumoConciliacaoPagamentoExcelDto>();
            var coligadasRm = _empresaGrupoService.BuscarTodasNoRM();

            resultBD.Valores.ForEach(x =>
            {
                var resumoConciliacaoPagamentoExcelDto = new ResumoConciliacaoPagamentoExcelDto
                {
                    Celula                = x.IdCelula.ToString(),
                    DescricaoDiretoria    = x.Diretoria,
                    IdEmpresaGrupo        = x.IdEmpresaGrupo.ToString(),
                    DescriçaoEmpresaGrupo = coligadasRm.ToList().Find(c => c.Id == x.IdEmpresaGrupo).Descricao,
                    Empresa               = x.Empresa,
                    CNPJ              = x.NrCnpj,
                    Prestador         = x.Nome,
                    ValorBrutoStfcorp = x.ValorStfcorp.ToString(),
                    ValorBrutoRm      = x.ValorRm.ToString(),
                    ValorLiquidoRm    = x.ValorRmComDesconto.ToString(),
                    TipoContratacao   = x.Contratacao,
                    DiaPagamento      = x.DiaPagamento.ToString(),
                    CodigoCentroCusto = x.CodigoCentroCusto,
                    ContaCaixa        = x.ContaCaixa,
                    Banco             = x.Banco,
                    Agencia           = x.Agencia,
                    Conta             = x.Conta,
                    Conciliado        = x.Conciliado ? "Sim" : "Não",
                    Fechado           = x.StatusRm == "Q" ? "Sim" : "Não"
                };
                resumoConciliacaoPagamentoExcelDtoLista.Add(resumoConciliacaoPagamentoExcelDto);
            });
            return(resumoConciliacaoPagamentoExcelDtoLista);
        }
Exemple #16
0
        public FiltroGenericoDtoBase <GridRepasseDto> Filtrar(FiltroGenericoDtoBase <GridRepasseDto> filtro)
        {
            var result = _repasseRepository.Filtrar(filtro);

            return(result);
        }
 public FiltroGenericoDtoBase <TemplateEmailDto> Filtrar(FiltroGenericoDtoBase <TemplateEmailDto> filtro)
 {
     return(_templateEmailRepository.FiltrarTemplatesEmail(filtro));
 }
        public FiltroGenericoDtoBase <ForecastDto> Filtrar(FiltroGenericoDtoBase <ForecastDto> filtro)
        {
            List <int> idClientes = null;
            List <int> idServicos = null;

            if (!String.IsNullOrEmpty(filtro.FiltroGenerico))
            {
                idClientes = BuscarIdClientesPorNomeCliente(filtro.FiltroGenerico);
                idServicos = BuscarIdServicosPorNomeServico(filtro.FiltroGenerico);
            }

            var result = _forecastRepository.Filtrar(filtro, idClientes ?? null, idServicos ?? null);

            var listaClientes = result.Valores.Select(f => f.IdCliente).Distinct().ToList();
            var clientes      = String.Join(",", listaClientes);


            if (!String.IsNullOrEmpty(clientes))
            {
                var listaClientesDto = ObterClientePorIdsEAcesso(clientes);

                result.Valores.ForEach(f =>
                {
                    var cliente = listaClientesDto.ToList().Find(c => c.Id == f.IdCliente);
                    if (cliente != null)
                    {
                        f.NomeCliente = cliente.Descricao;
                    }
                });
            }

            var listaServicos = result.Valores.Select(f => f.IdServico).Distinct().ToList();
            var servicos      = String.Join(",", listaServicos);

            if (!String.IsNullOrEmpty(servicos))
            {
                var listaServicosDto = ObterServicosPorIdsEacesso(servicos);

                result.Valores.ForEach(f =>
                {
                    var servico = listaServicosDto.ToList().Find(c => c.Id == f.IdServico);
                    if (servico != null)
                    {
                        f.NomeServico = servico.Descricao;
                    }
                });
            }
            if (!string.IsNullOrEmpty(filtro.FiltroGenerico) && filtro.FiltroGenerico.Any())
            {
                result.Valores = result.Valores.Where(x =>
                                                      x.IdCelula.ToString().ToUpper().Equals(filtro.FiltroGenerico.ToUpper()) ||
                                                      (x.NomeCliente != null ? x.NomeCliente.ToUpper().Contains(filtro.FiltroGenerico.ToUpper()) : false) ||
                                                      (x.NomeServico != null ? x.NomeServico.ToUpper().Contains(filtro.FiltroGenerico.ToUpper()) : false)
                                                      ).ToList();
            }

            if (filtro.OrdemOrdenacao == "asc")
            {
                result.Valores = result.Valores.OrderBy(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x)).ToList();
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                result.Valores = result.Valores.OrderByDescending(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x)).ToList();
            }
            else
            {
                result.Valores = result.Valores.OrderBy(x => x.IdCelula).ThenBy(x => x.NomeServico).ThenBy(y => y.NomeCliente).ToList();
            }

            filtro.Valores = result.Valores.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();



            filtro.Valores = DefinirAlertaAniversarioDeForecasts(filtro.Valores);


            return(result);
        }
Exemple #19
0
        public IActionResult Filtrar([FromBody] FiltroGenericoDtoBase <TransferenciaCltPjDto> filtro)
        {
            var resultBD = _transferenciaCltPjService.Filtrar(filtro);

            return(Ok(resultBD));
        }
        public FiltroGenericoDtoBase <ForecastDto> Filtrar(FiltroGenericoDtoBase <ForecastDto> filtro, List <int> idClientes, List <int> idServicos)
        {
            var query = DbSet
                        .Include(x => x.ValorForecast)
                        .AsQueryable().AsNoTracking();

            query = query.Where(x => _variables.CelulasComPermissao.Any(y => y == x.IdCelula));

            if (!string.IsNullOrEmpty(filtro.ValorParaFiltrar) && filtro.ValorParaFiltrar.Any())
            {
                var valorParaFiltrarSplit = filtro.ValorParaFiltrar.Split(',');

                if (valorParaFiltrarSplit != null && valorParaFiltrarSplit.Length > 0)
                {
                    var idCelula = int.Parse(valorParaFiltrarSplit[0]);
                    if (idCelula > 0)
                    {
                        query = query.Where(x => x.IdCelula.ToString().ToUpper().Equals(valorParaFiltrarSplit[0]));
                    }

                    var idCliente = int.Parse(valorParaFiltrarSplit[1]);
                    if (idCliente > 0)
                    {
                        query = query.Where(x => x.IdCliente.ToString().ToUpper().Equals(valorParaFiltrarSplit[1]));
                    }

                    var idServico = int.Parse(valorParaFiltrarSplit[2]);
                    if (idServico > 0)
                    {
                        query = query.Where(x => x.IdServico.ToString().ToUpper().Equals(valorParaFiltrarSplit[2]));
                    }

                    var idAno = int.Parse(valorParaFiltrarSplit[3]);
                    if (idAno > 0)
                    {
                        query = query.Where(x => x.NrAno.ToString().ToUpper().Equals(valorParaFiltrarSplit[3]));
                    }
                }
            }

            var dados = query.Select(f => new ForecastDto
            {
                IdCelula                 = f.IdCelula,
                IdCliente                = f.IdCliente,
                IdServico                = f.IdServico,
                NrAno                    = f.NrAno,
                DataAniversario          = f.DataAniversario,
                DataAplicacaoReajuste    = f.DataAplicacaoReajuste,
                DataReajusteRetroativo   = f.DataReajusteRetroativo,
                VlPercentual             = f.ValorForecast.VlPercentual,
                IdStatus                 = f.IdStatus,
                DescricaoJustificativa   = f.DescricaoJustificativa,
                ValorJaneiro             = f.ValorForecast.ValorJaneiro,
                ValorFevereiro           = f.ValorForecast.ValorFevereiro,
                ValorMarco               = f.ValorForecast.ValorMarco,
                ValorAbril               = f.ValorForecast.ValorAbril,
                ValorMaio                = f.ValorForecast.ValorMaio,
                ValorJunho               = f.ValorForecast.ValorJunho,
                ValorJulho               = f.ValorForecast.ValorJulho,
                ValorAgosto              = f.ValorForecast.ValorAgosto,
                ValorSetembro            = f.ValorForecast.ValorSetembro,
                ValorOutubro             = f.ValorForecast.ValorOutubro,
                ValorNovembro            = f.ValorForecast.ValorNovembro,
                ValorDezembro            = f.ValorForecast.ValorDezembro,
                ValorTotal               = obterValorTotal(f),
                DataAlteracao            = f.DataAlteracao,
                Usuario                  = f.Usuario,
                FaturamentoNaoRecorrente = f.FaturamentoNaoRecorrente,
            });

            filtro.Total = dados.Count();

            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);

            filtro.Valores = dados.ToList();

            return(filtro);
        }
 public FiltroGenericoDtoBase <AprovarRepasseDto> Filtrar(FiltroGenericoDtoBase <AprovarRepasseDto> filtro) => _repasseNivelUmRepository.Filtrar(filtro);
Exemple #22
0
        public FiltroGenericoDtoBase <AgrupamentoDTO> FiltrarAgrupamentos(FiltroGenericoDtoBase <AgrupamentoDTO> filtro)
        {
            var result = _deParaServicoRepository.FiltrarAgrupamentos(filtro);

            return(result);
        }
Exemple #23
0
        public FiltroGenericoDtoBase <DescontoPrestadorDto> Filtrar(FiltroGenericoDtoBase <DescontoPrestadorDto> filtro)
        {
            var result = _descontoPrestadorRepository.Filtrar(filtro);

            return(Mapper.Map <FiltroGenericoDtoBase <DescontoPrestadorDto> >(result));
        }
Exemple #24
0
        public FiltroGenericoDtoBase <GridRepasseDto> Filtrar(FiltroGenericoDtoBase <GridRepasseDto> filtro)
        {
            string aprovado     = "APROVADO";
            string cancelado    = "CANCELADO";
            string naoAnalisado = "NÃO ANALISADO";
            string negado       = "NEGADO";

            var query = DbSet.Include(x => x.ServicoContratadoDestino)
                        .Include(x => x.ServicoContratadoDestino)
                        .ThenInclude(x => x.Contrato)
                        .ThenInclude(x => x.ClientesContratos)
                        .Include(x => x.ServicoContratadoDestino)
                        .ThenInclude(x => x.EscopoServico)
                        .Include(x => x.ServicoContratadoOrigem)
                        .AsNoTracking();

            var dados = query.Select(p => new GridRepasseDto
            {
                Id            = p.Id,
                CelDestino    = p.ServicoContratadoDestino.IdCelula.ToString(),
                CelOrigem     = p.ServicoContratadoOrigem.IdCelula.ToString(),
                Usuario       = p.Usuario,
                DataAlteracao = p.DataAlteracao,
                FlStatus      = p.FlStatus,
                CliDestino    = string.Join(",", p.ServicoContratadoDestino.Contrato.ClientesContratos.Select(x => x.IdCliente)),
                PacDestino    = p.ServicoContratadoDestino.DescricaoServicoContratado,
                ValRepasse    = p.VlTotal ?? 0,
                DtRepasse     = p.DtRepasse
            });

            if (filtro.ValorParaFiltrar != null && filtro.ValorParaFiltrar.Any())
            {
                dados = dados.Where(x =>
                                    x.Id.ToString().Equals(filtro.ValorParaFiltrar) ||
                                    (x.CelDestino == filtro.ValorParaFiltrar) ||
                                    (x.CelOrigem == filtro.ValorParaFiltrar) ||
                                    x.CliDestino.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                    x.PacDestino.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                    x.ValRepasse.ToString().Replace(".", ",").Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                    (x.FlStatus == "AP" && aprovado.Contains(filtro.ValorParaFiltrar.ToUpper())) ||
                                    (x.FlStatus == "CC" && cancelado.Contains(filtro.ValorParaFiltrar.ToUpper())) ||
                                    (x.FlStatus == "NG" && negado.Contains(filtro.ValorParaFiltrar.ToUpper())) ||
                                    (x.FlStatus == "NA" && naoAnalisado.Contains(filtro.ValorParaFiltrar.ToUpper()))
                                    );
            }

            filtro.Total = dados.Count();

            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);
            if (filtro.OrdemOrdenacao == "asc")
            {
                dados =
                    filtro.CampoOrdenacao.Equals("Id") ? dados.OrderBy(x => x.Id) :
                    (filtro.CampoOrdenacao.Equals("CelDestino") ? dados.OrderBy(x => x.CelDestino) :
                     (filtro.CampoOrdenacao.Equals("CelOrigem") ? dados.OrderBy(x => x.CelOrigem) :
                      (filtro.CampoOrdenacao.Equals("PacDestino") ? dados.OrderBy(x => x.CelOrigem) :
                       (filtro.CampoOrdenacao.Equals("ValRepasse") ? dados.OrderBy(x => x.CelOrigem) :
                        (filtro.CampoOrdenacao.Equals("FlStatus") ? dados.OrderBy(x => x.CelOrigem) :
                         (filtro.CampoOrdenacao.Equals("CliDestino") ? dados.OrderBy(x => x.CelOrigem) :
                          dados))))));
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                dados =
                    filtro.CampoOrdenacao.Equals("Id") ? dados.OrderByDescending(x => x.Id) :
                    (filtro.CampoOrdenacao.Equals("CelDestino") ? dados.OrderByDescending(x => x.CelDestino) :
                     (filtro.CampoOrdenacao.Equals("CelOrigem") ? dados.OrderByDescending(x => x.CelOrigem) :
                      (filtro.CampoOrdenacao.Equals("PacDestino") ? dados.OrderByDescending(x => x.CelOrigem) :
                       (filtro.CampoOrdenacao.Equals("ValRepasse") ? dados.OrderByDescending(x => x.CelOrigem) :
                        (filtro.CampoOrdenacao.Equals("FlStatus") ? dados.OrderByDescending(x => x.CelOrigem) :
                         (filtro.CampoOrdenacao.Equals("CliDestino") ? dados.OrderByDescending(x => x.CelOrigem) :
                          dados))))));
            }
            else
            {
                dados = dados.OrderByDescending(x => x.Id);
            }

            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();
            return(filtro);
        }
Exemple #25
0
        public FiltroGenericoDtoBase <CidadeDto> Filtrar(FiltroGenericoDtoBase <CidadeDto> filtro)
        {
            var cidades = _cidadeRepository.FiltrarCidades(filtro);

            return(cidades);
        }
        public FiltroGenericoDtoBase <AprovarRepasseDto> Filtrar(FiltroGenericoDtoBase <AprovarRepasseDto> filtro)
        {
            var query          = DbSet.AsQueryable().AsNoTracking();
            var periodoVigente = _context.PeriodoRepasses.LastOrDefault();

            var pessoaUsuarioLogado     = BuscarEntidadePessoaUsuarioLogado(_variables.IdEacesso);
            var celulasQueUsuarioEhDono = BuscarCelulasPertencentesAoUsuario(pessoaUsuarioLogado.Id);

            query = query.Where(x => _variables.CelulasComPermissao.Any(y => y == x.IdCelulaDestino));
            query = query.Where(x => x.DataRepasse <= periodoVigente.DtLancamentoFim &&
                                x.Status == SharedEnuns.StatusRepasseEacesso.NAO_ANALISADO.GetDescription());

            if (!string.IsNullOrEmpty(filtro.ValorParaFiltrar) && filtro.ValorParaFiltrar.Any())
            {
                var valorParaFiltrarSplit = filtro.ValorParaFiltrar.Split(',');

                if (valorParaFiltrarSplit != null && valorParaFiltrarSplit.Length > 0)
                {
                    var idCelula = int.Parse(valorParaFiltrarSplit[0]);
                    if (idCelula > 0)
                    {
                        query = query.Where(x => x.IdCelulaOrigem.ToString().ToUpper().Equals(valorParaFiltrarSplit[0]) ||
                                            x.IdCelulaDestino.ToString().ToUpper().Equals(valorParaFiltrarSplit[0])
                                            );
                    }

                    var idCliente = int.Parse(valorParaFiltrarSplit[1]);
                    if (idCliente > 0)
                    {
                        query = query.Where(x => x.IdClienteDestino.ToString().ToUpper().Equals(valorParaFiltrarSplit[1]));
                    }

                    var idServico = int.Parse(valorParaFiltrarSplit[2]);
                    if (idServico > 0)
                    {
                        query = query.Where(x => x.IdServicoDestino.ToString().ToUpper().Equals(valorParaFiltrarSplit[2]));
                    }

                    //var idPeriodo = int.Parse(valorParaFiltrarSplit[3]);
                    //if (idPeriodo > 0)
                    //{
                    //    query = query.Where(x => x.IdPeriodoRepasse.ToString().ToUpper().Equals(valorParaFiltrarSplit[3]));
                    //}
                }
            }

            var dados = query.Select(p => new AprovarRepasseDto
            {
                Id                     = p.Id,
                Aprovar                = ObterStatusAprovacao(p.Status),
                Status                 = p.Status,
                StatusDesc             = ObterNomeStatus(p.Status),
                IdCelulaDestino        = p.IdCelulaDestino,
                IdCelulaOrigem         = p.IdCelulaOrigem,
                ClienteDestino         = p.NomeClienteDestino,
                DataAlteracao          = p.DataAlteracao,
                DataRepasse            = p.DataRepasse,
                QuantidadeHoras        = p.QuantidadeItens,
                ServicoDestino         = p.NomeServicoDestino,
                Usuario                = p.Usuario,
                ValorTotal             = p.ValorTotal,
                ValorUnitario          = p.ValorUnitario,
                ValorCustoProfissional = p.ValorCustoProfissional,
                Desabilita             = !DataRepasseEstaDentroDoUltimoPeriodoCadastrado(p.DataRepasse, periodoVigente),
                UsuarioLogadoEhDonoDaCelulaPagadora = celulasQueUsuarioEhDono.Any(x => x.Id == p.IdCelulaDestino),
                Descricao = p.DescricaoProjeto
            });

            if (!string.IsNullOrEmpty(filtro.FiltroGenerico) && filtro.FiltroGenerico.Any())
            {
                dados = dados.Where(x =>
                                    x.IdCelulaOrigem.ToString().ToUpper().Equals(filtro.FiltroGenerico.ToUpper()) ||
                                    x.IdCelulaDestino.ToString().ToUpper().Equals(filtro.FiltroGenerico.ToUpper()) ||
                                    (x.ClienteDestino != null ? x.ClienteDestino.ToUpper().Contains(filtro.FiltroGenerico.ToUpper()) : false) ||
                                    (x.ServicoDestino != null ? x.ServicoDestino.ToUpper().Contains(filtro.FiltroGenerico.ToUpper()) : false) ||
                                    (x.ValorCustoProfissional.HasValue ? x.ValorCustoProfissional.Value.Equals(filtro.FiltroGenerico.ToUpper()) : false) ||
                                    (x.ValorUnitario.HasValue ? x.ValorUnitario.Value.Equals(filtro.FiltroGenerico.ToUpper()) : false) ||
                                    (x.QuantidadeHoras.HasValue ? x.QuantidadeHoras.Value.Equals(filtro.FiltroGenerico.ToUpper()) : false) ||
                                    (x.ValorTotal.HasValue ? x.ValorTotal.Value.Equals(filtro.FiltroGenerico.ToUpper()) : false));
            }

            filtro.Total = dados.Count();

            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);
            if (filtro.OrdemOrdenacao == "asc")
            {
                dados = dados.OrderBy(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                dados = dados.OrderByDescending(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else
            {
                dados = dados.OrderBy(x => x.Status).ThenBy(x => x.IdCelulaOrigem).ThenBy(y => y.ClienteDestino);
            }

            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();

            return(filtro);
        }
        public FiltroGenericoDtoBase <PeriodoRepasseDto> FiltrarPeriodo(FiltroGenericoDtoBase <PeriodoRepasseDto> filtro)
        {
            var result = _periodoRepasseRepository.FiltrarPeriodo(filtro);

            return(result);
        }
Exemple #28
0
        public List <RelatorioPrestadoresDto> BuscarRelatorioPrestadores(int empresaId, int filialId, FiltroGenericoDtoBase <RelatorioPrestadoresDto> filtro)
        {
            IQueryable <EmpresaPrestador> query = QueryBaseFiltrarPrestadores();

            if (empresaId != 0)
            {
                query = query.Where(x => x.Prestador.IdEmpresaGrupo.Equals(empresaId));
            }
            if (filialId != 0)
            {
                query = query.Where(x => x.Prestador.IdFilial.Equals(filialId));
            }

            query = filtro.Id == -1 ? query :
                    filtro.Id == 1 ? query.Where(x => x.Prestador.DataDesligamento != null) :
                    query.Where(x => x.Prestador.DataDesligamento == null && x.Empresa.Ativo);

            query = query.Where(x => _variables.CelulasComPermissao.Any(y => y == x.Prestador.IdCelula));
            return(TratarRetornoQueryFiltrarRelatorioPrestadores(query));
        }
 public FiltroGenericoDtoBase <GrupoDto> Filtrar(FiltroGenericoDtoBase <GrupoDto> filtro)
 {
     return(_grupoRepository.FiltrarGrupos(filtro));
 }
Exemple #30
0
        public FiltroGenericoDtoBase <OperacaoMigradaDTO> Filtrar(FiltroGenericoDtoBase <OperacaoMigradaDTO> filtro)
        {
            const int    TODOS = 1;
            const string TOTALMENTE_AGRUPADO   = "T";
            const string SEM_AGRUPAMENTO       = "S";
            const string PARCIALMENTE_AGRUPADO = "P";

            var query = DbSet.AsQueryable().AsNoTracking();

            var dados = query.GroupBy(x => x.IdGrupoDelivery).Select(p => new OperacaoMigradaDTO
            {
                Id = 0,
                IdCombinadaCelula = p.FirstOrDefault().IdCombinadaCelula,
                IdGrupoDelivery   = p.Key,
                DescricaoOperacao = p.FirstOrDefault().DescricaoOperacao + " (" + p.Key + ")",
                IdCelula          = p.FirstOrDefault().IdCombinadaCelula,
                IdCliente         = 0,
                IdServico         = 0,
                DescricaoServico  = "",
                NomeCliente       = string.Join(", ", p.GroupBy(x => x.NomeCliente).Select(x => x.Key)),
                Status            = p.Any(y => !y.Status.Equals(TOTALMENTE_AGRUPADO)) ?
                                    (p.Any(y => y.Status.Equals(TOTALMENTE_AGRUPADO)) ? PARCIALMENTE_AGRUPADO : SEM_AGRUPAMENTO)
                                        :
                                    TOTALMENTE_AGRUPADO,
                Ativo         = true,
                DataAlteracao = p.OrderByDescending(x => x.DataAlteracao).FirstOrDefault().DataAlteracao,
                Usuario       = p.OrderByDescending(x => x.DataAlteracao).FirstOrDefault().Usuario
            });

            dados = dados.Where(x => _variables.CelulasComPermissao.Any(y => y == x.IdCelula));

            if (filtro.Id != TODOS)
            {
                dados = dados.Where(x => !x.Status.Equals(TOTALMENTE_AGRUPADO));
            }

            if (!string.IsNullOrEmpty(filtro.FiltroGenerico) && filtro.FiltroGenerico.Any())
            {
                var idCelulas = filtro.FiltroGenerico.Split(',').Select(x => int.Parse(x)).ToList();

                dados = dados.Where(x => idCelulas.Any(y => y == x.IdCelula));
            }

            if (!string.IsNullOrEmpty(filtro.ValorParaFiltrar) && filtro.ValorParaFiltrar.Any())
            {
                filtro.ValorParaFiltrar = filtro.ValorParaFiltrar.Trim();

                dados = dados.Where(x =>
                                    x.IdCombinadaCelula.ToString().ToUpper().Equals(filtro.ValorParaFiltrar.ToUpper()) ||
                                    x.DescricaoOperacao.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                    x.NomeCliente.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper())
                                    );
            }

            filtro.Total = dados.Count();

            filtro.CampoOrdenacao = filtro.CampoOrdenacao.First().ToString().ToUpper() + filtro.CampoOrdenacao.Substring(1);
            if (filtro.OrdemOrdenacao == "asc")
            {
                dados = dados.OrderBy(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else if (filtro.OrdemOrdenacao == "desc")
            {
                dados = dados.OrderByDescending(x => x.GetType().GetProperty(filtro.CampoOrdenacao).GetValue(x));
            }
            else
            {
                dados = dados.OrderBy(x => x.IdCombinadaCelula).ThenBy(x => x.DescricaoOperacao).ThenBy(y => y.IdCombinadaCelula);
            }

            filtro.Valores = dados.Skip((filtro.Pagina) * filtro.QuantidadePorPagina).Take(filtro.QuantidadePorPagina).ToList();
            return(filtro);
        }