public ActionResult UpdateStudent([FromBody] StudentEditDto studentDto)
        {
            if (!ModelState.IsValid)
            {
                var errorMessages = new List <KeyValuePair <string, string> >();
                foreach (var key in ModelState.Keys)
                {
                    errorMessages.AddRange(ModelState[key].Errors
                                           .Select(error => new KeyValuePair <string, string>(key, error.ErrorMessage)));
                }

                return(BadRequest(GeneralResponse <Student> .ValidationError(errorMessages)));
            }

            var studentEntity = _studentService.QueryStudentById(studentDto.Id);

            if (studentEntity == null)
            {
                return(NotFound());
            }

            studentEntity.Name        = studentDto.Name;
            studentEntity.Age         = studentDto.Age;
            studentEntity.StudentNo   = studentDto.StudentNo;
            studentEntity.PhoneNumber = studentDto.PhoneNumber;

            _studentService.EditStudent(studentEntity);
            return(NoContent());
        }
        protected virtual async Task <StudentEditDto> CreateStudentAsync(StudentEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增
            var entity = ObjectMapper.Map <Student>(input);

            entity = await _studentRepository.InsertAsync(entity);

            return(entity.MapTo <StudentEditDto>());
        }
        protected virtual async Task UpdateStudentAsync(StudentEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新
            var entity = await _studentRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);

            // ObjectMapper.Map(input, entity);
            await _studentRepository.UpdateAsync(entity);
        }
Exemple #4
0
        public async Task <IActionResult> Edit(int id, [FromBody] StudentEditDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(this.GetErrors(model)));
            }

            OperationResult result = await _service.Edit(model);

            if (result.HasError)
            {
                return(this.Unprocessable(result));
            }

            return(Ok(result));
        }
        /// <summary>
        /// 导出Student为excel表
        /// </summary>
        /// <returns></returns>
        //public async Task<FileDto> GetStudentsToExcel(){
        //var users = await UserManager.Users.ToListAsync();
        //var userListDtos = ObjectMapper.Map<List<UserListDto>>(users);
        //await FillRoleNames(userListDtos);
        //return _userListExcelExporter.ExportToFile(userListDtos);
        //}
        /// <summary>
        /// MPA版本才会用到的方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <GetStudentForEditOutput> GetStudentForEdit(NullableIdDto <int> input)
        {
            var            output = new GetStudentForEditOutput();
            StudentEditDto studentEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _studentRepository.GetAsync(input.Id.Value);

                studentEditDto = entity.MapTo <StudentEditDto>();

                //studentEditDto = ObjectMapper.Map<List <studentEditDto>>(entity);
            }
            else
            {
                studentEditDto = new StudentEditDto();
            }

            output.Student = studentEditDto;
            return(output);
        }