using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sleis.Models; using NHibernate; using System.Collections; using NHibernate.Transform; namespace Sleis.Data { public class DataSetData:BaseData { public IList> GetDataSetByAgencyReportId(string queryString, int reportId) { using (ISession session = GetSession()) { IQuery query = session.CreateSQLQuery(queryString); query.SetParameter("reportId", reportId); query.SetResultTransformer(new DictionaryResultTransformer()); IList> results = query.List>(); return results; } } public IList> GetDataSetByFacilityId(string queryString, int facilityId) { using (ISession session = GetSession()) { IQuery query = session.CreateSQLQuery(queryString); query.SetParameter("facilityId", facilityId); query.SetResultTransformer(new DictionaryResultTransformer()); IList> results = query.List>(); return results; } } } public class DictionaryResultTransformer : IResultTransformer { public DictionaryResultTransformer() { } #region IResultTransformer Members public IList TransformList(IList collection) { return collection; } public object TransformTuple(object[] tuple, string[] aliases) { var result = new Dictionary(); for (int i = 0; i < aliases.Length; i++) { result[aliases[i]] = tuple[i]; } return result; } #endregion } }