private string setUpQuery(string inputString, string inputList, StudyDetail thisStudy, QueryableConnection connection) { if (this.updateType == "DELETE_SITE") { string siteIDSQL = @"DECLARE @SiteIDs VARCHAR(MAX) SELECT @SiteIDs = COALESCE(@SiteIDs + ',','')+isnull(Convert(varchar(max),SIteID),'N/A') FROM Sites WHERE CentreID in (" + inputList + @") SELECT @SiteIDs as SiteIDList"; var dataTable = connection.GetDataTable(siteIDSQL); string siteIDList = dataTable.Rows[0]["SiteIDList"].ToString(); inputString = inputString.Replace("{CENTREID_CSV}", inputList); inputString = inputString.Replace("{SITEID_CSV}", siteIDList); } if (this.updateType == "DELETE_PATIENT") { string patIdSql = @"DECLARE @PatientIDs VARCHAR(MAX) SELECT @PatientIDs = COALESCE(@PatientIDs + ',','')+isnull(Convert(varchar(max),PatientID),'N/A') FROM Patients WHERE PatientCode in (" + inputList + @") SELECT @PatientIDs as PatientIDList"; var dataTable = connection.GetDataTable(patIdSql); string patIDList = dataTable.Rows[0]["PatientIDList"].ToString(); inputString = inputString.Replace("{PATIENTCODE_CSV}", inputList); inputString = inputString.Replace("{PATIENTID_CSV}", patIDList); } inputString = inputString.Replace("{DESIGNDB}", thisStudy.designDatabase); return(inputString); }
/// <summary> /// Check if study is valid or not /// </summary> /// <param name="errorMessage"></param> /// <param name="studyIDString"></param> /// <returns></returns> bool validStudy(ref string errorMessage, string studyIDString) { int studyID; if (String.IsNullOrEmpty(studyIDString)) { errorMessage += "Study ID cannot be empty\n"; return(false); } if (!int.TryParse(studyIDString, out studyID)) { errorMessage += "Study ID is not numeric\n"; return(false); } try { Study x = null; x = studies.SingleOrDefault(s => s.Id == studyID); if (x == null) { errorMessage += "Study not found\n"; return(false); } else { thisStudy = new StudyDetail(x, cmbEnvironment.Text); } } catch { errorMessage += "Error Searching for Study\n"; return(false); } return(true); }
public void setUpQueryForStudy(string siteList, StudyDetail thisStudy, QueryableConnection connection) { this.updateSql = setUpQuery(this.updateSql, siteList, thisStudy, connection); this.inclusionSql = setUpQuery(this.inclusionSql, siteList, thisStudy, connection); }