protected void ClearRptrOnChange(object sender, EventArgs e) { if (string.IsNullOrEmpty(PatientList.Value) || string.IsNullOrEmpty(PatientVisits.Value)) { PatientVisitItems.DataSource = null; PatientVisitItems.DataBind(); } }
private void BuildVisitItems(int timelineId) { string datasetSQL = CacheManager.GetDatasetSQL(Session[SessionKey.DatasetId]); int protocolId = int.Parse(BaseProtocolId); int ptProtocolId = int.Parse(PatientList.SelectedValue); PatientProtocol ptProtocol = new PatientProtocol(); ptProtocol.Get(ptProtocolId); int patientId = (int)ptProtocol[PatientProtocol.PatientId]; // build a list of visit items, but restrict to direct Patient child tables var patientTables = BOL.BusinessObject.GetChildTableNames("Patients"); DataTable visitItems = ProtocolMgmtDa.GetPatientFullTimeline(protocolId, patientId, datasetSQL, timelineId); var patientChildRecords = visitItems.AsEnumerable().Where(r => patientTables.Contains(r["DestTable"].ToString())); DataView visitDataSource = (patientChildRecords.Count() > 0 ? patientChildRecords.CopyToDataTable() : new DataTable()).DefaultView; PatientVisitItems.DataSource = visitDataSource; PatientVisitItems.DataBind(); }