public void HandleContentSubmission(int contentID, JPPConstants.HandleUserContent handleContent, string reason = null)
        {
            achievement_user_content_pending pendingContent = _dbContext.achievement_user_content_pending.Find(contentID);
            if (pendingContent == null)
                return;

            switch (handleContent)
            {
                case JPPConstants.HandleUserContent.Approve:
                    AssignContentSubmissionAchievement(WebSecurity.CurrentUserId, pendingContent);
                    return;
                case JPPConstants.HandleUserContent.Deny:
                    if (!String.IsNullOrWhiteSpace(reason))
                        DenyContentSubmission(pendingContent, reason);
                    return;
                default:
                    return;
            }
        }
Exemplo n.º 2
0
        public ActionResult ManageUserQuestSubmission(int? id, JPPConstants.HandleUserContent handleContent, string reason = null)
        {
            switch (handleContent)
            {
                case JPPConstants.HandleUserContent.Approve:
                    if (id == null)
                    {
                        ModelState.AddModelError(String.Empty, "Achievement of ID:" + id + " does not exist in the current version.");
                        break;
                    }
                    ApproveQuest((int)id);
                    return RedirectToAction("PendingUserQuestsList");
                case JPPConstants.HandleUserContent.Deny:
                    if (id == null)
                    {
                        ModelState.AddModelError(String.Empty, "Achievement of ID:" + id + " does not exist in the current version.");
                        break;
                    }
                    if (String.IsNullOrWhiteSpace(reason))
                    {
                        ModelState.AddModelError(String.Empty, "A reason needs to be provided for denying this quest.");
                        break;
                    }
                    DenyUserQuest((int)id, reason);
                    return RedirectToAction("PendingUserQuestsList");
                default:
                    break;
            }

            return View();
        }
 /// <summary>
 /// Creates the approriate response model based on the result of assigning the achievement
 /// </summary>
 /// <param name="assignAchievementResult">The result of the achievement assigning</param>
 /// <returns>MobileAppScanResultModel</returns>
 private MobileAppScanResultModel GetAssignResultModel(JPPConstants.AssignAchievementResult assignAchievementResult)
 {
     switch (assignAchievementResult)
     {
         case JPPConstants.AssignAchievementResult.Success:
             return new MobileAppScanResultModel()
             {
                 Success = true,
                 Message = "Achievement Successfully Assigned",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.SuccessNoCard:
             return new MobileAppScanResultModel()
             {
                 Success = true,
                 Message = "Achievement Successfully Assigned, Pick Up Card Elsewhere",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.SuccessYesCard:
             return new MobileAppScanResultModel()
             {
                 Success = true,
                 Message = "Achievement Successfully Assigned, Give Card",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.SuccessRepetition:
             return new MobileAppScanResultModel()
             {
                 Success = true,
                 Message = "Repetition Success",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.SuccessThresholdTriggered:
             return new MobileAppScanResultModel()
             {
                 Success = true,
                 Message = "Achievement Successfully Assigned, Threshold Unlocked",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.FailureInvalidAchievement:
             return new MobileAppScanResultModel()
             {
                 Success = false,
                 Message = "Achievement Invalid",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.FailureInvalidPlayer:
             return new MobileAppScanResultModel()
             {
                 Success = false,
                 Message = "Player Invalid",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.FailureUnauthorizedPlayer:
             return new MobileAppScanResultModel()
             {
                 Success = false,
                 Message = "Player Unauthorized",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.FailureInvalidAssigner:
             return new MobileAppScanResultModel()
             {
                 Success = false,
                 Message = "Assigner Invalid",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.FailureUnauthorizedAssigner:
             return new MobileAppScanResultModel()
             {
                 Success = false,
                 Message = "Assigner Unauthorized",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.FailureAlreadyAchieved:
             return new MobileAppScanResultModel()
             {
                 Success = false,
                 Message = "Player already has this achievement",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.FailureRepetitionDelay:
             return new MobileAppScanResultModel()
             {
                 Success = false,
                 Message = "Player needs to wait longer to get this achievement again",
                 Code = 0
             };
         case JPPConstants.AssignAchievementResult.FailureOther:
             return new MobileAppScanResultModel()
             {
                 Success = false,
                 Message = "Failure Other",
                 Code = 0
             };
     }
     return null;
 }