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 FacilityContactData : BaseData, IFacilityContactData { public void SaveFacilityContacts(ISession session, int facilityId, params FacilityContact[] contacts) { session.CreateSQLQuery("DELETE FROM P_FAC_CNTCT WHERE FAC_SITE_ID=:facilityId") .SetInt32("facilityId", facilityId) .ExecuteUpdate(); if (contacts != null) { foreach (FacilityContact obj in contacts) { if (obj != null && obj.Person != null && !String.IsNullOrEmpty(obj.Person.Name)) { obj.Person.FacilityId = facilityId; //TODO: Not sure if necessary session.Save(obj.Person); } } } } public FacilityContactModel GetFacilityContact(int facilityId, FacilityContactType type) { return (from d in GetSession().Query() where d.FacilityId == facilityId && d.Type == type orderby d.Index ascending select d).FirstOrDefault(); } public List GetAllFacilityContacts(int facilityId) where T:FacilityContactModel { return GetSession().Query().Where(c => c.FacilityId == facilityId).OrderBy(c=>c.Index).ToList(); } } }