public DatasetElementSub GetCausalityTermForDrug(CausalityScaleType type, FieldType alphaNumericTextbox) { if (this.Field.FieldType.Description != "Table") { throw new Exception("Invalid element for function call..."); } ; var elementName = String.Format("Terminology{0}", type.ToString()); var subElement = DatasetElementSubs.SingleOrDefault(ds => ds.ElementName == elementName); if (subElement == null) { subElement = new DatasetElementSub() { DatasetElement = this, DefaultValue = null, ElementName = elementName, Field = new Field() { Anonymise = false, Mandatory = false, FieldType = alphaNumericTextbox }, FieldOrder = 0, FriendlyName = elementName, Oid = string.Empty, System = true }; DatasetElementSubs.Add(subElement); } return(subElement); }
public DatasetInstanceSubValue AddDatasetInstanceSubValue(DatasetElementSub datasetElementSub, string instanceSubValue, Guid contextValue = default(Guid)) { var datasetInstanceSubValue = new DatasetInstanceSubValue(datasetElementSub, this, instanceSubValue, contextValue); DatasetInstanceSubValues.Add(datasetInstanceSubValue); return(datasetInstanceSubValue); }
public Guid?GetContextForInstanceSubValue(DatasetElement datasetElement, DatasetElementSub datasetSubElement, string instanceValue) { var datasetInstanceValue = DatasetInstanceValues.SingleOrDefault(div => div.DatasetElement.Id == datasetElement.Id); if (datasetInstanceValue != null && datasetInstanceValue.DatasetInstanceSubValues.Any()) { return(datasetInstanceValue.DatasetInstanceSubValues.Where(disv => disv.DatasetElementSub.Id == datasetSubElement.Id && disv.InstanceValue.Trim() == instanceValue.Trim()).Select(disv => disv.ContextValue).First()); } return(null); }
public DatasetInstanceSubValue SetInstanceSubValue(DatasetElementSub datasetElementSub, string instanceSubValue, Guid contextValue = default(Guid)) { datasetElementSub.Validate(instanceSubValue); var datasetInstanceValue = DatasetInstanceValues.SingleOrDefault(div => div.DatasetElement.Id == datasetElementSub.DatasetElement.Id); if (datasetInstanceValue == null) { if (datasetElementSub.DatasetElement.Field.FieldType.Id == (int)FieldTypes.Table) { datasetInstanceValue = SetInstanceValue(datasetElementSub.DatasetElement, "<<TABLE>>"); } else { throw new Exception("Cannot set an instance sub value without setting the parent instance value"); } } var datasetInstanceSubValue = datasetInstanceValue.DatasetInstanceSubValues.SingleOrDefault(disv => disv.DatasetElementSub.Id == datasetElementSub.Id && disv.ContextValue == contextValue); if (datasetInstanceSubValue == null) { if (!string.IsNullOrWhiteSpace(instanceSubValue)) { datasetInstanceSubValue = datasetInstanceValue.AddDatasetInstanceSubValue(datasetElementSub, instanceSubValue, contextValue); } else { if (datasetElementSub.Field.Mandatory) { throw new DatasetFieldSetException(datasetElementSub.Id.ToString(), string.Format("{0} is required", datasetElementSub.ElementName)); } } } else { if (string.IsNullOrWhiteSpace(instanceSubValue)) { if (datasetElementSub.Field.Mandatory) { throw new DatasetFieldSetException(datasetElementSub.Id.ToString(), string.Format("{0} is required", datasetElementSub.ElementName)); } datasetInstanceValue.DatasetInstanceSubValues.Remove(datasetInstanceSubValue); datasetInstanceSubValue = null; } else { datasetInstanceSubValue.InstanceValue = instanceSubValue; } } return(datasetInstanceSubValue); }
public DatasetInstanceSubValue(DatasetElementSub datasetElementSub, DatasetInstanceValue datasetInstanceValue, string instanceSubValue, Guid contextValue) { if (contextValue == default(Guid)) { ContextValue = Guid.NewGuid(); } else { ContextValue = contextValue; } this.DatasetElementSub = datasetElementSub; this.DatasetInstanceValue = datasetInstanceValue; this.InstanceValue = instanceSubValue; }
public DatasetInstanceSubValue(DatasetElementSub datasetElementSub, DatasetInstanceValue datasetInstanceValue, string instanceSubValue) : this(datasetElementSub, datasetInstanceValue, instanceSubValue, default(Guid)) { }