public FiltroComPeriodo <TransferenciaPrestadorDto> FiltrarTransferencias(FiltroComPeriodo <TransferenciaPrestadorDto> filtro)
        {
            var query = DbSet.AsQueryable().AsNoTracking();

            query = query.Where(x => x.DataTransferencia >= filtro.DataInicio && x.DataTransferencia <= filtro.DataFim);

            query = FiltrarCelulasComPermissao(filtro, query);

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

                query = query.Where(x => x.Prestador.Pessoa.Nome.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "finalizado" && x.Situacao ==
                                     SituacoesTransferenciaEnum.Efetivado.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "negado" &&
                                     x.Situacao == SituacoesTransferenciaEnum.Negado.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "aguardando" && x.Situacao ==
                                     SituacoesTransferenciaEnum.AguardandoAprovacao.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "aguardando aprovação" && x.Situacao ==
                                     SituacoesTransferenciaEnum.AguardandoAprovacao.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "aprovado" && x.Situacao ==
                                     SituacoesTransferenciaEnum.Aprovado.GetHashCode()));
            }

            query = query.Include(x => x.Prestador);

            var dados = query.Select(x => new TransferenciaPrestadorDto
            {
                Id            = x.Id,
                Celula        = x.IdCelula.GetValueOrDefault(),
                Prestador     = x.Prestador.Pessoa.Nome,
                Status        = x.Situacao.ToString(),
                Usuario       = x.Usuario,
                DataAlteracao = x.DataAlteracao
            });

            filtro.Total = dados.Count();

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

            case "prestador":
                dados = filtro.OrdemOrdenacao.Equals("asc") ? dados.OrderByDescending(x => x.Prestador) : dados.OrderBy(x => x.Prestador);
                break;

            case "status":
                dados = filtro.OrdemOrdenacao.Equals("asc") ? dados.OrderByDescending(x => x.Status) : dados.OrderBy(x => x.Status);
                break;
            }

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

            return(filtro);
        }
 public IActionResult FiltrarTransferencias([FromBody] FiltroComPeriodo <FinalizarContratoGridDto> filtro)
 {
     try
     {
         var result = _finalizacaoContratoService.Filtrar(filtro);
         return(Ok(new { dados = result, notifications = "", success = true }));
     }
     catch (Exception exception)
     {
         return(BadRequest(exception));
     }
 }
 public IActionResult FiltrarTransferencias([FromBody] FiltroComPeriodo <TransferenciaPrestadorDto> filtro)
 {
     try
     {
         var result = _transferenciaPrestadorService.FiltrarTransferencia(filtro);
         return(Ok(new { dados = result, notifications = "", success = true }));
     }
     catch (Exception exception)
     {
         return(BadRequest(exception));
     }
 }
示例#4
0
        private IQueryable <ReajusteContrato> FiltrarCelulasComPermissao(FiltroComPeriodo <ReajusteContratoGridDto> filtro, IQueryable <ReajusteContrato> query)
        {
            var celulasComAcesso = new List <string>();

            _variables.CelulasComPermissao.ForEach(x => celulasComAcesso.Add(x.ToString()));

            IEnumerable <string> celulasIds;

            if (string.IsNullOrEmpty(filtro.FiltroGenerico))
            {
                celulasIds = celulasComAcesso;
            }
            else
            {
                celulasIds = filtro.FiltroGenerico.Split(",");

                celulasIds = celulasIds.Intersect(celulasComAcesso).ToList();
            }

            query = query.Where(x => celulasIds.Any(c => c == x.Prestador.IdCelula.ToString()));
            return(query);
        }
