Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public DatasetInstanceSubValue AddDatasetInstanceSubValue(DatasetElementSub datasetElementSub, string instanceSubValue, Guid contextValue = default(Guid))
        {
            var datasetInstanceSubValue = new DatasetInstanceSubValue(datasetElementSub, this, instanceSubValue, contextValue);

            DatasetInstanceSubValues.Add(datasetInstanceSubValue);

            return(datasetInstanceSubValue);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
 public DatasetInstanceSubValue(DatasetElementSub datasetElementSub, DatasetInstanceValue datasetInstanceValue, string instanceSubValue)
     : this(datasetElementSub, datasetInstanceValue, instanceSubValue, default(Guid))
 {
 }