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