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; } }
private static bool HasContactDetails(IHaveContactDetails haveContactDetails) { return(haveContactDetails.ContactDetails != null && !haveContactDetails.ContactDetails.IsEmpty); }
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; } }