protected override void RunActualProcess([NotNull] ScenarioSliceParameters slice) { var dbSrcProfiles = Services.SqlConnectionPreparer.GetDatabaseConnection(Stage.Raw, Constants.PresentSlice); var dbDstProfiles = Services.SqlConnectionPreparer.GetDatabaseConnection(Stage.ProfileGeneration, slice); dbDstProfiles.RecreateTable <ResidualProfile>(); var bkw = dbSrcProfiles.Fetch <BkwProfile>(); var rlmProfiles = dbSrcProfiles.Fetch <RlmProfile>(); var main = new Profile(bkw[0].Profile); foreach (var rlm in rlmProfiles) { Profile profile = new Profile(rlm.Name, rlm.Profile.Values, rlm.Profile.EnergyOrPower); main = main.Minus(profile, "residual"); } JsonSerializableProfile jsp = new JsonSerializableProfile(main); var residualProfile = new ResidualProfile("Residual after all RLMs") { Profile = jsp }; dbDstProfiles.BeginTransaction(); dbDstProfiles.Save(residualProfile); dbDstProfiles.CompleteTransaction(); }
protected override void RunActualProcess([JetBrains.Annotations.NotNull] ScenarioSliceParameters parameters) { Services.SqlConnection.RecreateTable <ResidualProfile>(Stage.ProfileGeneration, parameters); var dbSrcProfiles = Services.SqlConnection.GetDatabaseConnection(Stage.ProfileImport, Constants.PresentSlice).Database; var dbDstProfiles = Services.SqlConnection.GetDatabaseConnection(Stage.ProfileGeneration, parameters).Database; var bkw = dbSrcProfiles.Fetch <BkwProfile>(); var rlmProfiles = dbSrcProfiles.Fetch <RlmProfile>(); var main = bkw[0].Profile; foreach (var rlm in rlmProfiles) { main = main.MinusProfile(rlm.Profile, "residual"); } var residualProfile = new ResidualProfile("Residual after all RLMs") { Profile = main, }; dbDstProfiles.BeginTransaction(); dbDstProfiles.Save(residualProfile); dbDstProfiles.CompleteTransaction(); }