コード例 #1
0
 public async Task <IActionResult> Create([FromBody] EvaluationCreateRequest newAchievement)
 {
     if ((await _authorizationService.AuthorizeAsync(User, newAchievement.GameId, HttpContext.ScopeItems(ClaimScope.Game))).Succeeded)
     {
         var achievement = newAchievement.ToAchievementModel();
         achievement = (Achievement)EvaluationCoreController.Create(achievement);
         var achievementContract = achievement.ToContract();
         return(new ObjectResult(achievementContract));
     }
     return(Forbid());
 }
        public async Task <IActionResult> create([FromBody] EvaluationCreateRequest request)
        {
            var evaluationId = await _evaluationService.Create(request);

            if (evaluationId == 0)
            {
                return(BadRequest("Thêm đánh giá không thành công!"));
            }
            var evaluation = await _evaluationService.getEvaluationById(evaluationId);

            return(CreatedAtAction(nameof(getEvaluationById), new { id = evaluationId }, evaluation));
        }
コード例 #3
0
        public static Skill ToSkillModel(this EvaluationCreateRequest skillContract)
        {
            var skillModel = new Skill {
                Name                = skillContract.Name,
                Description         = skillContract.Description,
                GameId              = skillContract.GameId.Value,
                ActorType           = skillContract.ActorType.Value,
                Token               = skillContract.Token,
                EvaluationCriterias = skillContract.EvaluationCriterias.ToModelList(),
                Rewards             = skillContract.Rewards.ToModelList()
            };

            return(skillModel);
        }
コード例 #4
0
        public static Achievement ToAchievementModel(this EvaluationCreateRequest achievementContract)
        {
            var achievementModel = new Achievement {
                Name                = achievementContract.Name,
                Description         = achievementContract.Description,
                GameId              = achievementContract.GameId.Value,
                ActorType           = achievementContract.ActorType.Value,
                Token               = achievementContract.Token,
                EvaluationCriterias = achievementContract.EvaluationCriterias.ToModelList(),
                Rewards             = achievementContract.Rewards.ToModelList()
            };

            return(achievementModel);
        }
コード例 #5
0
        public async Task <int> Create(EvaluationCreateRequest request)
        {
            var isAdmin = await _context.Users.Where(x => x.Id == request.userId).FirstOrDefaultAsync();

            if (isAdmin.displayname == "Admin")
            {
                var evaluation = new Evaluation()
                {
                    rating     = request.rating,
                    title      = request.title,
                    content    = request.content,
                    status     = EvaluationStatus.Confirm,
                    productId  = request.productId,
                    createDate = DateTime.Now,
                    userId     = request.userId,
                };
                _context.evaluations.Add(evaluation);
                await _context.SaveChangesAsync();

                return(evaluation.id);
            }
            else
            {
                var evaluation = new Evaluation()
                {
                    rating     = request.rating,
                    title      = request.title,
                    content    = request.content,
                    status     = EvaluationStatus.Decline,
                    productId  = request.productId,
                    createDate = DateTime.Now,
                    userId     = request.userId,
                };
                _context.evaluations.Add(evaluation);
                await _context.SaveChangesAsync();

                return(evaluation.id);
            }
        }
コード例 #6
0
 public void CreateSkillAsync(EvaluationCreateRequest skill, Action <EvaluationResponse> onSuccess, Action <Exception> onError)
 {
     AsyncRequestController.EnqueueRequest(() => CreateSkill(skill),
                                           onSuccess,
                                           onError);
 }
コード例 #7
0
        /// <summary>
        /// Create a new Skill.
        /// </summary>
        /// <param name="game"><see cref="EvaluationCreateRequest"/> object that holds the details of the new skill request.</param>
        /// <returns>A <see cref="GameResponse"/> containing the new skill details.</returns>
        public EvaluationResponse CreateSkill(EvaluationCreateRequest skill)
        {
            var query = GetUriBuilder(ControllerPrefix + "skills/create").ToString();

            return(Post <EvaluationCreateRequest, EvaluationResponse>(query, skill));
        }
コード例 #8
0
 public void CreateAchievementAsync(EvaluationCreateRequest achievement, Action <EvaluationResponse> onSuccess, Action <Exception> onError)
 {
     AsyncRequestController.EnqueueRequest(() => CreateAchievement(achievement),
                                           onSuccess,
                                           onError);
 }
コード例 #9
0
        /// <summary>
        /// Create a new Achievement.
        /// </summary>
        /// <param name="game"><see cref="EvaluationCreateRequest"/> object that holds the details of the new achievement request.</param>
        /// <returns>A <see cref="GameResponse"/> containing the new achievement details.</returns>
        public EvaluationResponse CreateAchievement(EvaluationCreateRequest achievement)
        {
            var query = GetUriBuilder(ControllerPrefix + "achievements/create").ToString();

            return(Post <EvaluationCreateRequest, EvaluationResponse>(query, achievement));
        }