using System; using System.Reflection; using System.Security.Principal; using System.Web; using System.Web.Security; using Sleis.Models; using System.Collections.Generic; using System.Collections; using NHibernate.Transform; namespace Sleis.Utility { public class TupleToPropertyResultTransformer : IResultTransformer { private Type result; private PropertyInfo[] properties; public TupleToPropertyResultTransformer(Type result, params string[] names) { this.result = result; List props = new List(); foreach (string name in names) { props.Add(result.GetProperty(name)); } properties = props.ToArray(); } public object TransformTuple(object[] tuple, string[] aliases) { object instance = Activator.CreateInstance(result); for (int i = 0; i < tuple.Length; i++) { properties[i].SetValue(instance, tuple[i], null); } return instance; } public IList TransformList(IList collection) { return collection; } } }