internal GrouperDocumentMember(GrouperDocumentMember documentMember) { Source = documentMember.Source; Action = documentMember.Action; MemberType = documentMember.MemberType; _rules = documentMember.Rules.Select(r => new GrouperDocumentRule(r)).ToList(); }
public void Validate(GrouperDocument document, GrouperDocumentMember documentMember, List <ValidationError> validationErrors) { foreach (GrouperDocumentRule rule in documentMember.Rules) { if (rule.Name.IEquals("Upn")) { if (!IsUpnValid(rule.Value)) { validationErrors.Add(new ValidationError(nameof(rule.Value), ResourceString.ValidationErrorInvalidUpn, rule.Value)); } } } }
public void Validate(GrouperDocument document, GrouperDocumentMember documentMember, List <ValidationError> validationErrors) { foreach (GrouperDocumentRule rule in documentMember.Rules) { if (rule.Name.IEquals("Group")) { if (rule.Value.IEquals(document.GroupId.ToString())) { validationErrors.Add(new ValidationError(nameof(rule.Value), ResourceString.ValidationErrorSourceGroupSameAsTarget)); } } } }
public string ToString(bool logFormat) { if (logFormat) { StringBuilder sb = new StringBuilder(); sb.Append(" Group Name: "); sb.AppendLine(GroupName); sb.Append(" Group Store: "); sb.AppendLine(Store.ToString()); sb.Append(" Owner Action: "); sb.AppendLine(Owner.ToString()); sb.Append(" Group ID: "); sb.AppendLine(GroupId.ToString()); sb.Append(" Document ID: "); if (ProcessingInterval > 0) { sb.Append("Processing Interval: "); sb.AppendLine(ProcessingInterval.ToString()); } sb.AppendLine(Id.ToString()); sb.Append(" Member Rules: "); sb.AppendLine(Members.Count.ToString()); int maxIndent = (int)Math.Floor(Math.Log10(Members.Count)); for (int i = 0; i < Members.Count; i++) { int indent = maxIndent + 4; if (i >= 9) { indent -= (int)Math.Floor(Math.Log10(i + 1)); } GrouperDocumentMember member = Members[i]; sb.Append(new string(' ', indent)); sb.Append('('); sb.Append(i + 1); sb.Append(") "); sb.Append(member.Action); sb.Append(": "); sb.AppendLine(member.Source.ToString()); } return(sb.ToString()); } return(Id.ToString()); }