//Get Post Messages public ActionResult GetPostMessages(int postId) { if (!_workContext.CurrentCustomer.IsRegistered()) { return(Unauthorized()); } if (!_workContext.CurrentCustomer.IsInCustomerRole(RolesType.Administrators, true) && !_workContext.CurrentCustomer.IsInCustomerRole(RolesType.HaragAdmin, true)) { return(Forbid()); } if (postId == null || postId == 0) { return(NotFound()); } var messagesInDb = _postService.GetPostMessage(postId); var messages = new MessageOutputModel { Items = messagesInDb.Select(m => new MessageModel { Id = m.Id, Message = m.Message, Customer = m.Customer?.Username, Post = m.Z_Harag_Post?.Title, DateCreated = m.CreatedTime }).ToList() }; return(Json(new { data = messages.Items })); }
public IActionResult AddPostMessage([FromBody] MessageModel message) { if (!_workContext.CurrentCustomer.IsRegistered()) { return(RedirectToRoute("/Login", new { returnUrl = "Harag" })); } if (!ModelState.IsValid) { return(Ok(new { stat = false, errors = ModelState.Values })); } var currentUserId = _workContext.CurrentCustomer.Id; ViewBag.UserName = _workContext.CurrentCustomer.Username; var msg = new Z_Harag_Message { Message = message.Message, CreatedTime = DateTime.Now, ToUserId = message.ToUserId, FromUserId = currentUserId, MessageType = message.Type }; if (message.PostId != 0) { msg.PostId = message.PostId; } var mes = _messageService.AddMessage(msg); var model = new MessageOutputModel { Message = mes.Message, DateTime = (DateTime)mes.CreatedTime, FromUser = mes.Customer.Username, FromUserId = (int)mes.ToUserId, Type = (MessageType)mes.MessageType }; if (message.PostId != 0) { model.postId = (int)mes.PostId; } if (mes != null) { return(PartialView("~/Themes/Pavilion/Views/Harag/Message/_MessageTemplatePartial.cshtml", model)); } return(BadRequest()); }
public void AddingMessageShouldAddMessage() { var message = new CreateMessageBindingModels() { Text = "New message" }; var expectedMessage = new MessageOutputModel() { Text = "New message", SentDate = DateTime.Now, Id = 4, RoomId = 1, PosterName = WebChatDataMock.MockedUserId }; var httpResponse = this.controller.CreateMessage(1, message).ExecuteAsync(new CancellationToken()).Result; var serverResponse = httpResponse.Content.ReadAsStringAsync().Result; Assert.AreEqual(serverResponse, "\"Message successfully created\""); Assert.AreEqual(expectedMessage.Text, this.dataMock.Messages.GetAll().Last().Text); }
public void AddingMessageShouldAddMessage() { var message = new MessageInputModel() { Content = "New message" }; var expectedMessage = new MessageOutputModel() { Content = "New message", Date = DateTime.Now, Id = 4, RoomId = 1, SenderId = MeetyChatDataMock.MockUserId }; var httpResponse = this.controller.AddMessage(1, message).ExecuteAsync(new CancellationToken()).Result; var serverResponse = httpResponse.Content.ReadAsStringAsync().Result; Assert.AreEqual(serverResponse, "\"Message created successfully\""); Assert.AreEqual(expectedMessage.Content, this.unitOfWorkMock.Messages.All().Last().Content); }