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("", ""));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #5
0
        public async Task <IActionResult> Create(CreateAchievementDto input)
        {
            var newAchievement = await _achievementAppService.CreateAchievementAsync(input);

            return(CreatedAtRoute("GetAchievement", new { id = newAchievement.Id }, newAchievement));
        }