public async Task <UserViewModel> UpdateAvatarAsync(AddAvatarRequest request) { var avatar = UserAdapter.FromRequest(request, _httpContextAccessor); var currentUser = Feature.CurrentUser(_httpContextAccessor, userRepository); currentUser.Avatar = avatar; currentUser.AvatarHash = request.AvatarHash; foreach (var post in postRepository.GetAll() .Where(x => x.AuthorId == currentUser.Id.ToString() && x.Status == ItemStatus.Active)) { await postRepository.UpdateAsync(post, post.Id); } currentUser.ModifiedDate = DateTime.Now; await userRepository.UpdateAsync(currentUser, currentUser.Id); //CacheHelper.Delete($"CurrentUser-{currentUser.Email}"); //CacheHelper.Add($"CurrentUser-{currentUser.Email}", currentUser, DateTime.Now.AddDays(10)); return(mapper.Map <UserViewModel>(currentUser)); }
public ServiceResponse <AvatarResponse> AddAvatar(AddAvatarRequest request) { Avatar avatar; using (DiaryContext db = new DiaryContext()) { var userDetails = db.UserDetails.FirstOrDefault(x => x.Id == request.UserDetailsId); if (userDetails == null) { return(new ServiceResponse <AvatarResponse>(null, HttpStatusCode.NotFound, "Unable to find the user details!")); } avatar = db.Avatars.FirstOrDefault(x => x.Id == userDetails.Id); if (avatar != null) { avatar.Image = Convert.FromBase64String(request.Image); } else { avatar = new Avatar() { Id = userDetails.Id, Image = Convert.FromBase64String(request.Image), UserDetails = userDetails }; db.Avatars.Add(avatar); } db.SaveChanges(); } return(new ServiceResponse <AvatarResponse>(new AvatarResponse(avatar), HttpStatusCode.OK, "Avatar created successfully")); }
public IHttpActionResult AddAvatar(AddAvatarRequest avatar) { if (avatar == null || !ModelState.IsValid) { return(ResponseMessage(CreateCustomResponseMessage(HttpStatusCode.BadRequest))); } var result = _userService.AddAvatar(avatar); return(ResponseMessage(CreateCustomResponseMessage(result))); }
public static Image FromRequest(AddAvatarRequest request, IHttpContextAccessor context) { // var url = Feature.SaveImageToUrl(request.Image, context); return(new Image() { Discription = request.Discription, ImageUrl = "", ImageHash = request.AvatarHash, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now, }); }
public async Task <UserViewModel> AddAvatarAsync(AddAvatarRequest request) { var avatar = UserAdapter.FromRequest(request, _httpContextAccessor); var currentUser = Feature.CurrentUser(_httpContextAccessor, userRepository); currentUser.Avatar = avatar; currentUser.AvatarHash = avatar.ImageHash; currentUser.ModifiedDate = DateTime.Now; await userRepository.UpdateAsync(currentUser, currentUser.Id); return(mapper.Map <UserViewModel>(currentUser)); }
public async Task <IActionResult> UpdateAvatar(AddAvatarRequest request) { var data = await userService.UpdateAvatarAsync(request); return(Ok(new ApiOkResponse(data))); }