public async Task <IActionResult> ChangeAvatar([FromBody] FileBase64 file) { var bytes = Convert.FromBase64String(file.Base64File); using (MemoryStream ms = new MemoryStream(bytes)) { var formFile = new FormFile(ms, 0, ms.Length, "file", file.FileName) { Headers = new HeaderDictionary { { "Content-Disposition", string.Format("attachment; filename={0})", file.FileName) }, { "Content-Type", "multipart/form-data" } } }; var userId = _authServices.GetUserId() ?? 0; if (userId == 0) { return(BadRequest(MessageConstant.UserNotAllowed)); } var userResponse = await _userDetailService.GetDetailByUserId(userId); if (userResponse.Success) { AssignModelState(); var user = userResponse.Item; try { if (!String.IsNullOrWhiteSpace(user.Avatar)) { await _fileServices.DeleteAsync(user.Avatar); } var res = await _fileServices.UploadAsync(formFile); user.Avatar = res.Item.Path; var response = _userDetailService.Edit(user); if (response.Success) { return(Ok(response.Item)); } return(BadRequest(response.Message)); } catch (Exception ex) { return(BadRequest(ex.Message)); } } ms.Dispose(); } return(BadRequest("Error on Server")); }
public async Task <IActionResult> ChangeAvatar(IFormFile file) { var userId = _auth.GetUserId() ?? 0; if (userId == 0) { return(BadRequest(MessageConstant.UserNotAllowed)); } var userResponse = await _userDetailService.GetDetailByUserId(userId); if (userResponse.Success) { AssignModelState(); var user = userResponse.Item; try { if (!String.IsNullOrWhiteSpace(user.Avatar)) { await _fileServices.DeleteAsync(user.Avatar); } var res = await _fileServices.UploadAsync(file); user.Avatar = res.Item.Path; var response = _userDetailService.Edit(user); if (response.Success) { return(Ok(response.Item)); } return(BadRequest(response.Message)); } catch (Exception ex) { return(BadRequest(ex.Message)); } } return(BadRequest(userResponse.Message)); }
// GET: DetaialUser public ActionResult Index() { var name = User.Identity.Name; var userLogged = _userService.GetUserByUserName(name); var details = _detailService.GetDetailByUserId(userLogged.Id); var profilPicture = _postService.GetPictureProfileFromPost(userLogged); var listPost = userLogged.Posts.OrderByDescending(x => x.DateOnPost); var viewListPost = new List <HomePostModel>(); foreach (var post in listPost) { var pictureId = 0; int.TryParse(post.PictureId.ToString(), out pictureId); var commentsPost = new List <ViewModelComment>(); foreach (var comment in post.Comments) { var profilePicture = _postService.GetPictureProfileFromPost(_userService.GetUserByUserName(comment.Username)); commentsPost.Add(new ViewModelComment() { Username = comment.Username, Description = comment.Description, PictureProfile = Converts.ConvertByteArrToStringForImg(profilePicture) }); } var likesPost = new List <ViewModelLike>(); foreach (var like in post.Likes) { var pictureOfProfile = _postService.GetPictureProfileFromPost(_userService.GetUserByUserName(like.Username)); likesPost.Add(new ViewModelLike() { Username = like.Username, PictureProfile = Converts.ConvertByteArrToStringForImg(pictureOfProfile) }); } var pictureOfUser = _postService.GetPictureProfileFromPost(_userService.GetUserById(post.UserId)); viewListPost.Add(new HomePostModel { PostId = post.Id, UserName = _userService.GetUserById(post.UserId).UserName, PictureOfUser = Converts.ConvertByteArrToStringForImg(pictureOfUser), DiscriptionPost = post.Disctription, DateOnPost = Converts.CreateStringDate(post.DateOnPost), PicturePost = Converts.ConvertByteArrToStringForImg(_postService.GetPictureOnPost(pictureId)), Likes = likesPost, Comments = commentsPost }); } var friendUser = userLogged.Friends; var listFriend = new List <FriendViewModel>(); foreach (var friend in friendUser) { var pictureOfUser = _postService.GetPictureProfileFromPost(_userService.GetUserById(friend.Id)); listFriend.Add(new FriendViewModel { UserName = friend.UserName, PictureUser = Converts.ConvertByteArrToStringForImg(pictureOfUser), }); } if (details == null) { var model = new UserDetailsViewModel() { FirstName = "", LastName = "", Email = userLogged.Email, Adress = "", Age = 0, ImageBrand = "", Friends = listFriend, Post = viewListPost }; return(View(model)); } else { var model = new UserDetailsViewModel() { FirstName = details.FirstName, LastName = details.LastName, Email = userLogged.Email, Adress = details.Adress, Age = details.Age, ImageBrand = Converts.ConvertByteArrToStringForImg(profilPicture), Friends = listFriend, Post = viewListPost }; return(View(model)); } }