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()); } }
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)); } }
/// <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)); } } }
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); } }
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()); } }
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"); } }
public PermissionResult(bool success, ActivityApprovalStatus status) { Success = success; Status = status; }
public void ApproveChildTrustPermission(ISession child, ActivityApprovalStatus status, Action <IPermissionResult> callback) { throw new NotImplementedException(); }
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); } }
public void ApproveChildTrustPermission(ISession child, ActivityApprovalStatus status, Action <IPermissionResult> callback) { ApproveChildTrustPermission(child.LocalUser.Id, child.LocalUser.AgeBandType, status, callback); }
/// <summary> /// 备份活动状态数据 /// </summary> /// <param name="acid"></param> /// <returns></returns> public static int InsertActivityApprovalStatus(ActivityApprovalStatus model) { return(DalSeckill.InsertActivityApprovalStatus(model)); }