Exemple #1
0
        public void Execute(UserInfoUpdateDto request)
        {
            _validator.ValidateAndThrow(request);

            var user = _context.Users.Find(request.UserId);

            if (user == null)
            {
                throw new EntityNotFoundException(request.UserId, typeof(User));
            }

            var newFileName = user.AvatarPath;

            if (request.Avatar != null)
            {
                var guid      = Guid.NewGuid();
                var extension = Path.GetExtension(request.Avatar.FileName);
                newFileName = guid + extension;
                var path = Path.Combine("wwwroot", "images", newFileName);
                using (var fileStream = new FileStream(path, FileMode.Create))
                {
                    request.Avatar.CopyTo(fileStream);
                }
            }
            var newFileNameCv = user.CvPath;

            if (request.Cv != null)
            {
                var guidCv = Guid.NewGuid();
                newFileNameCv = guidCv + request.Cv.FileName;
                var pathCv = Path.Combine("wwwroot", "cv", newFileNameCv);
                using (var fileStreamCv = new FileStream(pathCv, FileMode.Create))
                {
                    request.Cv.CopyTo(fileStreamCv);
                }
            }

            user.Username   = request.Username;
            user.Name       = request.Name;
            user.Surname    = request.Surname;
            user.Phone      = request.Phone;
            user.Birthdate  = request.Birthdate;
            user.AvatarAlt  = request.AvatarAlt;
            user.AvatarPath = newFileName;
            user.CvPath     = newFileNameCv;

            _context.SaveChanges();
        }
Exemple #2
0
        public async Task <ActionResult <ResultData> > UserInfo(string teacherId, [FromBody] UserInfoUpdateDto userDto)
        {
            Teacher teacher = _teacherRepository
                              .LoadEntitiesAsIQueryable(x => x.TeacherId.ToString() == teacherId)
                              .AsNoTracking().AsEnumerable().FirstOrDefault();

            if (teacher == null)
            {
                return(NotFound());
            }
            teacher = _mapper.Map <Teacher>(userDto);
            var result = await _teacherRepository.EditEntityAsync(teacher);

            if (result)
            {
                return(NoContent());
            }
            return(new ResultData(ReturnCode.Error, -1, "信息更新错误", null));
        }
Exemple #3
0
        public ActionResult <UserInfoReadDto> UpdateUser(string Id, UserInfoUpdateDto userInfoUpdateDto)
        {
            if (Id != User.Identity.Name)
            {
                return(Unauthorized());
            }
            var userInfo = _userInfoRepository.GetUserInfoById(Id);

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

            _mapper.Map(userInfoUpdateDto, userInfo);

            _userInfoRepository.UpdateUser();

            return(NoContent());
        }
 public IActionResult Put(int id, [FromForm] UserInfoUpdateDto dto, [FromServices] IUpdateUser command)
 {
     dto.UserId = id;
     _executor.ExecuteCommand(command, dto);
     return(Ok());
 }