public static ContactDetails Map <TContactDetailsEntity>(this IHaveContactDetailsEntity <TContactDetailsEntity> entity) where TContactDetailsEntity : class, IContactDetailsEntity { if (entity.ContactDetailsEntity == null) { return(null); } return(new ContactDetails { Id = entity.ContactDetailsEntity.id, FirstName = entity.ContactDetailsEntity.firstName, LastName = entity.ContactDetailsEntity.lastName, EmailAddress = entity.ContactDetailsEntity.email, SecondaryEmailAddresses = entity.ContactDetailsEntity.secondaryEmails, FaxNumber = entity.ContactDetailsEntity.faxNumber, PhoneNumber = entity.ContactDetailsEntity.phoneNumber, CompanyName = entity.companyName, }); }
private static bool HasContactDetails <TContactDetailsEntity>(IHaveContactDetailsEntity <TContactDetailsEntity> entity) where TContactDetailsEntity : class, IContactDetailsEntity { return(entity.ContactDetailsEntity != null); }
public static void MapTo <TContactDetailsEntity>(this IHaveContactDetails haveContactDetails, IHaveContactDetailsEntity <TContactDetailsEntity> entity) where TContactDetailsEntity : class, IContactDetailsEntity, new() { // Update the contact details in place if able. if (HasContactDetails(haveContactDetails)) { if (entity.ContactDetailsEntity == null) { entity.ContactDetailsEntity = haveContactDetails.ContactDetails.MapTo <TContactDetailsEntity>(); } else { haveContactDetails.ContactDetails.MapTo(entity.ContactDetailsEntity); } entity.companyName = haveContactDetails.ContactDetails.CompanyName; } }
public static void CheckDeleteContactDetails <TContactDetailsEntity>(this IHaveContactDetailsEntities <TContactDetailsEntity> haveContactDetailsEntities, IHaveContactDetails haveContactDetails, IHaveContactDetailsEntity <TContactDetailsEntity> entity) where TContactDetailsEntity : class, IContactDetailsEntity { // If there are now no contact details but there were some before then delete. if (!HasContactDetails(haveContactDetails) && HasContactDetails(entity)) { haveContactDetailsEntities.ContactDetailsEntities.DeleteOnSubmit(entity.ContactDetailsEntity); entity.ContactDetailsEntity = null; } }