/// <summary> /// This version has less arguments because it goes back to the database and queries the configuration and explores who the cohort is etc, it will result in more database /// queries than the more explicit constructor /// </summary> /// <param name="configuration"></param> /// <param name="datasetBundle"></param> /// <param name="includeValidation"></param> /// <param name="includeLookups"></param> public ExtractDatasetCommand(IExtractionConfiguration configuration, IExtractableDatasetBundle datasetBundle, bool includeValidation = false, bool includeLookups = false) : this(configuration, datasetBundle.DataSet) { DataExportRepository = configuration.DataExportRepository; //ExtractableCohort = ExtractableCohort.GetExtractableCohortByID((int) configuration.Cohort_ID); ExtractableCohort = configuration.GetExtractableCohort(); DatasetBundle = datasetBundle; ColumnsToExtract = new List <IColumn>(Configuration.GetAllExtractableColumnsFor(datasetBundle.DataSet)); Salt = new HICProjectSalt(Project); Directory = new ExtractionDirectory(Project.ExtractionDirectory, configuration); IncludeValidation = includeValidation; TopX = -1; }
private string GetCurrentConfigurationSQL() { //get the cohort var cohort = _repository.GetObjectByID <ExtractableCohort>((int)Configuration.Cohort_ID); //get the columns that are configured today _columnsToExtract = new List <IColumn>(Configuration.GetAllExtractableColumnsFor(DataSet)); _columnsToExtract.Sort(); //get the salt var project = _repository.GetObjectByID <Project>(Configuration.Project_ID); var salt = new HICProjectSalt(project); //create a request for an empty bundle - only the dataset var request = new ExtractDatasetCommand(Configuration, cohort, new ExtractableDatasetBundle(DataSet), _columnsToExtract, salt, null); request.GenerateQueryBuilder(); //Generated the SQL as it would exist today for this extraction var resultLive = request.QueryBuilder; return(resultLive.SQL); }