Exemplo n.º 1
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());
     }
 }
Exemplo n.º 2
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));
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 备份活动状态数据
        /// </summary>
        /// <param name="acid"></param>
        /// <returns></returns>
        public static int InsertActivityApprovalStatus(ActivityApprovalStatus model)
        {
            string sql = @"	 INSERT INTO Activity..ActivityApprovalStatusLog
                              ( FlashPKID,
                                ActivityId,
                                Status,
                                CreateDateTime,
                                LastUpdateDateTime,
                                DeleteDateTime
                               )
                            VALUES
                              ( @PKID,
                                @ActivityId,
                                @Status,
                                @CreateDateTime,
                                @LastUpdateDateTime,
                                getdate()
                               )";

            using (var dbHelper = new SqlDbHelper(ConnectionHelper.GetDecryptConn("Gungnir")))
            {
                using (var cmd = new SqlCommand(sql))
                {
                    cmd.Parameters.AddWithValue("@PKID", model.PKID);
                    cmd.Parameters.AddWithValue("@ActivityId", model.ActivityId);
                    cmd.Parameters.AddWithValue("@Status", model.Status);
                    cmd.Parameters.AddWithValue("@CreateDateTime", model.CreateDateTime);
                    cmd.Parameters.AddWithValue("@LastUpdateDateTime", model.LastUpdateDateTime);
                    return(dbHelper.ExecuteNonQuery(cmd));
                }
            }
        }
Exemplo n.º 4
0
        public void ApproveChildTrustPermission(ILinkedUser child, ActivityApprovalStatus status, Action <IPermissionResult> callback)
        {
            IInternalLinkedUser internalLinkedUser = child as IInternalLinkedUser;

            if (internalLinkedUser == null)
            {
                callback(new PermissionFailedInvalidResult());
            }
            else
            {
                ApproveChildTrustPermission(internalLinkedUser.Swid, child.AgeBand, status, callback);
            }
        }
Exemplo n.º 5
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());
     }
 }
Exemplo n.º 6
0
        public static string Convert(ActivityApprovalStatus status)
        {
            switch (status)
            {
            case ActivityApprovalStatus.Pending:
                return("PENDING");

            case ActivityApprovalStatus.Approved:
                return("APPROVED");

            case ActivityApprovalStatus.Denied:
                return("DENIED");

            default:
                return("UNKNOWN");
            }
        }
Exemplo n.º 7
0
 public PermissionResult(bool success, ActivityApprovalStatus status)
 {
     Success = success;
     Status  = status;
 }
Exemplo n.º 8
0
 public void ApproveChildTrustPermission(ISession child, ActivityApprovalStatus status, Action <IPermissionResult> callback)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 9
0
 private void ApproveChildTrustPermission(string childSwid, AgeBandType childAgeBand, ActivityApprovalStatus status, Action <IPermissionResult> callback)
 {
     if (AgeBandType != AgeBandType.Adult)
     {
         callback(new PermissionFailedNotAdultResult());
     }
     else if (childAgeBand == AgeBandType.Adult || childAgeBand == AgeBandType.Teen)
     {
         callback(new PermissionNotRequiredResult());
     }
     else
     {
         PermissionApprover.ApprovePermission(logger, guestControllerClient, "MIX_TRUSTEDFRIENDSCOMMUNICATIONS", childSwid, status, callback);
     }
 }
Exemplo n.º 10
0
 public void ApproveChildTrustPermission(ISession child, ActivityApprovalStatus status, Action <IPermissionResult> callback)
 {
     ApproveChildTrustPermission(child.LocalUser.Id, child.LocalUser.AgeBandType, status, callback);
 }
Exemplo n.º 11
0
 /// <summary>
 /// 备份活动状态数据
 /// </summary>
 /// <param name="acid"></param>
 /// <returns></returns>
 public static int InsertActivityApprovalStatus(ActivityApprovalStatus model)
 {
     return(DalSeckill.InsertActivityApprovalStatus(model));
 }