示例#5
0
        public FiltroComPeriodo <ReajusteContratoGridDto> Filtrar(FiltroComPeriodo <ReajusteContratoGridDto> filtro)
        {
            var query = DbSet.AsQueryable().AsNoTracking();

            query = query.Where(x => x.DataReajuste >= filtro.DataInicio && x.DataReajuste <= filtro.DataFim &&
                                x.Situacao != SharedEnuns.SituacoesReajusteContrato.ReajusteFinalizado.GetHashCode());

            query = FiltrarCelulasComPermissao(filtro, query);

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

                var parse = DateTime.TryParseExact(filtro.ValorParaFiltrar, "dd/MM/yyyy",
                                                   CultureInfo.CreateSpecificCulture("pt-BR"), DateTimeStyles.None, out var data);

                query = query.Where(x => x.Prestador.Pessoa.Nome.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "aguardando aprovação bp" && x.Situacao ==
                                     SharedEnuns.SituacoesReajusteContrato.AguardandoAprovacaoBP.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "aguardando aprovação remuneração" && x.Situacao ==
                                     SharedEnuns.SituacoesReajusteContrato.AguardandoAprovacaoRemuneracao.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "aguardando aprovação controladoria" && x.Situacao ==
                                     SharedEnuns.SituacoesReajusteContrato.AguardandoAprovacaoContrtoladoria.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "aguardando aprovação diretoria célula" && x.Situacao ==
                                     SharedEnuns.SituacoesReajusteContrato.AguardandoAprovacaoDiretoriaCel.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "reajuste aprovado" && x.Situacao ==
                                     SharedEnuns.SituacoesReajusteContrato.ReajusteAprovado.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "reajuste finalizado" && x.Situacao ==
                                     SharedEnuns.SituacoesReajusteContrato.ReajusteFinalizado.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "reajuste cancelado" && x.Situacao ==
                                     SharedEnuns.SituacoesReajusteContrato.ReajusteCancelado.GetHashCode()) ||
                                    (parse && x.DataInclusao.Date == data.Date) ||
                                    (parse && x.DataReajuste.Date == data.Date));
            }

            query = query.Include(x => x.Prestador);

            switch (filtro.CampoOrdenacao)
            {
            case "idCelula":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.Prestador.IdCelula) : query.OrderBy(x => x.Prestador.IdCelula);
                break;

            case "prestador":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.Prestador.Pessoa.Nome) : query.OrderBy(x => x.Prestador.Pessoa.Nome);
                break;

            case "status":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.Situacao) : query.OrderBy(x => x.Situacao);
                break;

            case "dataSolicitacao":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.DataInclusao) : query.OrderBy(x => x.DataInclusao);
                break;

            case "dataReajuste":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.DataReajuste) : query.OrderBy(x => x.DataReajuste);
                break;
            }

            var dados = query.Select(x => new ReajusteContratoGridDto
            {
                Id              = x.Id,
                IdCelula        = x.Prestador.IdCelula,
                Prestador       = x.Prestador.Pessoa.Nome,
                Status          = x.Situacao,
                DataSolicitacao = x.DataInclusao.ToString("dd/MM/yyyy"),
                DataReajuste    = x.DataReajuste.ToString("dd/MM/yyyy"),
                Usuario         = x.Usuario,
                DataAlteracao   = x.DataAlteracao
            });

            filtro.Total = dados.Count();

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

            return(filtro);
        }
        public FiltroComPeriodo <ReajusteContratoGridDto> Filtrar(FiltroComPeriodo <ReajusteContratoGridDto> filtro)
        {
            var result = _reajusteContratoRepository.Filtrar(filtro);

            return(result);
        }
示例#7
0
        public FiltroComPeriodo <FinalizarContratoGridDto> Filtrar(FiltroComPeriodo <FinalizarContratoGridDto> filtro)
        {
            if (!string.IsNullOrEmpty(filtro.ValorParaFiltrar))
            {
                filtro.ValorParaFiltrar = filtro.ValorParaFiltrar.Trim();
            }

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

            query = query.Where(x => x.DataFimContrato >= filtro.DataInicio && x.DataFimContrato <= filtro.DataFim);

            query = FiltrarCelulasComPermissao(filtro, query);

            if (!string.IsNullOrEmpty(filtro.ValorParaFiltrar))
            {
                var parse = DateTime.TryParseExact(filtro.ValorParaFiltrar, "dd/MM/yyyy",
                                                   CultureInfo.CreateSpecificCulture("pt-BR"), DateTimeStyles.None, out var data);

                query = query.Where(x => x.Prestador.Pessoa.Nome.ToUpper().Contains(filtro.ValorParaFiltrar.ToUpper()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "finalizado" && x.Situacao ==
                                     SharedEnuns.SituacoesFinalizarContrato.Finalizado.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "cancelado" && x.Situacao ==
                                     SharedEnuns.SituacoesFinalizarContrato.Cancelado.GetHashCode()) ||
                                    (filtro.ValorParaFiltrar.ToLower() == "pendente" && x.Situacao ==
                                     SharedEnuns.SituacoesFinalizarContrato.Pendente.GetHashCode()) ||
                                    (parse && x.DataFimContrato.Date == data.Date));
            }

            query = query.Include(x => x.Prestador);

            switch (filtro.CampoOrdenacao)
            {
            case "idCelula":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.Prestador.IdCelula) : query.OrderBy(x => x.Prestador.IdCelula);
                break;

            case "prestador":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.Prestador.Pessoa.Nome) : query.OrderBy(x => x.Prestador.Pessoa.Nome);
                break;

            case "status":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.Situacao) : query.OrderBy(x => x.Situacao);
                break;

            case "diaFimContrato":
                query = filtro.OrdemOrdenacao.Equals("asc") ? query.OrderByDescending(x => x.DataFimContrato) : query.OrderBy(x => x.DataFimContrato);
                break;
            }

            var dados = query.Select(x => new FinalizarContratoGridDto
            {
                DiaFimContrato = x.DataFimContrato.ToString("dd/MM/yyyy"),
                Id             = x.Id,
                IdCelula       = x.Prestador.IdCelula,
                Prestador      = x.Prestador.Pessoa.Nome,
                Status         = x.Situacao,
                Usuario        = x.Usuario,
                DataAlteracao  = x.DataAlteracao
            });

            filtro.Total = dados.Count();

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

            return(filtro);
        }
示例#8
0
        public FiltroComPeriodo <TransferenciaPrestadorDto> FiltrarTransferencia(FiltroComPeriodo <TransferenciaPrestadorDto> filtro)
        {
            var result = _transferenciaPrestadorRepository.FiltrarTransferencias(filtro);

            return(result);
        }
示例#9
0
        public FiltroComPeriodo <FinalizarContratoGridDto> Filtrar(FiltroComPeriodo <FinalizarContratoGridDto> filtro)
        {
            var result = _finalizacaoContratoRepository.Filtrar(filtro);

            return(result);
        }