public async Task <IEnumerable <EntregaDeSaldoFuncionario> > ObterEntregasDeSaldoDosFuncionariosDaRegra(ParametrosDeRegraDeRemuneracao modelo)
        {
            var tipoDaRegra = TipoDeRegraBD.Get(modelo.Tipo.Id);
            RegraDeRemuneracaoBD      regra = tipoDaRegra.ConverterDe(modelo);
            ParametrosDeFavorecimento fav   = new ParametrosDeFavorecimento();

            using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao))
            {
                ContratoDeRemuneracaoBD contrato = await context.Contratos
                                                   .Include(c => c.Favorecimento)
                                                   .Where(x => x.Id == regra.IdContrato).FirstOrDefaultAsync();

                if (contrato.Favorecimento == null)
                {
                    return(new List <EntregaDeSaldoFuncionario>());
                }

                fav = contrato.Favorecimento.ConverterPara();
            }



            using (var context = _fabricaDeContextos.CriaContextoDe <EntregaContext>(TipoDeConexao.Entrega))
            {
                IEnumerable <EntregaDeSaldoFuncionarioBD> entregas = await context.EntregasSaldoFuncionario
                                                                     //.Include(c=>c.Regra)
                                                                     .Where(x => fav.IdsDasEntidadesFavorecidas.Contains(x.IdFuncionario)).ToArrayAsync();

                IEnumerable <EntregaDeSaldoFuncionario> retorno = ConversorEntregaBSFuncionario.ConverteParaDominio(entregas);
                return(retorno);
            }
        }
        private static ParametrosDeFavorecimento GeraParametrosDeFavorecimento(int[] idsEntidadesPrincipais, int[] idsEntidadesSecundarias)
        {
            ParametrosDeFavorecimento parametros = new ParametrosDeFavorecimento();

            parametros.Id = idPrincipal.Proximo();
            parametros.IdsDasEntidadesFavorecidas = idsEntidadesPrincipais;
            parametros.idsDasEntidadesDeExcecao   = idsEntidadesSecundarias;

            return(parametros);
        }
Example #3
0
        public ParametrosDeFavorecimento ConverteDe(FavorecimentoBD favorecimentoBD)
        {
            //Periodo periodoDeFavorecimento = favorecimentoBD.Vigencia;
            int[] idsFuncionarios = ConverteParametrosPorVersao(favorecimentoBD.ParametrosEspecificos).idsFuncionarios;

            ParametrosDeFavorecimento parametros = new ParametrosDeFavorecimento()
            {
                Id = favorecimentoBD.Id,
                IdsDasEntidadesFavorecidas = idsFuncionarios,
                idsDasEntidadesDeExcecao   = null,
                TipoDeFavorecimento        = TipoDeFavorecimento.Get(favorecimentoBD.tipo)
            };

            return(parametros);
        }
        internal static IEnumerable <IFavorecimento> ObtemFavorecimentosConfigurados()
        {
            List <Categoria>    categorias    = GeraCategoriasComTodasAsCombinacoesDeIds(idsEntidadesPrincipais, idsEntidadesSecundarias);
            List <Profissional> profissionais = GeraProfissionaisComTodasAsCombinacoesDeIds(idsEntidadesPrincipais, idsEntidadesSecundarias, categorias);

            List <IFavorecimento> favorecimentos = new List <IFavorecimento>();

            _servicoFuncionario = LOMock.ConfiguraServicoProfissionais(profissionais);
            ParametrosDeFavorecimento parametros = GeraParametrosDeFavorecimento(idsEntidadesPrincipais, idsEntidadesSecundarias);

            favorecimentos.Add(CriarFavorecimentoPorLista(parametros));
            favorecimentos.Add(CriarFavorecimentoPorCategoria(parametros));

            return(favorecimentos);
        }
Example #5
0
        public async Task <IActionResult> VinculaFavorecidos(int idContrato, bool excluir, [FromBody] FavorecimentoViewModel parametrosDeFavorecimento)
        {
            //context = await ConfiguraGerenciador(context, _gerenciadorDeRequisicoesDeFavorecimento);

            try
            {
                var            fav           = new ParametrosDeFavorecimento(parametrosDeFavorecimento);
                IFavorecimento favorecimento = fav.TipoDeFavorecimento.Construtor(fav).ConstruirFavorecimento(ServicoProfissional);

                await _gerenciadorDeRequisicoesDeFavorecimento.AtualizaFavorecimentoAoContrato(idContrato, favorecimento, excluir);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }

            return(Ok(true));
        }
        public async Task <IEnumerable <ParametrosDeFavorecimento> > ListarPreFavorecimentosDe(int idContratos, string tipoDeVinculo, IEnumerable <Competencia> competenciasDaVigencia = null)
        {
            IEnumerable <ParametrosDeFavorecimento> parametros = new ParametrosDeFavorecimento[] { };

            //DbContextOptions<RemuneracaoContext> option = Helper.ObtemOpcoesDeConexao<RemuneracaoContext>(_stringDeConexao);
            //using (var context = new RemuneracaoContext(option))
            //{
            using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao))
            {
                var favorecimentosBD = await(from favorecimento in context.Favorecimentos
                                             where favorecimento.tipoVinculo == tipoDeVinculo && idContratos == favorecimento.IdVinculo
                                             select favorecimento).ToArrayAsync();

                parametros = favorecimentosBD.Select(fav => fav.ConverterPara());
            }

            return(parametros);
        }
        public IFavorecimento PreencherFavorecimento(IFavorecimento favorecimento)
        {
            if (_favorecimento != null && favorecimento != null)
            {
                ParametrosDeFavorecimento favorecimentos = new ParametrosDeFavorecimento()
                {
                    Favorecimentos = new[] { favorecimento, _favorecimento }
                };
                IFavorecimento favorecimentoComposto = TipoDeFavorecimento.Composto.CriaFavorecimento(favorecimentos);

                _favorecimento = favorecimentoComposto;
            }
            else if (favorecimento != null)
            {
                _favorecimento = favorecimento;
            }

            return(_favorecimento);
        }
 public ConstrutorDeFavorecimentoPadrao(ParametrosDeFavorecimento parametros)
 {
     _favorecimentoAContruir = parametros.TipoDeFavorecimento.CriaFavorecimento(parametros);
 }
 private static IFavorecimento CriarFavorecimentoPorLista(ParametrosDeFavorecimento parametros)
 {
     parametros.TipoDeFavorecimento = TipoDeFavorecimento.PorLista;
     return(new ConstrutorDeFavorecimentoPadrao(parametros).ConstruirFavorecimento(_servicoFuncionario));
 }