/// <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)); }
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); }