private void CreateDilutionMutilation(KeyValuePair <PreLoadDiscardedColumn, IDilutionOperation> dilutionOp, LoadMetadata lmd) { var pt = new ProcessTask(Activator.RepositoryLocator.CatalogueRepository, lmd, LoadStage.AdjustStaging); pt.CreateArgumentsForClassIfNotExists <Dilution>(); pt.ProcessTaskType = ProcessTaskType.MutilateDataTable; pt.Name = "Dilute " + dilutionOp.Key.GetRuntimeName(); pt.Path = typeof(Dilution).FullName; pt.SaveToDatabase(); pt.SetArgumentValue("ColumnToDilute", dilutionOp.Key); pt.SetArgumentValue("Operation", dilutionOp.Value.GetType()); }
private void CreateAttacher(ITableInfo t, QueryBuilder qb, LoadMetadata lmd, LoadProgress loadProgressIfAny) { var pt = new ProcessTask(Activator.RepositoryLocator.CatalogueRepository, lmd, LoadStage.Mounting); pt.ProcessTaskType = ProcessTaskType.Attacher; pt.Name = "Read from " + t; pt.Path = typeof(RemoteTableAttacher).FullName; pt.SaveToDatabase(); pt.CreateArgumentsForClassIfNotExists <RemoteTableAttacher>(); pt.SetArgumentValue("RemoteServer", t.Server); pt.SetArgumentValue("RemoteDatabaseName", t.GetDatabaseRuntimeName(LoadStage.PostLoad)); pt.SetArgumentValue("RemoteTableName", t.GetRuntimeName()); pt.SetArgumentValue("DatabaseType", DatabaseType.MicrosoftSQLServer); pt.SetArgumentValue("RemoteSelectSQL", qb.SQL); pt.SetArgumentValue("RAWTableName", t.GetRuntimeName(LoadBubble.Raw)); if (loadProgressIfAny != null) { pt.SetArgumentValue("Progress", loadProgressIfAny); // pt.SetArgumentValue("ProgressUpdateStrategy", DataLoadProgressUpdateStrategy.UseMaxRequestedDay); pt.SetArgumentValue("LoadNotRequiredIfNoRowsRead", true); } /* * * public DataLoadProgressUpdateInfo { get; set; } */ }
private void CreateCSVProcessTask(LoadMetadata lmd, TableInfo ti, string regex) { var pt = new ProcessTask(CatalogueRepository, lmd, LoadStage.Mounting); pt.Path = typeof(AnySeparatorFileAttacher).FullName; pt.ProcessTaskType = ProcessTaskType.Attacher; pt.Name = "Load " + ti.GetRuntimeName(); pt.SaveToDatabase(); pt.CreateArgumentsForClassIfNotExists <AnySeparatorFileAttacher>(); pt.SetArgumentValue("FilePattern", regex); pt.SetArgumentValue("Separator", ","); pt.SetArgumentValue("TableToLoad", ti); pt.Check(new ThrowImmediatelyCheckNotifier()); }