private string GetCodeLine(IPermissionPolicyMemberPermissionsObject memberPermissionObject, string operation, bool isGranted) { string securityPermissionState = GetSecurityPermissionState(isGranted); string typeName = memberPermissionObject.TypePermissionObject.TargetType.Name; string criteria = string.IsNullOrEmpty(memberPermissionObject.Criteria) ? "null" : '"' + memberPermissionObject.Criteria + '"'; string memberName = memberPermissionObject.Members; return($"role.AddMemberPermission<{typeName}>({operation}, " + $"\"{memberName}\", {criteria}, SecurityPermissionState.{securityPermissionState});"); }
private List <string> GetCodeLinesFromMemberPermissionObject(IPermissionPolicyMemberPermissionsObject memberPermissionObject) { List <string> codeLines = new List <string>(); OperationBuilder allowOperationBuilder = new OperationBuilder(); OperationBuilder dennyOperationBuilder = new OperationBuilder(); nameSpacesCodeLines.Add(memberPermissionObject.TypePermissionObject.TargetType.Namespace); AddOperation(allowOperationBuilder, dennyOperationBuilder, memberPermissionObject.ReadState, Operations.Read); AddOperation(allowOperationBuilder, dennyOperationBuilder, memberPermissionObject.WriteState, Operations.Write); string allowOperations = allowOperationBuilder.GetOperations(); if (allowOperations != string.Empty) { codeLines.Add(GetCodeLine(memberPermissionObject, allowOperations, true)); } string dennyOperations = dennyOperationBuilder.GetOperations(); if (dennyOperations != string.Empty) { codeLines.Add(GetCodeLine(memberPermissionObject, dennyOperations, false)); } return(codeLines); }