/// <summary> /// Überprüft, ob es Änderungen am Nutzer gab. /// </summary> /// <param name="user">Der Nutzer in seiner ungeänderten Form.</param> /// <param name="passwordHash">Der neue PasswordHash</param> /// <param name="userContactDto">Die neuen Kontaktdaten</param> /// <param name="userDataDto">Die neuen Nutzerdaten</param> /// <param name="userPaymentDto">Die neuen Zahlungsinformationen</param> /// <param name="userPermissionDto">Die neuen Berechtigungsinformationen</param> /// <param name="userDocuments"></param> /// <returns></returns> /// <remarks> /// Wenn ein Dto oder eine Eigenschaft sowieso nicht geändert werden soll, dann den Wert nutzen, der am Nutzer /// hinterlegt ist. /// </remarks> private bool IsDirty(User user, string passwordHash, UserContactDto userContactDto, UserDataDto userDataDto, UserPaymentDto userPaymentDto, UserNotificationOptionsDto userNotificationOptionsDto, UserPermissionDto userPermissionDto, IList <Document> userDocuments) { Require.NotNull(user, "user"); Require.NotNull(userContactDto, "userContactDto"); Require.NotNull(userDataDto, "userDataDto"); Require.NotNull(userPermissionDto, "userPermissionDto"); Require.NotNull(userPaymentDto, "userPaymentDto"); Require.NotNull(userNotificationOptionsDto, "userNotificationOptionsDto"); if (user.PasswordHash != passwordHash) { return(true); } if (!Equals(user.GetUserContactDto(), userContactDto)) { return(true); } if (!Equals(user.GetUserPaymentDto(), userPaymentDto)) { return(true); } if (!Equals(user.GetUserPermissionDto(), userPermissionDto)) { return(true); } if (!Equals(user.GetUserDataDto(), userDataDto)) { return(true); } if (!Equals(user.GetNotificationOptions(), userNotificationOptionsDto)) { return(true); } if (!ListHelper.AreEquivalent(user.Documents, userDocuments)) { return(true); } return(false); }
private bool HaveRequirementsChanged(IList <PeanutRequirement> requirementsBeforeUpdate, IList <RequirementDto> requirements) { return(ListHelper.AreEquivalent(requirementsBeforeUpdate.Select(r => r.GetDto()).ToList(), requirements)); }