Beispiel #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));
        }