68 lines
1.9 KiB
C#
68 lines
1.9 KiB
C#
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<WaterMeter> ExecuteQuery(ISession[] sessions, IList<WaterMeter> waterMeters)
|
|
{
|
|
IList<WaterMeter> filteredWaterMeters = new List<WaterMeter>();
|
|
|
|
if (waterMeters == null)
|
|
{
|
|
foreach (var se in sessions)
|
|
{
|
|
IList<WaterMeter> wms = se.QueryOver<WaterMeter>().List<WaterMeter>();
|
|
|
|
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;
|
|
}
|
|
}
|
|
}
|