Exemplo n.º 1
0
        //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 }));
        }
Exemplo n.º 2
0
        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);
        }