/// <summary> /// Sets the disease attribute pri key mapped to this piece of metadata. /// i.e., "MetadataFieldAttributeValues" -> "FieldAttributeId" == "DiseaseAttributeValues" -> "DiseaseAttributeValue" /// </summary> protected void SetDiseaseAttribute() { ICaisisInputControl input = GetMetadataDiseaseAttributeId(); if (input != null) { // get the pri key of the metadata value table (i.e., "MetadataFieldAttributeValues" -> "FieldAttributeId") string metadataValueTablePriKey = BIZ_ATTRIBUTE_VALUE_TABLE.PrimaryKeyName; // get disease attribute (else, create) DiseaseAttribute_Table diseaseAttribute = _diseaseController.GetDiseaseAttribute(metadataValueTablePriKey); if (diseaseAttribute == null) { diseaseAttribute = _diseaseController.CreateDiseaseAttribute(metadataValueTablePriKey); } // set pri key input.Value = diseaseAttribute[DiseaseAttribute_Table.DiseaseAttributeId].ToString(); } }
/// <summary> /// /// </summary> private void Save() { // get the name of the pri key, i.e., "TableId" string priKeyName = BOL.BusinessObject.GetPrimaryKeyName(QueryTable); // get disease attribute, i.e., "TableId" DiseaseAttribute_Table attributeBiz = dc.GetDiseaseAttribute(priKeyName); // if none exists, create if (attributeBiz == null) { attributeBiz = dc.CreateDiseaseAttribute(priKeyName); } // get required foreign keys int diseaseId = QueryDiseaseId.Value; int diseaseAttributeId = (int)attributeBiz[DiseaseAttribute_Table.DiseaseAttributeId]; foreach (GridViewRow row in DiseaseTableGrid.DirtyGridRows) { CaisisCheckBox cb = row.FindControl("DiseaseCheckBox") as CaisisCheckBox; int tablePriKey = (int)DiseaseTableGrid.DataKeys[row.RowIndex][priKeyName]; object diseaseValuePriKey = DiseaseTableGrid.DataKeys[row.RowIndex][DiseaseAttributeValue.DiseaseAttributeValueId]; // insert if no value exists if (cb.Checked && string.IsNullOrEmpty(diseaseValuePriKey.ToString())) { dc.CreateDiseaseAttributeValue(diseaseId, diseaseAttributeId, tablePriKey.ToString()); } // delete if there is a pri key else if (!cb.Checked && !string.IsNullOrEmpty(diseaseValuePriKey.ToString())) { int priKey = int.Parse(diseaseValuePriKey.ToString()); DiseaseAttributeValue biz = new DiseaseAttributeValue(); biz.Delete(priKey); } } }