internal static void SetPermissionProperty(this PermissionsProperty property, string propertyValue) { // TableData 21=r while (propertyValue.Length > 0) { var match = Parsing.MustMatch(ref propertyValue, @"^TableData\s(\d+)=(r?)(i?)(m?)(d?)(,\s)?"); property.Value.Set(match.Groups[1].Value.ToInteger(), match.Groups[2].Value == "r", match.Groups[3].Value == "i", match.Groups[4].Value == "m", match.Groups[5].Value == "d"); } }
public static void Write(this PermissionsProperty property, bool isLastProperty, PropertiesStyle style, CSideWriter writer) { writer.Write("{0}=", property.Name); writer.Indent(writer.Column); foreach (var permission in property.Value) { var isLastValue = (permission == property.Value.Last()); var terminator = isLastValue ? ";" : ","; var read = permission.ReadPermission ? "r" : ""; var insert = permission.InsertPermission ? "i" : ""; var modify = permission.ModifyPermission ? "m" : ""; var delete = permission.DeletePermission ? "d" : ""; writer.WriteLine("TableData {0}={1}{2}{3}{4}{5}", permission.TableID, read, insert, modify, delete, terminator); } writer.Unindent(); }