public async Task AddComment(string?id, string?text = "") { var UserName = Context.User.Identity.Name; Коментарий коментарий = new Коментарий() { ID_коментария = Guid.NewGuid(), ID_Записи = Guid.Parse(id), ID_Пользователя = Guid.Parse(UserName), Текст_коментария = text, Дата_коментария = DateTime.Now }; _context.Add(коментарий); Блог блог = (from запись in _context.Запись join блог_таблица in _context.Блог on запись.ID_Блога equals блог_таблица.ID_Блога where запись.ID_Записи == Guid.Parse(id) select блог_таблица).ToList().First(); Пользователь пользователь = _context.Пользователь.Find(Guid.Parse(UserName)); List <string> подписчики = _context.Подписчик.Where(t => t.ID_Блога == блог.ID_Блога) .Select(t => t.ID_Пользователя.ToString().ToLower()) .ToList(); _context.SaveChanges(); await Clients.All.SendAsync("CommentAdded", new { id = коментарий.ID_коментария, id_post = коментарий.ID_Записи, text = коментарий.Текст_коментария, user_name = пользователь.Имя, user_second_name = пользователь.Фамилия }); }
public async Task Create(string?text, string?BlogId, IList <string> files) { var attachments = new List <byte[]>(); var stringattachments = new List <string>(); foreach (var data in files) { var hernya = data.Split(','); var suka = hernya[1]; stringattachments.Add(hernya[1]); attachments.Add(Convert.FromBase64String(suka)); } var UserName = Context.User.Identity.Name; Блог блог = _context.Блог.Find(Guid.Parse(BlogId)); List <string> подписчики = _context.Подписчик.Where(t => t.ID_Блога == блог.ID_Блога).Select(t => t.ID_Пользователя.ToString().ToLower()).ToList(); Запись запись = new Запись { ID_Записи = Guid.NewGuid(), ID_Блога = Guid.Parse(BlogId), Дата_публикации = DateTime.Now, Название = null, Текст = text }; _context.Add(запись); foreach (var file in attachments) { Guid ID_Data = Guid.NewGuid(); Данные данные = new Данные() { Data = file, ID = ID_Data }; Приложение приложение = new Приложение() { ID_Data = ID_Data, ID_Записи = запись.ID_Записи, Данные = данные, Запись = запись }; _context.Add(данные); _context.Add(приложение); } _context.SaveChanges(); await Clients.All.SendAsync("Publicated", new { id_блога = блог.ID_Блога, id_записи = запись.ID_Записи, блог = блог.Название, запись = запись.Название, лайки = 0, коментарии = 0, дата_публикации = запись.Дата_публикации.ToLocalTime(), текст = запись.Текст, приложения = stringattachments, }); }
public IActionResult CreateSociety(Блог блог) { Guid IdUser = Guid.Parse(HttpContext.User.Identity.Name); блог.ID_Создателя = IdUser; блог.ID_Блога = Guid.NewGuid(); блог.Дата_создания = DateTime.Now; Подписчик подписчик = new Подписчик { ID_Блога = блог.ID_Блога, ID_Пользователя = блог.ID_Создателя, }; _context.Блог.Add(блог); _context.Подписчик.Add(подписчик); _context.SaveChanges(); return(RedirectToAction("PublicsList", "Blogs")); }
public IActionResult BlogPosts(string?id, int page = 0) { int pagesize = 4; List <PostBlogCommentActionViewModel> postBlogCommentActionViewModels = new List <PostBlogCommentActionViewModel>(); Guid Id = Guid.Parse(id); Блог blog = _context.Блог.Include(t => t.Подписчики).FirstOrDefault(t => t.ID_Блога == Id); IEnumerable <Запись> Записи = _context.Запись.Where(t => t.ID_Блога == blog.ID_Блога && t.Удалён == 0).OrderByDescending(t => t.Дата_публикации).Skip(page * pagesize).Take(pagesize).ToList(); foreach (var post in Записи) { IEnumerable <Коментарий> коментарии = _context.Коментарий.Include(t => t.Пользователь).Where(t => t.ID_Записи == post.ID_Записи).ToList(); IEnumerable <Дествие> дествия = _context.Дествие.Include(t => t.Пользователь).Where(t => t.ID_Записи == post.ID_Записи).ToList(); IEnumerable <Данные> data = (from данные in _context.Данные join приложения in _context.Приложение on данные.ID equals приложения.ID_Data where приложения.ID_Записи == post.ID_Записи select данные).ToList(); postBlogCommentActionViewModels.Add(new PostBlogCommentActionViewModel { Запись = post, Блог = blog, Коментарии = коментарии, Дествия = дествия, Данные = data, }); } if (Записи.Count() == 0) { postBlogCommentActionViewModels.Add(new PostBlogCommentActionViewModel { Запись = null, Блог = blog, Коментарии = null, Дествия = null, }); } if (page != 0) { return(PartialView("_Posts", postBlogCommentActionViewModels)); } return(View(postBlogCommentActionViewModels)); }