コード例 #1
0
        private static void HandleResult(string activityCode, Action <IPermissionResult> callback, GuestControllerResult <PermissionResponse> result)
        {
            if (!result.Success)
            {
                callback(MakeGenericFailure());
                return;
            }
            PermissionResponse response = result.Response;

            if (response.error != null || response.data == null)
            {
                callback(GuestControllerErrorParser.GetPermissionResult(response.error) ?? MakeGenericFailure());
                return;
            }
            ActivityApprovalStatus activityApprovalStatus = ActivityApprovalStatusConverter.Convert(response.data.approvalStatus);

            if (response.data.activityCode != activityCode || activityApprovalStatus == ActivityApprovalStatus.Unknown)
            {
                callback(MakeGenericFailure());
            }
            else
            {
                callback(new PermissionResult(success: true, activityApprovalStatus));
            }
        }
コード例 #2
0
 public static void ApprovePermission(AbstractLogger logger, IGuestControllerClient guestControllerClient, string activityCode, string childSwid, ActivityApprovalStatus desiredStatus, Action <IPermissionResult> callback)
 {
     if (string.IsNullOrEmpty(childSwid) || string.IsNullOrEmpty(activityCode) || desiredStatus == ActivityApprovalStatus.Pending || desiredStatus == ActivityApprovalStatus.Unknown)
     {
         callback(new PermissionFailedInvalidResult());
         return;
     }
     try
     {
         ApprovePermissionRequest approvePermissionRequest = new ApprovePermissionRequest();
         approvePermissionRequest.activityCode   = activityCode;
         approvePermissionRequest.approvalStatus = ActivityApprovalStatusConverter.Convert(desiredStatus);
         approvePermissionRequest.swid           = childSwid;
         ApprovePermissionRequest request = approvePermissionRequest;
         guestControllerClient.ApprovePermission(request, childSwid, delegate(GuestControllerResult <PermissionResponse> r)
         {
             if (!r.Success)
             {
                 callback(MakeGenericFailure());
             }
             else
             {
                 PermissionResponse response = r.Response;
                 if (response.error != null || response.data == null)
                 {
                     callback(ParseError(response));
                 }
                 else
                 {
                     string activityCode2 = response.data.activityCode;
                     ActivityApprovalStatus activityApprovalStatus = ActivityApprovalStatusConverter.Convert(response.data.approvalStatus);
                     if (activityCode2 != activityCode || activityApprovalStatus != desiredStatus)
                     {
                         callback(new PermissionFailedInvalidResult());
                     }
                     else
                     {
                         callback(new PermissionResult(success: true, activityApprovalStatus));
                     }
                 }
             }
         });
     }
     catch (Exception ex)
     {
         logger.Critical("Unhandled exception: " + ex);
         callback(MakeGenericFailure());
     }
 }
コード例 #3
0
 public static void GetPermission(AbstractLogger logger, IGuestControllerClient guestControllerClient, string activityCode, string childSwid, Action <IPermissionResult> callback)
 {
     if (string.IsNullOrEmpty(childSwid) || string.IsNullOrEmpty(activityCode))
     {
         callback(new PermissionFailedInvalidResult());
         return;
     }
     try
     {
         guestControllerClient.GetPermission(childSwid, delegate(GuestControllerResult <GetPermissionsResponse> r)
         {
             if (!r.Success)
             {
                 callback(MakeGenericFailure());
             }
             else if (r.Response.error != null || r.Response.data == null)
             {
                 callback(MakeGenericFailure());
             }
             else
             {
                 Permission permission         = r.Response.data.activityPermissions.FirstOrDefault((Permission ap) => ap.activityCode == activityCode);
                 ActivityApprovalStatus status = ((permission == null) ? ActivityApprovalStatus.Unknown : ActivityApprovalStatusConverter.Convert(permission.approvalStatus));
                 callback(new PermissionResult(success: true, status));
             }
         });
     }
     catch (Exception ex)
     {
         logger.Critical("Unhandled exception: " + ex);
         callback(MakeGenericFailure());
     }
 }