/// <summary> /// Patch changes /// </summary> /// <param name="source"></param> /// <param name="target"></param> public static void Patch(this dataModel.ApiAccountEntity source, dataModel.ApiAccountEntity target) { if (target == null) throw new ArgumentNullException("target"); var patchInjection = new PatchInjection<dataModel.ApiAccountEntity>(x => x.Name, x => x.ApiAccountType, x => x.IsActive, x => x.SecretKey, x => x.AppId); target.InjectFrom(patchInjection, source); }
public static void Patch(this dataModel.PermissionEntity source, dataModel.PermissionEntity target) { if (target == null) throw new ArgumentNullException("target"); var patchInjection = new PatchInjection<dataModel.PermissionEntity>(x => x.Name, x => x.Description); target.InjectFrom(patchInjection, source); }
public static void Patch(this dataModel.RoleAssignmentEntity source, dataModel.RoleAssignmentEntity target) { if (target == null) throw new ArgumentNullException("target"); var patchInjection = new PatchInjection<dataModel.RoleAssignmentEntity>(x => x.RoleId, x => x.AccountId); target.InjectFrom(patchInjection, source); }
public static void Patch(this dataModel.RolePermissionEntity source, dataModel.RolePermissionEntity target) { if (target == null) throw new ArgumentNullException("target"); if (!source.Scopes.IsNullCollection()) { var comparer = AnonymousComparer.Create((dataModel.PermissionScopeEntity x) => x.Scope); source.Scopes.Patch(target.Scopes, comparer, (sourceItem, targetItem) => { }); } }
public static void Patch(this dataModel.RoleEntity source, dataModel.RoleEntity target) { if (target == null) throw new ArgumentNullException("target"); var patchInjection = new PatchInjection<dataModel.RoleEntity>(x => x.Name, x => x.Description); target.InjectFrom(patchInjection, source); if (!source.RolePermissions.IsNullCollection()) { var comparer = AnonymousComparer.Create((dataModel.RolePermissionEntity rp) => rp.PermissionId); source.RolePermissions.Patch(target.RolePermissions, comparer, (sourceItem, targetItem) => sourceItem.Patch(targetItem)); } }