public async Task <IActionResult> SendComment(CommentsViewModel data) { var BaiPost = await _service.GetById(data.IdbaiPost); var files = data.Files; string uniqueFileName = null; if (files != null) { string[] permittedExtensions = { ".png", ".jpeg", ".jpg" }; var ext = Path.GetExtension(files.FileName).ToLowerInvariant(); if (string.IsNullOrEmpty(ext) || !permittedExtensions.Contains(ext)) { return(Ok(new { status = false, mess = MessageResult.UpLoadFileFail })); } else { string UploadsFolder = Path.Combine(_hostingEnvironment.WebRootPath, "img/GVHD/Comments"); uniqueFileName = Guid.NewGuid().ToString() + "_" + files.FileName; string filePath = Path.Combine(UploadsFolder, uniqueFileName); await files.CopyToAsync(new FileStream(filePath, FileMode.Create)); } } Comments cmt = new Comments { IdnguoiTao = long.Parse(User.Identity.Name), NgayPost = DateTime.Now, NoiDungComment = data.NoiDungComment, AnhDinhKem = uniqueFileName, Status = (int)BaseStatus.Active }; BaiPost.Comments.Add(cmt); await _service.Update(BaiPost); var user = await _userManager.FindByNameAsync(User.Identity.Name); var role = await _userManager.GetRolesAsync(user); LoadCommentModel model = new LoadCommentModel { NguoiComment = User.FindFirst("Name").Value, NgayPost = DateTime.Now.ToString("HH:mm dd/MM/yyyy"), NoiDungComment = data.NoiDungComment, AnhDinhKem = uniqueFileName, }; return(Ok(new { status = true, data = model })); }
public async Task <IViewComponentResult> InvokeAsync(BaiPost model) { var Comments = model.Comments.ToList(); List <LoadCommentModel> data = new List <LoadCommentModel>(); foreach (var item in Comments) { var user = await _userManager.FindByNameAsync(item.IdnguoiTao.ToString()); var claim = await _userManager.GetClaimsAsync(user); LoadCommentModel loadCommentModel = new LoadCommentModel { NoiDungComment = item.NoiDungComment, NgayPost = item.NgayPost.Value.ToString("HH:mm dd/MM/yyyy"), NguoiComment = claim[0].Value, AnhDinhKem = item.AnhDinhKem }; data.Add(loadCommentModel); } data.Reverse(); return(await Task.FromResult <IViewComponentResult>(View(data))); }