public DetailedMessageVm GetMessageDetails(int messageId)
        {
            Message message = this.Context.Messages.Find(messageId);

            DetailedMessageVm vm = Mapper.Map <Message, DetailedMessageVm>(message);

            return(vm);
        }
        public ActionResult Details(int messageId)
        {
            if (!this.service.MessageExists(messageId))
            {
                return(this.HttpNotFound("Message not found."));
            }

            if (!this.service.MessageExistsInUserData(messageId))
            {
                return(this.HttpNotFound("Message not found."));
            }

            var userId = this.User.Identity.GetUserId();

            if (!this.service.IsUserAuthenticatedToViewMessage(messageId, userId))
            {
                return(this.HttpNotFound("Unnauthorized."));
            }

            DetailedMessageVm vm = this.service.GetMessageDetails(messageId);

            return(this.View(vm));
        }