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(); } }
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)); }