public virtual IDicomDataParameter CreateParameter( ) { IDicomDataParameter dicomParam = (IDicomDataParameter)Activator.CreateInstance(this.GetType( )); dicomParam.KeyTag = KeyTag; dicomParam.VR = VR; dicomParam.AllowExtraElement = AllowExtraElement; foreach (var tag in SupportedTags) { dicomParam.SupportedTags.Add(tag); } return(dicomParam); }
public virtual void ProcessElement(fo.DicomItem element) { for (int index = ProcessingList.Count - 1; index >= 0; index--) { IDicomDataParameter currentCondition = ProcessingList[index]; if (currentCondition.IsSupported(element)) { currentCondition.SetElement(element); if (!currentCondition.AllowExtraElement) { ProcessingList.RemoveAt(index); } return; } } foreach (var condition in ParametersTemplate) { if (condition.IsSupported(element)) { IDicomDataParameter dedicatedCondition = condition.CreateParameter( ); dedicatedCondition.SetElement(element); InternalResult.Add((T)dedicatedCondition); if (dedicatedCondition.AllowExtraElement) { ProcessingList.Add(dedicatedCondition); } return; } } }
protected virtual void InsertColumnValue ( ColumnInfo column, IDicomDataParameter dicomParam, IDbCommand insertCommand ) { InsertSections insert = GetTableInsert(column.Table); insert.ColumnNames.Add(column.Name); insert.ParametersValueNames.Add("@" + column.Name); //TODO: add a parameter name to the column class //insert.ParametersValueNames.Add ( column.Values[0] ) ; System.Data.SqlClient.SqlParameter param; object value = DBNull.Value; if (null != column.Values && column.Values.Count != 0) { value = column.Values [0]; if (null == value) { value = DBNull.Value; } } param = new System.Data.SqlClient.SqlParameter("@" + column.Name, value); Parameters.Add(param); if (null != insertCommand) { insertCommand.Parameters.Add(param); } }
protected virtual IList <string> GetValues(IDicomDataParameter condition) { if (condition is RangeMatching) { RangeMatching rangeCondition = (RangeMatching)condition; fo.DicomItem dateElement = rangeCondition.DateElement; fo.DicomItem timeElement = rangeCondition.TimeElement; return(GetDateTimeValues((fo.DicomElement)dateElement, (fo.DicomElement)timeElement)); } else if (condition.VR.Equals(fo.DicomVR.DA) || condition.VR.Equals(fo.DicomVR.DT)) { fo.DicomElement dateElement = null; fo.DicomElement timeElement = null; foreach (var element in condition.Elements) { if (element.ValueRepresentation.Equals(fo.DicomVR.DA)) { dateElement = (fo.DicomElement)element; continue; } if (element.ValueRepresentation.Equals(fo.DicomVR.TM)) { timeElement = (fo.DicomElement)element; } } return(GetDateTimeValues(dateElement, timeElement)); } else { return(condition.GetValues( )); } }
protected virtual IList <string> GetValues(IDicomDataParameter condition) { if (condition is RangeMatching) { RangeMatching rangeCondition = (RangeMatching)condition; DicomAttribute dateElement = rangeCondition.DateElement; DicomAttribute timeElement = rangeCondition.TimeElement; return(GetDateTimeValues(dateElement, timeElement)); } else if (condition.VR.Equals(DicomVr.DAvr) || condition.VR.Equals(DicomVr.DTvr)) { DicomAttribute dateElement = null; DicomAttribute timeElement = null; foreach (var element in condition.Elements) { if (element.Tag.VR.Equals(DicomVr.DAvr)) { dateElement = element; continue; } if (element.Tag.VR.Equals(DicomVr.TMvr)) { timeElement = element; } } return(GetDateTimeValues(dateElement, timeElement)); } else { return(condition.GetValues( )); } }