public Contact GetContactForHost(long hostId) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(adapter); var entity = (from pc in linqMetaData.ProspectContact join c in linqMetaData.Contacts on pc.ContactId equals c.ContactId join pcrm in linqMetaData.ProspectContactRoleMapping on pc.ProspectContactId equals pcrm.ProspectContactId into querableContact from qc in querableContact.DefaultIfEmpty() orderby qc.ProspectContactRoleId where pc.ProspectId == hostId && c.IsActive && pc.IsActive && (qc.IsActive == null || qc.IsActive) select c).FirstOrDefault(); if (entity == null) { return(null); } return(_contactFactory.CreateContact(entity)); } }
public AddContact(string name) { _contacts.Add(_factory.CreateContact(name)); }