Beispiel #1
0
        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 }));
        }
Beispiel #2
0
        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)));
        }