public async Task <IActionResult> AddAchievement([FromBody] CreateAchievementDto createAchievementDto) { var stu = await _studentService.GetStudentDetailByStuName(createAchievementDto.StuName); var cs = await _courseService.GetCourseByCourseNameDetail(createAchievementDto.CourseName); if (stu.Count == 0 || cs.Count == 0) { return(BadRequest("学生或者课程不存在")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Achievement achievement = new Achievement(); achievement.Student = stu.FirstOrDefault(); achievement.Course = cs.FirstOrDefault(); achievement.Score = createAchievementDto.Score; _achievementService.AddT(achievement); if (!await _achievementService.Save()) { return(StatusCode(500, "添加信息时出错")); } return(Created("", "")); }
public async Task <AchievementDto> CreateAchievementAsync(CreateAchievementDto input) { var achievement = ObjectMapper.Map <Achievement>(input); achievement = await _achievementRepo.InsertAsync(achievement); await CurrentUnitOfWork.SaveChangesAsync(); return(ObjectMapper.Map <AchievementDto>(achievement)); }
public IActionResult Create(CreateAchievementDto dto) { if (!this.ModelState.IsValid) return this.View(dto); dto.CreatorUsername = this.User.Identity.Name; try { var entity = _achievementService.CreateAchievement(dto); } catch (InvalidOperationException ex) { return this.BadRequest(ex.Message); } return Redirect("/Administration/Index"); }
public Achievement CreateAchievement(CreateAchievementDto dto) { var exercise = _exercisesService.GetSingleExerciseByName(dto.ExerciseName); if (exercise == null) { throw new InvalidOperationException("Invalid exercise"); } var createdBy = _userService.GetMainUserByUsername(dto.CreatorUsername); var overloadType = (OverloadType)Enum.Parse(typeof(OverloadType), dto.OverloadType); var difficulty = (ExerciseDifficulty)Enum.Parse(typeof(ExerciseDifficulty), dto.Difficulty); var achievementEntity = new Achievement { AchievementPointsGain = dto.AchievementPoints, CreatedBy = createdBy, Exercise = exercise, OverloadAmount = dto.OverloadAmount, OverloadType = overloadType, Difficulty = difficulty }; return(_repository.Add <Achievement>(achievementEntity)); }
public async Task <IActionResult> Create(CreateAchievementDto input) { var newAchievement = await _achievementAppService.CreateAchievementAsync(input); return(CreatedAtRoute("GetAchievement", new { id = newAchievement.Id }, newAchievement)); }