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(); } }
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; }