public static void CheckDeleteLocation <TLocationReferenceEntity>(this IHaveLocationReferenceEntities <TLocationReferenceEntity> haveLocationReferenceEntities, IHaveLocation haveLocation, IHaveLocationReferenceEntity <TLocationReferenceEntity> entity) where TLocationReferenceEntity : class, ILocationReferenceEntity { if (entity.LocationReferenceEntity != null && haveLocation.Location == null) { haveLocationReferenceEntities.LocationReferenceEntities.DeleteOnSubmit(entity.LocationReferenceEntity); entity.LocationReferenceEntity = null; } }
public static void MapTo <TLocationReferenceEntity>(this IHaveLocation haveLocation, IHaveLocationReferenceEntity <TLocationReferenceEntity> entity) where TLocationReferenceEntity : class, ILocationReferenceEntity, new() { if (haveLocation.Location != null) { if (entity.LocationReferenceEntity == null) { entity.LocationReferenceEntity = haveLocation.Location.MapTo <TLocationReferenceEntity>(); } else { haveLocation.Location.MapTo(entity.LocationReferenceEntity); } } }