public async Task <ActionResult> UpdateAchievement(Guid Id, AchievementUpdateDTO Achievement, CancellationToken Cancel)
        {
            try
            {
                await AchievementService.UpdateAchievement(Id, Achievement, Cancel);

                return(Ok());
            }
            catch (ArgumentNullException ArgExp)
            {
                return(NotFound());
            }
            catch
            {
                return(BadRequest());
            }
        }
        public async Task UpdateAchievement(Guid Id, AchievementUpdateDTO Achievement, CancellationToken Cancel)
        {
            if (ModelsValidator.AchievementIsValid(Achievement))
            {
                if ((await UnitOfWork.AchievementRepository
                     .DbSet.FirstOrDefaultAsync(item => item.Id == Id, Cancel)) == null)
                {
                    throw new ArgumentNullException();
                }

                var _Achievement = await UnitOfWork.AchievementRepository.DbSet.FirstOrDefaultAsync(item => item.Id == Id, Cancel);

                Mapper.Map(Achievement, _Achievement);
                UnitOfWork.AchievementRepository.Update(_Achievement);
                await UnitOfWork.SaveChangesAsync(Cancel);
            }
            else
            {
                throw new ArgumentException();
            }
        }
示例#3
0
 public static bool AchievementIsValid(AchievementUpdateDTO achievement)
 {
     return(!(achievement == null || achievement.Xp <= 0 ||
              achievement.Name?.Length > 70 || achievement.Name?.Length == 0 ||
              achievement.Description?.Length > 250 || achievement.Description?.Length == 0));
 }