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();
        }