using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using NHibernate; using NHibernate.Linq; using Sleis.Models; using Sleis.Infrastructure; namespace Sleis.Data { public class UnitProcessReleasePointData : BaseData, Sleis.Data.IUnitProcessReleasePointData { public T GetUnitProcessReleasePoint(int unitProcessId) where T : UnitProcessReleasePoint { using(ISession session = GetSession ()) { return (from d in session.Query() where d.UnitProcessId == unitProcessId select d).FirstOrDefault(); } } public List GetUnitProcessReleasePoints(int unitProcessId) where T : UnitProcessReleasePoint { using (ISession session = GetSession()) { return (from g in session.Query() where g.UnitProcessId == unitProcessId select g).Distinct().ToList(); } } public List GetUnitProcessesByReleasePoint(int releasePointId) where T : UnitProcessReleasePoint { using (ISession session = GetSession()) { return session.Query().Where(up => up.ReleasePointId == releasePointId).ToList(); } } public bool DeleteAllAgencyByUnitProcess(int unitProcessId, ISession session) { ISQLQuery query = session.CreateSQLQuery("DELETE from M_UNIT_PROC_REL_PT where UNIT_PROC_ID = :unitProcessId"); query.SetInt32("unitProcessId", unitProcessId); return query.ExecuteUpdate() > 0; } public bool DeleteAllByUnitProcess(int unitProcessId, ISession session) { ISQLQuery query = session.CreateSQLQuery("DELETE from P_UNIT_PROC_REL_PT where UNIT_PROC_ID = :unitProcessId"); query.SetInt32("unitProcessId", unitProcessId); return query.ExecuteUpdate() > 0; } } }