using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Windows.Forms; using System.Xml.Serialization; using NHibernate; using Results.Entities; using ResultsBrowser.Resources; namespace ResultsBrowser.Filters { public class QnFilter : IFilter { public static string GetFilterID() { return "Qn"; } public static string GetFilterName() { return "Qn"; } /// /// Obligatory wrappers /// public string GetThisFilterID() { return GetFilterID(); } public void Save(StringBuilder sb) { (new XmlSerializer(this.GetType())).Serialize(new StringWriter(sb), this); } public void Data2UI() { userIface.Data2UI(); } public void UI2Data() { userIface.UI2Data(); } public UserControl GetFilterUI() { return userIface as UserControl; } /// /// Serialized filter data /// public double Qn; private QnFilterUI userIface; public QnFilter() { userIface = new QnFilterUI(this); } public IList ExecuteQuery(ISession[] sessions, IList waterMeters) { IList filteredWaterMeters = new List(); if (waterMeters == null) { foreach (var se in sessions) { IList wms = se.QueryOver().List(); foreach (var wm in wms) { if (wm.Q3_Qn() == Qn) filteredWaterMeters.Add(wm); } } } else { foreach (var wm in waterMeters) { if (wm.Q3_Qn() == Qn) filteredWaterMeters.Add(wm); } } return filteredWaterMeters; } } }