/// <summary> /// /// </summary> private void PopulateForm() { if (!string.IsNullOrEmpty(SurveyIdField.Value)) { int surveyId = int.Parse(SurveyIdField.Value); Survey biz = new Survey(); biz.Get(surveyId); base.PopulateForm(biz); // populate survey items DataView surveyItems = SurveyItem.GetByParentAsDataView <SurveyItem>(surveyId); SurveyItemsGrid.DataSource = surveyItems; SurveyItemsGrid.DataBind(); // set related record if exists int patientItemId = int.Parse(base.DecrypyValue(PatientItemId.Value)); DataTable relatedRecords = RelatedRecordsDa.GetRecord("ProtocolMgr_PatientItems", patientItemId, "Surveys", surveyId); if (relatedRecords.Rows.Count > 0) { RelatedRecordId.Value = relatedRecords.Rows[0][RelatedRecord.RelatedRecordId].ToString(); } } else { // show empty grid by builing empty data table DataTable dt = new DataTable(); dt.Columns.AddRange((from col in new SurveyItem().FieldNames select new DataColumn(col)).ToArray()); SurveyItemsGrid.DataSource = dt.DefaultView; SurveyItemsGrid.DataBind(); } SurveyPluginControl.SetSurveyIdField(SurveyIdField.Value); }
/// <summary> /// /// </summary> /// <param name="toxicityId"></param> private void PopulateForm(int?toxicityId) { if (toxicityId.HasValue) { // populate toxicity Toxicity biz = new Toxicity(); biz.Get(toxicityId.Value); base.PopulateForm(ToxicityFields, biz); // Determine if SAE fields need to be displayed when records exits //SeriousAdverseEvent adverseEvents = new SeriousAdverseEvent(); //adverseEvents.GetByParent(toxicityId); //if (adverseEvents.RecordCount > 0) //{ // ShowSAEField.Value = bool.TrueString.ToLower(); // base.PopulateForm(SAEFields, adverseEvents); //} SeriousAdverseEvent adverseEvent = BusinessObject.GetByParent <SeriousAdverseEvent>(toxicityId.Value).FirstOrDefault(); if (adverseEvent != null) { base.PopulateForm(this, adverseEvent); } int patientItemId = int.Parse(base.DecrypyValue(PatientItemId.Value)); DataTable relatedRecords = RelatedRecordsDa.GetRecord("ProtocolMgr_PatientItems", patientItemId, "Toxicities", toxicityId.Value); if (relatedRecords.Rows.Count > 0) { RelatedRecordId.Value = relatedRecords.Rows[0][RelatedRecord.RelatedRecordId].ToString(); } } PopulateAttributions(toxicityId); }
protected void BuildRelatedRecords(object sender, EventArgs e) { string sourceTable = SourceTables.SelectedValue; object relatedDataSource = null; if (!string.IsNullOrEmpty(sourceTable)) { string sourcePriKeyName = BOL.BusinessObject.GetPrimaryKeyName(sourceTable); int? destPriKey = null; if (!string.IsNullOrEmpty(DestTablePrimaryKey)) { destPriKey = int.Parse(DestTablePrimaryKey); } string destPriKeyName = BOL.BusinessObject.GetPrimaryKeyName(DestTableName); SessionHandler sh = new SessionHandler(Session); int patientId = sh.GetPatientId(); // get a list of all records from dest table with optional relation (filter out self) DataTable relatedTable = RelatedRecordsDa.GetRelatedRecordsByTableAndKey(patientId, DestTableName, destPriKeyName, destPriKey, sourceTable, sourcePriKeyName, false); DataView relatedRecords = relatedTable.DefaultView; // actual records if (destPriKey.HasValue) { // set dest table and dest key to actual values relatedTable.Columns[RelatedRecord.DestTableName].Expression = "'" + DestTableName + "'"; // relatedTable.Columns[RelatedRecord.DestPrimaryKey].Expression = destPriKeyName; // exclude current table relation if (sourceTable == DestTableName) { relatedRecords.RowFilter = sourcePriKeyName + " <> " + destPriKey; } } // eform records (load eform, then update data source with related strengths) else if (IsEform) { XmlDocument eformXML = GetEformXml(); // get a list of currenly associated records to node var eFormTablesAndRelations = rc.GetEformRelatedRecords(eformXML, DestTableName, EformRecordId); if (eFormTablesAndRelations.ContainsKey(sourceTable)) { var sourceTableRelations = eFormTablesAndRelations[sourceTable]; // for each related record, find match data row and update Strength value foreach (var eFormRelatedRecord in sourceTableRelations) { int srcPriKey = eFormRelatedRecord.Key; int strength = eFormRelatedRecord.Value; // check for rows which are realted (i.e.,ProcedureId = SrcPriKey), no need to test SrcTable foreach (DataRow row in relatedTable.Select(sourcePriKeyName + " = " + srcPriKey)) { row[RelatedRecord.RelationStrength] = strength; } } } } // determine if sorting string sortColumn = rc.GetRelatedSortColumn(sourceTable); if (!string.IsNullOrEmpty(sortColumn)) { relatedRecords.Sort = sortColumn + " ASC"; } relatedDataSource = relatedRecords; // build data source, releated records and details if (relatedRecords.Count > 0) { TableRecordsRptr.Visible = true; TableRecordsRptr.DataSource = relatedDataSource; TableRecordsRptr.DataBind(); TableRecordsDetailsRptr.DataSource = relatedDataSource; TableRecordsDetailsRptr.DataBind(); AttributionTableRelationStrengthHeading.Visible = true; RelationStrengthLookup.Visible = true; NoRecordsMsgRow.Visible = false; } else { TableRecordsRptr.Visible = false; AttributionTableRelationStrengthHeading.Visible = false; RelationStrengthLookup.Visible = false; NoRecordsMsgRow.Visible = true; } } }