Exemple #1
0
        /// <summary>
        /// Create New Forum Message
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public ResponseViewModel CreateNewMessageForum(ForumMessageInputModel message)
        {
            var forum = _forumRepository.GetForums().FirstOrDefault(x => x.Id == message.ForumId);

            if (forum == null && message.ForumMessageTypeId != (int)ForumMessageTypeEnum.NOTIFICATION)
            {
                return(Failed(ResponseMessageViewModel.INVALID_FORUM, ResponseErrorCodeStatus.INVALID_FORUM));
            }

            var forumType = _forumRepository.GetForumMessageTypes().FirstOrDefault(x => x.Id == message.ForumMessageTypeId);

            if (forumType == null)
            {
                return(Failed(ResponseMessageViewModel.INVALID_FORUM_TYPE, ResponseErrorCodeStatus.INVALID_FORUM_TYPE));
            }

            var result = _mapper.Map <ForumMessageInputModel, ForumMessage>(message);

            if (message.ForumMessageTypeId == (int)ForumMessageTypeEnum.NOTIFICATION)
            {
                result.ForumId = null;
            }

            var query = _forumRepository.CreateNewForum(result);

            var mappedResult = _mapper.Map <ForumMessage, ForumMessageViewModel>(query);

            return(Ok(mappedResult));
        }
Exemple #2
0
        public IActionResult CreateNewForumMessage([FromBody] ForumMessageInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            return(Ok(_forumAppService.CreateNewMessageForum(model)));
        }
        public IActionResult SendNotification([FromBody] ForumMessageInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            return(Ok(_notificationAppService.NewNotification(model)));
        }
        /// <summary>
        /// New Notification
        /// </summary>
        /// <param name="notification"></param>
        /// <returns></returns>
        public ResponseViewModel NewNotification(ForumMessageInputModel notification)
        {
            notification.ForumMessageTypeId = (int)ForumMessageTypeEnum.NOTIFICATION;

            var response = _forumAppService.CreateNewMessageForum(notification);

            _ = SendNotification(new NotificationInputModel
            {
                Notification = new Notification
                {
                    Title = notification.Title,
                    Body  = notification.Message,
                },

                RegistrationIds = notification.Receivers
            }).Result;

            return(response);
        }