public ActionResult UpdateUsers(UsersPost user) { using (DataContext db = new DataContext()) { ViewBag.GetRoles = (from r in db.Roles select r).ToList(); User u = db.Users.Where(x => x.User_ID == user.userid).FirstOrDefault(); if (user.avatar != null) { //save ảnh vào thư mục và lấy tên ảnh var filename = Path.GetFileName(user.avatar.FileName); var path = Path.Combine(Server.MapPath("../img/avatar"), filename); user.avatar.SaveAs(path); u.userName = user.username; u.phoneNumber = user.phone; u.role = user.role; u.avatar = filename; u.sex = Convert.ToBoolean(user.sex); u.address = user.address; db.SaveChanges(); return(Json(new { mess_ = 1 })); } else { u.userName = user.username; u.phoneNumber = user.phone; u.role = user.role; u.sex = Convert.ToBoolean(user.sex); u.address = user.address; db.SaveChanges(); return(Json(new { mess_ = 1 })); } } }
public IActionResult CreatePost(IFormFile postImage, string postText) { string fileName = ""; DateTime dateTimeNow = DateTime.Now; if (postText == null || postText == "") { return(Json(new { statusCode = ResponseStatus.ValidationError, responseMessage = ValidationMessages.EmptyPostText })); } if (postImage != null) { if (postImage.ContentType.ToLower() != "image/jpeg" && postImage.ContentType.ToLower() != "image/png" && postImage.ContentType.ToLower() != "image/jpg") { return(Json(new { statusCode = ResponseStatus.ValidationError, responseMessage = ValidationMessages.WrongFormat })); } var uploads = Path.Combine(hostingEnvironment.WebRootPath, "PostPics"); fileName = postImage.FileName.Split(".")[0] + "_" + DateTime.Now.ToFileTime() + "." + postImage.FileName.Split(".")[1]; var filePath = Path.Combine(uploads, fileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { postImage.CopyTo(fileStream); } } User user = userData.GetUser(HttpContext); Post post = new Post() { IsDeleted = false, PostContent = postText }; facebookDataContext.Posts.Add(post); try { facebookDataContext.SaveChanges(); } catch { return(Json(new { statusCode = ResponseStatus.Error })); } UsersPost usersPost = new UsersPost() { PostId = post.Id, IsCreator = true, CreatedAt = dateTimeNow, UserId = user.Id }; facebookDataContext.UsersPosts.Add(usersPost); try { facebookDataContext.SaveChanges(); } catch { return(Json(new { statusCode = ResponseStatus.Error })); } if (postImage != null) { PostPhoto postPhoto = new PostPhoto() { IsDeleted = false, PostId = post.Id, CreatedAt = dateTimeNow, Url = fileName }; facebookDataContext.PostPhotos.Add(postPhoto); try { facebookDataContext.SaveChanges(); } catch { return(Json(new { statusCode = ResponseStatus.Error })); } } return(Json(new { statusCode = ResponseStatus.Success })); }
public ActionResult AddNewUsers(UsersPost user) { using (DataContext db = new DataContext()) { ViewBag.GetRoles = (from r in db.Roles select r).ToList(); var checkEmailExist = (from u in db.Users where u.email == user.email select u).FirstOrDefault(); if (checkEmailExist == null) { if (user.avatar != null) { //save ảnh vào thư mục và lấy tên ảnh var filename = Path.GetFileName(user.avatar.FileName); var path = Path.Combine(Server.MapPath("../img/avatar"), filename); user.avatar.SaveAs(path); User u = new User(); u.userName = user.username; u.email = user.email; u.phoneNumber = user.phone; u.role = user.role; u.avatar = filename; u.password = Encode.CreateMD5(user.password); u.sex = Convert.ToBoolean(user.sex); u.address = user.address; u.dayOfBirth = DateTime.Now; db.Users.Add(u); db.SaveChanges(); return(Json(new { mess_ = 1 })); } else { User u = new User(); u.userName = user.username; u.email = user.email; u.phoneNumber = user.phone; u.role = user.role; u.password = Encode.CreateMD5(user.password); u.sex = Convert.ToBoolean(user.sex); if (Convert.ToBoolean(user.sex) == true) { u.avatar = "avt_men.jpg "; } else { u.avatar = "avt_girl.jpg"; } u.address = user.address; u.dayOfBirth = DateTime.Now; db.Users.Add(u); db.SaveChanges(); return(Json(new { mess_ = 1 })); } } else { return(Json(new { mess_ = 0 })); } } }
public static HomePostTempDto Map(UsersPost from, IWebHostEnvironment hostingEnvironment, int currentUserId) { if (from == null) { return(null); } var to = new HomePostTempDto { UserId = from.User.Id, FullName = $"{from.User.FirstName} {from.User.LastName}", PostContent = from.Post.PostContent, CreatedAt = from.CreatedAt, HomeCommentDto = Map(from.Post.Comments.OrderByDescending(x => x.CreatedAt), hostingEnvironment, currentUserId).ToList(), HomeLikeDto = Map(from.Post.Likes.OrderByDescending(x => x.CreatedAt), hostingEnvironment).ToList(), PostId = from.PostId, IsLike = from.Post.Likes.Any(x => x.PostId == from.PostId && x.UserId == currentUserId && x.IsDeleted == false) }; string path = hostingEnvironment.WebRootPath + "/ProfilePics/" + (from.User.ProfilePhotos.Where(x => x.IsCurrent).Select(x => x.Url).FirstOrDefault() ?? (from.User.GenderId == 1 ? "default.jpg" : "default_female.png")); byte[] b = System.IO.File.ReadAllBytes(path); to.ProfilePic = "data:image/png;base64," + Convert.ToBase64String(b); if (from.Post.PostPhotos.Select(x => x.Url).FirstOrDefault() != null) { string path2 = hostingEnvironment.WebRootPath + "/PostPics/" + from.Post.PostPhotos.Select(x => x.Url).FirstOrDefault(); byte[] b2 = System.IO.File.ReadAllBytes(path2); to.PostPicUrl = "data:image/png;base64," + Convert.ToBase64String(b2); } TimeSpan?DateDifference = DateTime.Now - from.CreatedAt; if (DateDifference.Value.Days != 0) { to.PostDate = string.Format("posted {0} days ago", (DateDifference.Value.Days)); } if (DateDifference.Value.Days > 30) { to.PostDate = string.Format("from {0}", from.CreatedAt.ToString("dd/MM/yyyy")); } if (DateDifference.Value.Days == 0 && DateDifference.Value.Hours != 0) { to.PostDate = string.Format("posted {0} h ago", DateDifference.Value.Hours); } if (DateDifference.Value.Days == 0 && DateDifference.Value.Hours == 0 && DateDifference.Value.Minutes != 0) { to.PostDate = string.Format("posted {0} min ago", DateDifference.Value.Minutes); } if (DateDifference.Value.Days == 0 && DateDifference.Value.Hours == 0 && DateDifference.Value.Minutes == 0) { to.PostDate = ("posted few sec ago "); } return(to); }
public async Task <IActionResult> PostAsync([FromBody] UsersPost model) { if (await cachedUserManager.GetUserByUserNameAndFilterRoleAssignmentsByClientIdAsync(model.UserName, userPrincipalBuilder.GetCurrentClientId()) != null) { throw new UserAlreadyExistsException(); } if (await userManager.Users.FirstOrDefaultAsync(u => u.NormalizedEmail == model.Email.Trim().ToUpper()) != null) { throw new EmailAlreadyExistsException(); } if (!hiringTypes.Contains(model.HiringType)) { throw new InvalidHiringTypeException(); } var user = mapper.Map <UsersPost, ApplicationUser>(model); user.EmailConfirmed = !model.GeneratePassword && string.IsNullOrWhiteSpace(model.Password); var password = model.GeneratePassword ? passwordGenerator.GenerateRandomPassword() : model.Password; var creationResult = !string.IsNullOrWhiteSpace(password) ? await userManager.CreateAsync(user, password) : await userManager.CreateAsync(user); if (creationResult.Succeeded) { if (!user.EmailConfirmed) { var token = await userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.RouteUrl("ConfirmEmail", new { username = user.UserName, token }, Request.Scheme); await emailSender.NotifyNewUserAsync(model.Email, model.UserName, callbackUrl, model.GeneratePassword?password : null); } return(CreatedAtRoute("UsersGet", new { username = user.UserName }, new PostResult(user.Id, user.UserName))); } else { throw new IdentityOperationException(creationResult.Errors.Select(e => new IdentityOperationExceptionItem(e.Code, e.Description))); } }
public IActionResult DeletePost([FromQuery] int postId) { if (postId == 0) { return(Json(new { statusCode = ResponseStatus.ValidationError })); } User user = userData.GetUser(HttpContext); Post post = facebookDataContext.Posts.Where(x => x.Id == postId).FirstOrDefault(); UsersPost usersPost = facebookDataContext.UsersPosts.Where(x => x.PostId == post.Id && x.IsCreator).FirstOrDefault(); if (post == null || usersPost.UserId != user.Id) { return(Json(new { statusCode = ResponseStatus.ValidationError })); } post.IsDeleted = true; facebookDataContext.Posts.Update(post); try { facebookDataContext.SaveChanges(); } catch { return(Json(new { statusCode = ResponseStatus.Error })); } return(Json(new { statusCode = ResponseStatus.Success })); }