public void Initialize(long idSeedHistory) { IdSeedHistory = idSeedHistory; EsferaAdministrativaStaging = new DIM_EsferaAdministrativaStaging { Codigo = CodigoEsferaAdministrativa, Nome = NomeEsferaAdministrativa }; PeriodoStaging = DIM_PeriodoStaging.GetMensal(); TempoStaging = new DIM_TempoStaging { Ano = Ano, Mes = Mes }; UnidadeGestoraStaging = new DIM_UnidadeGestoraStaging { Codigo = CodigoUnidadeGestora, CodigoOriginal = CodigoOriginalUnidadeGestora, CodigoPoder = CodigoPoderUnidadeGestora, CodigoTipoUnidadeGestora = CodigoTipoUnidadeGestora, Nome = NomeUnidadeGestora, NomePoder = NomePoderUnidadeGestora, NomeTipoUnidadeGestora = NomeTipoUnidadeGestora }; }
public IEnumerable <FT_PrestacaoContaMensalStaging> Save(IEnumerable <FT_PrestacaoContaMensalStaging> rows, IObserver <AddRangeObserverResult> observer = default) { observer.OnNext(new AddRangeObserverResult { Metadata = new HashSet <string> { "info:Processing dimensions" } }); var tempos = rows.Select(o => o.TempoStaging); tempos = new DIM_TempoStaging().Save(tempos); var periodos = new[] { PeriodoStaging }.AsEnumerable(); periodos = new DIM_PeriodoStaging().Save(periodos); var unidadesGestoras = rows.Select(o => o.UnidadeGestoraStaging); unidadesGestoras = new DIM_UnidadeGestoraStaging().Save(unidadesGestoras); var esferasAdministrativas = rows.Select(o => o.EsferaAdministrativaStaging); esferasAdministrativas = new DIM_EsferaAdministrativaStaging().Save(esferasAdministrativas); using (var dbContext = Settings.ServiceProvider.GetService <DWControleSocialContext>()) { var precisamSalvar = ( from row in rows join ea in esferasAdministrativas on row.EsferaAdministrativaStaging.CodigoComparacao equals ea.CodigoComparacao join pe in periodos on row.PeriodoStaging.CodigoComparacao equals pe.CodigoComparacao join te in tempos on row.TempoStaging.CodigoComparacao equals te.CodigoComparacao join ug in unidadesGestoras on row.UnidadeGestoraStaging.CodigoComparacao equals ug.CodigoComparacao select new FT_PrestacaoContaMensal { DataHomologacao = row.DataHomologacao, DataLimite = row.DataLimite, IdEsferaAdministrativa = ea.Id, IdPeriodo = pe.Id, IdSeedHistory = IdSeedHistory, IdTempo = te.Id, IdUnidadeGestora = ug.Id }) .ToList(); observer.OnNext(new AddRangeObserverResult { Metadata = new HashSet <string> { "info:Processing facts" } }); precisamSalvar.InsertMerge ( () => Settings.ServiceProvider.GetService <DWControleSocialContext>(), o => o.Id, GetCodigoComparacao, observer, o => new { o.DataHomologacao } ); } return(rows); }
public IEnumerable <FT_ReceitaDotacaoMunicipioStaging> Save(IEnumerable <FT_ReceitaDotacaoMunicipioStaging> rows, IObserver <AddRangeObserverResult> observer = default) { observer.OnNext(new AddRangeObserverResult { Id = "teste", Metadata = new HashSet <string> { "info:Processing dimensions" } }); observer.OnCompleted(); var tempos = rows.Select(o => o.TempoStaging); tempos = new DIM_TempoStaging().Save(tempos); var periodos = new[] { PeriodoStaging }.AsEnumerable(); periodos = new DIM_PeriodoStaging().Save(periodos); var unidadesGestoras = rows.Select(o => o.UnidadeGestoraStaging); unidadesGestoras = new DIM_UnidadeGestoraStaging().Save(unidadesGestoras); var esferasAdministrativas = rows.Select(o => o.EsferaAdministrativaStaging); esferasAdministrativas = new DIM_EsferaAdministrativaStaging().Save(esferasAdministrativas); var classificacoesFontesRecursos = rows.Select(o => o.ClassificacaoFonteRecursoStaging); classificacoesFontesRecursos = new DIM_ClassificacaoFonteERecursoStaging().Save(classificacoesFontesRecursos); var classificacoesNaturezas = rows.Select(o => o.ClassificacaoNaturezaStaging); classificacoesNaturezas = new DIM_ClassificacaoReceitaDotacaoMunicipioStaging().Save(classificacoesNaturezas); var precisamSalvar = ( from row in rows join cfr in classificacoesFontesRecursos on row.ClassificacaoFonteRecursoStaging.CodigoComparacao equals cfr.CodigoComparacao join cfn in classificacoesNaturezas on row.ClassificacaoNaturezaStaging.CodigoComparacao equals cfn.CodigoComparacao join ea in esferasAdministrativas on row.EsferaAdministrativaStaging.CodigoComparacao equals ea.CodigoComparacao join pe in periodos on row.PeriodoStaging.CodigoComparacao equals pe.CodigoComparacao join te in tempos on row.TempoStaging.CodigoComparacao equals te.CodigoComparacao join ug in unidadesGestoras on row.UnidadeGestoraStaging.CodigoComparacao equals ug.CodigoComparacao select new FT_ReceitaDotacaoMunicipio { Arrecadada = row.Arrecadada, ArrecadadaFUNDEB = row.ArrecadadaFUNDEB, IdClassificacaoFonteRecurso = cfr.Id, IdClassificacaoNatureza = cfn.Id, IdEsferaAdministrativa = ea.Id, IdOriginal = row.IdOriginal, IdPeriodo = pe.Id, IdSeedHistory = IdSeedHistory, IdTempo = te.Id, IdUnidadeGestora = ug.Id, PrevisaoAtualizada = row.PrevisaoAtualizada, PrevisaoAtualizadaFUNDEB = row.PrevisaoAtualizadaFUNDEB, PrevisaoInicial = row.PrevisaoInicial, PrevisaoInicialFUNDEB = row.PrevisaoInicialFUNDEB }) .ToList(); observer.OnNext(new AddRangeObserverResult { Metadata = new HashSet <string> { "info:Processing facts" } }); precisamSalvar.InsertMerge(() => Settings.ServiceProvider.GetService <DWControleSocialContext>(), o => o.Id, o => o.IdOriginal.ToString(), observer); return(rows); }
public void Initialize(long idSeedHistory) { IdSeedHistory = idSeedHistory; ClassificacaoFonteRecursoStaging = new DIM_ClassificacaoFonteERecursoStaging { CodigoCompleto = CodigoCompletoFonteERecurso?.ToUpperRemovingBreaklines(), CodigoUnidadeGestora = CodigoUnidadeGestora, CodigoDetalhamento = CodigoDetalhamentoFonteERecurso?.ToUpperRemovingBreaklines(), CodigoFonteReduzida = CodigoFonteReduzidaFonteERecurso?.ToUpperRemovingBreaklines(), CodigoGrupo = CodigoGrupoFonteERecurso?.ToUpperRemovingBreaklines(), NomeDetalhamento = NomeDetalhamentoFonteERecurso?.ToUpperRemovingBreaklines(), NomeFonteReduzida = NomeFonteReduzidaFonteERecurso?.ToUpperRemovingBreaklines(), NomeGrupo = NomeGrupoFonteERecurso?.ToUpperRemovingBreaklines() }; ClassificacaoNaturezaStaging = new DIM_ClassificacaoReceitaDotacaoMunicipioStaging { CodigoCompleto = CodigoCompletoNatureza?.ToUpperRemovingBreaklines(), CodigoCategoria = CodigoCategoriaNatureza?.ToUpperRemovingBreaklines(), CodigoOrigem = CodigoOrigemNatureza?.ToUpperRemovingBreaklines(), CodigoEspecie = CodigoEspecieNatureza?.ToUpperRemovingBreaklines(), CodigoRubrica = CodigoRubricaNatureza?.ToUpperRemovingBreaklines(), CodigoAlinea = CodigoAlineaNatureza?.ToUpperRemovingBreaklines(), CodigoSubAlinea = CodigoSubAlineaNatureza?.ToUpperRemovingBreaklines(), CodigoDetalhamentoNivel1 = CodigoDetalhamentoNivel1Natureza?.ToUpperRemovingBreaklines(), CodigoDetalhamentoNivel2 = CodigoDetalhamentoNivel2Natureza?.ToUpperRemovingBreaklines(), CodigoDetalhamentoNivel3 = CodigoDetalhamentoNivel3Natureza?.ToUpperRemovingBreaklines(), CodigoTipoDetalhamento = CodigoTipoDetalhamentoNatureza?.ToUpperRemovingBreaklines(), NomeCategoria = NomeCategoriaNatureza?.ToUpperRemovingBreaklines(), NomeOrigem = NomeOrigemNatureza?.ToUpperRemovingBreaklines(), NomeEspecie = NomeEspecieNatureza?.ToUpperRemovingBreaklines(), NomeRubrica = NomeRubricaNatureza?.ToUpperRemovingBreaklines(), NomeAlinea = NomeAlineaNatureza?.ToUpperRemovingBreaklines(), NomeSubAlinea = NomeSubAlineaNatureza?.ToUpperRemovingBreaklines(), NomeDetalhamentoNivel1 = NomeDetalhamentoNivel1Natureza?.ToUpperRemovingBreaklines(), NomeDetalhamentoNivel2 = NomeDetalhamentoNivel2Natureza?.ToUpperRemovingBreaklines(), NomeDetalhamentoNivel3 = NomeDetalhamentoNivel3Natureza?.ToUpperRemovingBreaklines(), NomeTipoDetalhamento = NomeTipoDetalhamentoNatureza?.ToUpperRemovingBreaklines() }; EsferaAdministrativaStaging = new DIM_EsferaAdministrativaStaging { Codigo = CodigoEsferaAdministrativa, Nome = NomeEsferaAdministrativa }; PeriodoStaging = DIM_PeriodoStaging.GetMensal(); TempoStaging = new DIM_TempoStaging { Ano = Ano, Mes = Mes }; UnidadeGestoraStaging = new DIM_UnidadeGestoraStaging { Codigo = CodigoUnidadeGestora, CodigoOriginal = CodigoOriginalUnidadeGestora, CodigoPoder = CodigoPoderUnidadeGestora, CodigoTipoUnidadeGestora = CodigoTipoUnidadeGestora, Nome = NomeUnidadeGestora, NomePoder = NomePoderUnidadeGestora, NomeTipoUnidadeGestora = NomeTipoUnidadeGestora }; }
public IEnumerable<FT_DespesaDotacaoMunicipioStaging> Save(IEnumerable<FT_DespesaDotacaoMunicipioStaging> rows, IObserver<AddRangeObserverResult> observer = default) { observer.OnNext(new AddRangeObserverResult { Metadata = new HashSet<string> { "info:Processing dimensions" } }); var tempos = rows.Select(o => o.TempoStaging); tempos = new DIM_TempoStaging().Save(tempos); var periodos = new[] { PeriodoStaging }.AsEnumerable(); periodos = new DIM_PeriodoStaging().Save(periodos); var unidadesGestoras = rows.Select(o => o.UnidadeGestoraStaging); unidadesGestoras = new DIM_UnidadeGestoraStaging().Save(unidadesGestoras); var esferasAdministrativas = rows.Select(o => o.EsferaAdministrativaStaging); esferasAdministrativas = new DIM_EsferaAdministrativaStaging().Save(esferasAdministrativas); var classificacoesNaturezas = rows.Select(o => o.ClassificacaoNaturezaStaging); classificacoesNaturezas = new DIM_ClassificacaoDespesaDotacaoMunicipioStaging().Save(classificacoesNaturezas); var classificacoesFontesRecursos = rows.Select(o => o.ClassificacaoFonteERecursoStaging); classificacoesFontesRecursos = new DIM_ClassificacaoFonteERecursoStaging().Save(classificacoesFontesRecursos); var classificacoesFuncaoSubFuncao = rows.Select(o => o.ClassificacaoFuncaoESubFuncaoStaging); classificacoesFuncaoSubFuncao = new DIM_ClassificacaoFuncaoESubFuncaoStaging().Save(classificacoesFuncaoSubFuncao); var classificacoesOrgaoEUnidadeOrcamentaria = rows.Select(o => o.ClassificacaoOrgaoEUnidadeOrcamentariaStaging); classificacoesOrgaoEUnidadeOrcamentaria = new DIM_ClassificacaoOrgaoEUnidadeOrcamentariaStaging().Save(classificacoesOrgaoEUnidadeOrcamentaria); var classificacoesProgramaAcao = rows.Select(o => o.ClassificacaoProgramaEAcaoStaging); classificacoesProgramaAcao = new DIM_ClassificacaoProgramaEAcaoStaging().Save(classificacoesProgramaAcao); var precisamSalvar = ( from row in rows join cfr in classificacoesFontesRecursos on row.ClassificacaoFonteERecursoStaging.CodigoComparacao equals cfr.CodigoComparacao join cfn in classificacoesNaturezas on row.ClassificacaoNaturezaStaging.CodigoComparacao equals cfn.CodigoComparacao join cff in classificacoesFuncaoSubFuncao on row.ClassificacaoFuncaoESubFuncaoStaging.CodigoComparacao equals cff.CodigoComparacao join cfo in classificacoesOrgaoEUnidadeOrcamentaria on row.ClassificacaoOrgaoEUnidadeOrcamentariaStaging.CodigoComparacao equals cfo.CodigoComparacao join cfp in classificacoesProgramaAcao on row.ClassificacaoProgramaEAcaoStaging.CodigoComparacao equals cfp.CodigoComparacao join ea in esferasAdministrativas on row.EsferaAdministrativaStaging.CodigoComparacao equals ea.CodigoComparacao join pe in periodos on row.PeriodoStaging.CodigoComparacao equals pe.CodigoComparacao join te in tempos on row.TempoStaging.CodigoComparacao equals te.CodigoComparacao join ug in unidadesGestoras on row.UnidadeGestoraStaging.CodigoComparacao equals ug.CodigoComparacao select new FT_DespesaDotacaoMunicipio { Empenhada = row.Empenhada, IdClassificacaoNatureza = cfn.Id, IdClassificacaoFonteRecurso = cfr.Id, IdClassificacaoFuncional = cff.Id, IdClassificacaoOrcamentaria = cfo.Id, IdClassificacaoPrograma = cfp.Id, IdEsferaAdministrativa = ea.Id, IdOriginal = row.IdOriginal, IdPeriodo = pe.Id, IdSeedHistory = IdSeedHistory, IdTempo = te.Id, IdUnidadeGestora = ug.Id, Liquidada = row.Liquidada, Paga = row.Paga, PrevisaoAtualizada = row.PrevisaoAtualizada, PrevisaoInicial = row.PrevisaoInicial }) .ToList(); observer.OnNext(new AddRangeObserverResult { Metadata = new HashSet<string> { "info:Processing facts" } }); precisamSalvar.InsertMerge(() => Settings.ServiceProvider.GetService<DWControleSocialContext>(), o => o.Id, o => o.IdOriginal, observer); return rows; }
public void Initialize(long idSeedHistory) { IdSeedHistory = idSeedHistory; ClassificacaoNaturezaStaging = new DIM_ClassificacaoDespesaDotacaoMunicipioStaging { CodigoCompleto = CodigoCompletoNatureza?.ToUpperRemovingBreaklines(), CodigoCategoria = CodigoCategoriaNatureza?.ToUpperRemovingBreaklines(), CodigoGrupo = CodigoGrupoNatureza?.ToUpperRemovingBreaklines(), CodigoModalidade = CodigoModalidadeNatureza?.ToUpperRemovingBreaklines(), CodigoElemento = CodigoElementoNatureza?.ToUpperRemovingBreaklines(), CodigoSubElemento = CodigoSubElementoNatureza?.ToUpperRemovingBreaklines(), NomeCategoria = NomeCategoriaNatureza?.ToUpperRemovingBreaklines(), NomeGrupo = NomeGrupoNatureza?.ToUpperRemovingBreaklines(), NomeModalidade = NomeModalidadeNatureza?.ToUpperRemovingBreaklines(), NomeElemento = NomeElementoNatureza?.ToUpperRemovingBreaklines(), NomeSubElemento = NomeSubElementoNatureza?.ToUpperRemovingBreaklines() }; ClassificacaoFonteERecursoStaging = new DIM_ClassificacaoFonteERecursoStaging { CodigoCompleto = CodigoCompletoFonteERecurso?.ToUpperRemovingBreaklines(), CodigoUnidadeGestora = CodigoUnidadeGestora, CodigoDetalhamento = CodigoDetalhamentoFonteERecurso?.ToUpperRemovingBreaklines(), CodigoFonteReduzida = CodigoEspecificacaoFonteERecurso?.ToUpperRemovingBreaklines(), CodigoGrupo = CodigoGrupoFonteERecurso?.ToUpperRemovingBreaklines(), NomeDetalhamento = NomeDetalhamentoFonteERecurso?.ToUpperRemovingBreaklines(), NomeFonteReduzida = NomeEspecificacaoFonteERecurso?.ToUpperRemovingBreaklines(), NomeGrupo = NomeGrupoFonteERecurso?.ToUpperRemovingBreaklines() }; ClassificacaoFuncaoESubFuncaoStaging = new DIM_ClassificacaoFuncaoESubFuncaoStaging { CodigoFuncao = CodigoFuncaoFuncaoESubFuncao?.ToUpperRemovingBreaklines(), CodigoSubFuncao = CodigoSubFuncaoFuncaoESubFuncao?.ToUpperRemovingBreaklines(), NomeFuncao = NomeFuncaoFuncaoESubFuncao?.ToUpperRemovingBreaklines(), NomeSubFuncao = NomeSubFuncaoFuncaoESubFuncao?.ToUpperRemovingBreaklines() }; ClassificacaoOrgaoEUnidadeOrcamentariaStaging = new DIM_ClassificacaoOrgaoEUnidadeOrcamentariaStaging { CodigoOrgao = CodigoOrgaoOrgaoEUnidadeOrcamentaria?.ToUpperRemovingBreaklines(), CodigoUnidadeGestora = CodigoUnidadeGestora, CodigoUnidadeOrcamentaria = CodigoUnidadeOrcamentariaOrgaoEUnidadeOrcamentaria?.ToUpperRemovingBreaklines(), NomeOrgao = NomeOrgaoOrgaoEUnidadeOrcamentaria?.ToUpperRemovingBreaklines(), NomeUnidadeOrcamentaria = NomeUnidadeOrcamentariaOrgaoEUnidadeOrcamentaria?.ToUpperRemovingBreaklines() }; ClassificacaoProgramaEAcaoStaging = new DIM_ClassificacaoProgramaEAcaoStaging { CodigoAcao = CodigoAcaoProgramaEAcao?.ToUpperRemovingBreaklines(), CodigoPrograma = CodigoProgramaProgramaEAcao?.ToUpperRemovingBreaklines(), CodigoUnidadeGestora = CodigoUnidadeGestora, NomeAcao = NomeAcaoProgramaEAcao?.ToUpperRemovingBreaklines(), NomePrograma = NomeProgramaProgramaEAcao?.ToUpperRemovingBreaklines() }; EsferaAdministrativaStaging = new DIM_EsferaAdministrativaStaging { Codigo = CodigoEsferaAdministrativa, Nome = NomeEsferaAdministrativa }; PeriodoStaging = DIM_PeriodoStaging.GetMensal(); TempoStaging = new DIM_TempoStaging { Ano = Ano, Mes = Mes }; UnidadeGestoraStaging = new DIM_UnidadeGestoraStaging { Codigo = CodigoUnidadeGestora, CodigoOriginal = CodigoOriginalUnidadeGestora, CodigoPoder = CodigoPoderUnidadeGestora, CodigoTipoUnidadeGestora = CodigoTipoUnidadeGestora, Nome = NomeUnidadeGestora, NomePoder = NomePoderUnidadeGestora, NomeTipoUnidadeGestora = NomeTipoUnidadeGestora, }; }