public void ReadXml(System.Xml.XmlReader reader)
        {
            this._parameters.Clear();

            this.Name = reader["Name"];
            this.IsPublic = bool.Parse(reader["IsPublic"]);

            WorkListFilterKind kind;
            if (Enum.TryParse<WorkListFilterKind>(reader["Kind"], out kind))
            {
                this.Kind = kind;
            }

            CaseListColumnType sortColumn;
            if (Enum.TryParse<CaseListColumnType>(reader["SortColumn"], out sortColumn))
            {
                this.SortColumn = sortColumn;
            }

            this.SortDirection = (ListSortDirection)Enum.Parse(typeof(ListSortDirection), reader["SortDir"]);

            reader.Read();
            if ((reader.MoveToContent() == XmlNodeType.Element) && (reader.LocalName == "WorklistFilterParameters"))
            {
                reader.Read();
                while ((reader.MoveToContent() == XmlNodeType.Element) && (reader.LocalName == "WorklistFilterParameter"))
                {
                    WorkListFilterParameter.FilterFieldType fieldType;
                    WorkListFilterParameter.ValueType valueType;
                    WorkListFilterParameter.OperatorType operatorType;

                    if ((Enum.TryParse<WorkListFilterParameter.FilterFieldType>(reader["Field"], out fieldType)) &&
                        (Enum.TryParse<WorkListFilterParameter.ValueType>(reader["Type"], out valueType)) &&
                        (Enum.TryParse<WorkListFilterParameter.OperatorType>(reader["Operator"], out operatorType)))
                    {
                        WorkListFilterParameter item = new WorkListFilterParameter();
                        item.Field = fieldType;
                        item.Type = valueType;
                        item.Operator = operatorType;
                        item.Value1 = reader["Value1"];
                        item.Value2 = reader["Value2"];

                        this.Parameters.Add(item);

                    }

                    reader.Read();
                }

                reader.Read();
            }
        }
Example #2
0
        public string GetField(WorkListFilterParameter.FilterFieldType fieldType)
        {
            switch (fieldType)
            {
                case WorkListFilterParameter.FilterFieldType.AccessionNumber: return this.AccessionNumber;
                case WorkListFilterParameter.FilterFieldType.PatientID: return this.PatientShortID;
                case WorkListFilterParameter.FilterFieldType.PatientName: return this.PatientName;
                case WorkListFilterParameter.FilterFieldType.DateTime: return this.AccessionDateTime;
                case WorkListFilterParameter.FilterFieldType.ReservedBy: return this.ReservedBy;
                case WorkListFilterParameter.FilterFieldType.AcquisitionSite: return this.SiteAbbr;
                case WorkListFilterParameter.FilterFieldType.SlidesAvailable: return this.SlidesAvailable;
                case WorkListFilterParameter.FilterFieldType.ReportStatus: return this.ReportStatus;
                case WorkListFilterParameter.FilterFieldType.HasNotes: return this.IsNoteAttached.ToString();
                case WorkListFilterParameter.FilterFieldType.SpecimenCount: return this.SpecimenCount;
                case WorkListFilterParameter.FilterFieldType.ConsultationStatus: return this.ConsultStatus;
                case WorkListFilterParameter.FilterFieldType.SnapshotCount: return this.SnapshotCount;
            }

            return null;
        }