public FavorecimentoBD ConverteDe(IFavorecimento favorecimento, int idVinculo, string tipoDeVinculo)
        {
            FavorecimentoBD favBD = new FavorecimentoBD(favorecimento.Tipo.Id);

            if (!(favorecimento is FavorecimentoPorCategoria))
            {
                throw new System.Exception();
            }

            FavorecimentoPorCategoria fav = favorecimento as FavorecimentoPorCategoria;

            var parametros = new ParametrosDeFavorecimentoPorCategoria()
            {
                idsCategorias = fav.IdCategoriasFavorecidas, versao = "1"
            };

            favBD.ParametrosEspecificos = ConverteParametrosPorVersao(parametros);

            favBD.Vigencia    = fav.Periodo;
            favBD.Id          = fav.Id;
            favBD.IdVinculo   = idVinculo;
            favBD.tipoVinculo = tipoDeVinculo;

            return(favBD);
        }
예제 #2
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);
        }
        public async Task InserirFavorecimentoEm(IFavorecimento favorecimento, int idVinculo, string tipoDeVinculo)
        {
            TipoDeFavorecimentoBD tipoBD = TipoDeFavorecimentoBD.Get(favorecimento.Tipo.Id);

            FavorecimentoBD favorecimentoBD = tipoBD.ConverteDe(favorecimento, idVinculo, tipoDeVinculo);

            //DbContextOptions<RemuneracaoContext> option = Helper.ObtemOpcoesDeConexao<RemuneracaoContext>(_stringDeConexao);

            //using (var context = new RemuneracaoContext(option))
            //{
            using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao))
            {
                var contemFavorecidoNaBase = await(from fav in context.Favorecimentos
                                                   where fav.IdVinculo == idVinculo &&
                                                   fav.tipo == tipoBD.Id &&
                                                   fav.tipoVinculo == tipoDeVinculo
                                                   select fav).FirstOrDefaultAsync();

                if (contemFavorecidoNaBase == null)
                {
                    await context.Favorecimentos.AddAsync(favorecimentoBD);

                    await context.SaveChangesAsync();
                }
                else
                {
                    var parametros = favorecimentoBD.ParametrosEspecificos;
                    favorecimentoBD = context.Favorecimentos.First(p => p.Id == contemFavorecidoNaBase.Id);
                    //favorecimentoBD.Id = favorecimentosBD.Id;
                    //FavorecimentoBD fav = context.Favorecimentos.First(p => p.Id == favorecimentoBD.Id);

                    favorecimentoBD.ParametrosEspecificos = parametros;

                    context.Favorecimentos.Update(favorecimentoBD);
                    await context.SaveChangesAsync();
                }
            }
        }
예제 #4
0
        public FavorecimentoBD ConverteDe(IFavorecimento favorecimento, int idVinculo, string tipoDeVinculo)
        {
            FavorecimentoBD favBD = new FavorecimentoBD(favorecimento.Tipo.Id);

            if (!(favorecimento is FavorecimentoPorLista))
            {
                throw new System.Exception();
            }

            FavorecimentoPorLista fav = favorecimento as FavorecimentoPorLista;

            var parametros = new ParametrosDeFavorecimentoPorLista()
            {
                idsFuncionarios = fav.Favorecidos.Select(fv => fv.Profissional.Id).ToArray(), versao = "1"
            };

            favBD.ParametrosEspecificos = ConverteParametrosPorVersao(parametros);

            favBD.Vigencia    = fav.Periodo;
            favBD.Id          = fav.Id;
            favBD.IdVinculo   = idVinculo;
            favBD.tipoVinculo = tipoDeVinculo;
            return(favBD);
        }
 public virtual ParametrosDeFavorecimento ConvertePara(FavorecimentoBD favorecimento)
 {
     return(Conversor.ConverteDe(favorecimento));
 }