public bool CheckAuthorization(string applicationName, IEnumerable <IAuthOperation> operations) { Dictionary <string, IList <IAuthOperation> > operationDictionary = new Dictionary <string, IList <IAuthOperation> >(); foreach (IAuthOperation operation in operations) { if (!operationDictionary.ContainsKey(operation.Operation)) { operationDictionary.Add(operation.Operation, new List <IAuthOperation>()); } operationDictionary[operation.Operation].Add(operation); } BackendAuthService.CheckAuthorizationRequest checkAuthRequest = new BackendAuthService.CheckAuthorizationRequest(); checkAuthRequest.CheckAuthorizationParameters = new BackendAuthDataContracts.CheckAuthorizationParameters(); checkAuthRequest.CheckAuthorizationParameters.AuthorizationProvider = applicationName; BackendAuthDataContracts.AuthOperationCollection authOperations = new BackendAuthDataContracts.AuthOperationCollection(); foreach (string operation in operationDictionary.Keys) { BackendAuthDataContracts.AuthOperation authOperation = new BackendAuthDataContracts.AuthOperation(); authOperation.Operation = operation; authOperations.Add(authOperation); } checkAuthRequest.CheckAuthorizationParameters.Operations = authOperations; BackendAuthService.CheckAuthorizationResponse checkAuthResponse = AuthService.CheckAuthorization(checkAuthRequest); foreach (BackendAuthDataContracts.AuthOperation operationResponse in checkAuthResponse.CheckAuthorizationResult.Operations) { IList <IAuthOperation> operationList = operationDictionary[operationResponse.Operation]; foreach (IAuthOperation operation in operationList) { operation.IsAuthorized = operationResponse.IsAuthorized; } } return(checkAuthResponse.CheckAuthorizationResult.IsAuthorizationEnabled); }
public static Service.CheckAuthorizationResult TranslateFromBusinessToService(Business.CheckAuthorizationResult businessEntity) { Service.CheckAuthorizationResult result = new Service.CheckAuthorizationResult(); result.IsAuthorizationEnabled = businessEntity.IsAuthorizationEnabled; result.Operations = new Service.AuthOperationCollection(); foreach (Business.AuthOperation businessOperation in businessEntity.Operations) { Service.AuthOperation serviceOperation = new Service.AuthOperation() { Operation = businessOperation.Operation, IsAuthorized = businessOperation.IsAuthorized }; result.Operations.Add(serviceOperation); } return(result); }