public ActionResult Topic(MessagesViewModel newMessage) { try { if (ModelState.IsValid) { MessagesDTO MessageBLL = new MessagesDTO(); MessageBLL.TopicID = newMessage.TopicID; MessageBLL.Text = newMessage.Text; MessageBLL.UserID = newMessage.UserID; if(User.IsInRole("Administrator")) { MessageBLL.StatusID = 1; } Data.CreateMessage(MessageBLL); return RedirectToAction("Topic", new { TopicID = newMessage.TopicID }); } else { if (User.Identity.Name != "") { var curentUser = Data.GetCurentUser(User.Identity.Name); ViewBag.Avatar = curentUser.Avatar; ViewBag.Name = curentUser.Name; ViewBag.UserID = curentUser.UserID; } ViewBag.Text = newMessage.Text; ViewBag.TopicID = newMessage.TopicID; return View(); } } catch (ValidationException ex) { ModelState.AddModelError("DalError", ex.Message); return View(newMessage); } }
/// <summary> /// Вывод сообщений в теме /// </summary> /// <param name="TopicID"></param> public ActionResult MessagesList(int TopicID) { try { List<MessagesViewModel> messages = new List<MessagesViewModel>(); var TopicBLL = Data.GetTopicByID(TopicID); var MessagesBLL = Data.GetMessages(TopicBLL.TopicID); ViewBag.SectionID = TopicBLL.SectionID; ViewBag.TopicID = TopicBLL.TopicID; ViewBag.TopicName = TopicBLL.TopicName; ViewBag.TopicText = TopicBLL.TopicText; ViewBag.AuthorName = TopicBLL.Name; ViewBag.CreateDate = TopicBLL.CreateDate; ViewBag.Avatar = TopicBLL.Avatar; foreach (var m in MessagesBLL) { MessagesViewModel message = new MessagesViewModel(); message.MessageID = m.MessageID; message.Name = m.Name; message.SendDate = m.SendDate; message.Text = m.Text; message.StatusID = m.StatusID; message.Avatar = m.Avatar; messages.Add(message); } return PartialView(messages); } catch (ValidationException ex) { return Content(ex.Message); } }