Ejemplo n.º 1
0
        public async Task <IApplicationResult <DadosPaginadosViewModel <PactoTrabalhoViewModel> > > ObterPorFiltroAsync(PactoTrabalhoFiltroRequest request)
        {
            var result = new ApplicationResult <DadosPaginadosViewModel <PactoTrabalhoViewModel> >();

            var query = PactoTrabalhoRawSqls.ObterPorFiltro;

            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("@pessoaId", request.PessoaId, DbType.Int64, ParameterDirection.Input);
            parameters.Add("@formaExecucaoId", request.FormaExecucaoId, DbType.Int64, ParameterDirection.Input);
            parameters.Add("@situacaoId", request.SituacaoId, DbType.Int32, ParameterDirection.Input);
            parameters.Add("@dataInicio", request.DataInicio, DbType.Date, ParameterDirection.Input);
            parameters.Add("@dataFim", request.DataFim, DbType.Date, ParameterDirection.Input);

            parameters.Add("@offset", (request.Page - 1) * request.PageSize, DbType.Int32, ParameterDirection.Input);
            parameters.Add("@pageSize", request.PageSize, DbType.Int32, ParameterDirection.Input);

            var unidades = new List <Int64>();

            if (request.UnidadeId.HasValue)
            {
                unidades.Add(request.UnidadeId.Value);
            }
            else if (request.UnidadesUsuario != null)
            {
                foreach (var unidadeId in request.UnidadesUsuario)
                {
                    unidades.Add(unidadeId);
                }
            }

            if (unidades.Any())
            {
                query = query.Replace("#UNIDADES#", " AND p.unidadeId in (" + String.Join(',', unidades) + " )");
            }
            else
            {
                query = query.Replace("#UNIDADES#", string.Empty);
            }

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                connection.Open();

                var dadosPaginados = new DadosPaginadosViewModel <PactoTrabalhoViewModel>(request);
                using (var multi = await connection.QueryMultipleAsync(query, parameters))
                {
                    dadosPaginados.Registros = multi.Read <PactoTrabalhoViewModel>().ToList();
                    dadosPaginados.Controle.TotalRegistros = multi.ReadFirst <int>();
                    result.Result = dadosPaginados;
                }

                connection.Close();
            }

            return(result);
        }
        public async Task <IApplicationResult <DadosPaginadosViewModel <PactoTrabalhoViewModel> > > ObterPorFiltroAsync(PactoTrabalhoFiltroRequest request)
        {
            var result = new ApplicationResult <DadosPaginadosViewModel <PactoTrabalhoViewModel> >();

            var query = PactoTrabalhoRawSqls.ObterPorFiltro;

            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("@pessoaLogadaId", request.UsuarioLogadoId, DbType.Int64, ParameterDirection.Input);
            parameters.Add("@pessoaId", request.PessoaId, DbType.Int64, ParameterDirection.Input);
            parameters.Add("@formaExecucaoId", request.FormaExecucaoId, DbType.Int64, ParameterDirection.Input);
            parameters.Add("@situacaoId", request.SituacaoId, DbType.Int32, ParameterDirection.Input);
            parameters.Add("@dataInicio", request.DataInicio, DbType.Date, ParameterDirection.Input);
            parameters.Add("@dataFim", request.DataFim, DbType.Date, ParameterDirection.Input);

            parameters.Add("@offset", (request.Page - 1) * request.PageSize, DbType.Int32, ParameterDirection.Input);
            parameters.Add("@pageSize", request.PageSize, DbType.Int32, ParameterDirection.Input);

            if (!request.IsGestor)
            {
                query = query.Replace("#CONTROLE#", PactoTrabalhoRawSqls.ControleAcesso);
            }
            else
            {
                query = query.Replace("#CONTROLE#", string.Empty);
            }

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                connection.Open();

                var dadosPaginados = new DadosPaginadosViewModel <PactoTrabalhoViewModel>(request);
                using (var multi = await connection.QueryMultipleAsync(query, parameters))
                {
                    dadosPaginados.Registros = multi.Read <PactoTrabalhoViewModel>().ToList();
                    dadosPaginados.Controle.TotalRegistros = multi.ReadFirst <int>();
                    result.Result = dadosPaginados;
                }

                connection.Close();
            }

            return(result);
        }
Ejemplo n.º 3
0
        public async Task <IApplicationResult <DadosPaginadosViewModel <PactoTrabalhoViewModel> > > ObterPactoTrabalhoPorFiltroAsync(PactoTrabalhoFiltroRequest request)
        {
            var result = new ApplicationResult <DadosPaginadosViewModel <PactoTrabalhoViewModel> >();

            var perfil = await ObterPerfilPessoaAsync(request);

            request.IsGestor = perfil.Result.Perfis.Any(p => p.Perfil == (int)Domain.Enums.PerfilUsuarioEnum.Gestor);

            //Obtém as unidades
            var dados = await PactoTrabalhoQuery.ObterPorFiltroAsync(request);

            result.Result = dados.Result;
            return(result);
        }
        public async Task <IApplicationResult <DadosPaginadosViewModel <PactoTrabalhoViewModel> > > ObterPactoTrabalhoPorFiltroAsync(PactoTrabalhoFiltroRequest request)
        {
            var result = new ApplicationResult <DadosPaginadosViewModel <PactoTrabalhoViewModel> >();

            var unidadesUsuario = await ObterUnidadesPerfilPessoa(request);

            if (unidadesUsuario != null)
            {
                request.UnidadesUsuario = unidadesUsuario.ToList();
            }

            //Obtém as unidades
            var dados = await PactoTrabalhoQuery.ObterPorFiltroAsync(request);

            result.Result = dados.Result;
            return(result);
        }
Ejemplo n.º 5
0
 public async Task <IActionResult> GetAll([FromQuery] PactoTrabalhoFiltroRequest request)
 => await EstruturaOrganizacionalQuery.ObterPactoTrabalhoPorFiltroAsync(request);