public virtual void Patch(MemberEntity target) { target.Name = Name; target.MemberType = MemberType; target.OuterId = OuterId; target.Status = Status; if (!Phones.IsNullCollection()) { var phoneComparer = AnonymousComparer.Create((PhoneEntity x) => x.Number); Phones.Patch(target.Phones, phoneComparer, (sourcePhone, targetPhone) => targetPhone.Number = sourcePhone.Number); } if (!Emails.IsNullCollection()) { var addressComparer = AnonymousComparer.Create((EmailEntity x) => x.Address); Emails.Patch(target.Emails, addressComparer, (sourceEmail, targetEmail) => targetEmail.Address = sourceEmail.Address); } if (!Groups.IsNullCollection()) { var groupComparer = AnonymousComparer.Create((MemberGroupEntity x) => x.Group); Groups.Patch(target.Groups, groupComparer, (sourceGroup, targetGroup) => targetGroup.Group = sourceGroup.Group); } if (!Addresses.IsNullCollection()) { Addresses.Patch(target.Addresses, (sourceAddress, targetAddress) => sourceAddress.Patch(targetAddress)); } if (!Notes.IsNullCollection()) { var noteComparer = AnonymousComparer.Create((NoteEntity x) => x.Id ?? x.Body); Notes.Patch(target.Notes, noteComparer, (sourceNote, targetNote) => sourceNote.Patch(targetNote)); } if (!MemberRelations.IsNullCollection()) { var relationComparer = AnonymousComparer.Create((MemberRelationEntity x) => x.AncestorId); MemberRelations.Patch(target.MemberRelations, relationComparer, (sourceRel, targetRel) => { /*Nothing todo*/ }); } if (!SeoInfos.IsNullCollection()) { SeoInfos.Patch(target.SeoInfos, (sourceSeoInfo, targetSeoInfo) => sourceSeoInfo.Patch(targetSeoInfo)); } if (!DynamicPropertyObjectValues.IsNullCollection()) { DynamicPropertyObjectValues.Patch(target.DynamicPropertyObjectValues, (sourceDynamicPropertyObjectValues, targetDynamicPropertyObjectValues) => sourceDynamicPropertyObjectValues.Patch(targetDynamicPropertyObjectValues)); } }
public virtual void Patch(MemberDataEntity target) { target.Name = Name; if (!Phones.IsNullCollection()) { var phoneComparer = AnonymousComparer.Create((PhoneDataEntity x) => x.Number); Phones.Patch(target.Phones, phoneComparer, (sourcePhone, targetPhone) => targetPhone.Number = sourcePhone.Number); } if (!Emails.IsNullCollection()) { var addressComparer = AnonymousComparer.Create((EmailDataEntity x) => x.Address); Emails.Patch(target.Emails, addressComparer, (sourceEmail, targetEmail) => targetEmail.Address = sourceEmail.Address); } if (!Groups.IsNullCollection()) { var groupComparer = AnonymousComparer.Create((MemberGroupDataEntity x) => x.Group); Groups.Patch(target.Groups, groupComparer, (sourceGroup, targetGroup) => targetGroup.Group = sourceGroup.Group); } if (!Addresses.IsNullCollection()) { Addresses.Patch(target.Addresses, (sourceAddress, targetAddress) => sourceAddress.Patch(targetAddress)); } if (!Notes.IsNullCollection()) { var noteComparer = AnonymousComparer.Create((NoteDataEntity x) => x.Id ?? x.Body); Notes.Patch(target.Notes, noteComparer, (sourceNote, targetNote) => sourceNote.Patch(targetNote)); } if (!MemberRelations.IsNullCollection()) { var relationComparer = AnonymousComparer.Create((MemberRelationDataEntity x) => x.AncestorId); MemberRelations.Patch(target.MemberRelations, relationComparer, (sourceRel, targetRel) => { /*Nothing todo*/ }); } }