public IActionResult CreateTopic([FromBody] TopicCreateDto createTopic) { if (createTopic == null) { return(BadRequest()); } if (createTopic.Title == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var newTopic = _mapper.Map <TraTopic>(createTopic); string userGuid = UserHelper.GetUserGuid(_httpContextAccessor); var getUser = _transActionRepo.GetUsers().FirstOrDefault(c => c.Guid == userGuid); newTopic.UserId = getUser.UserId; _transActionRepo.CreateTopic(newTopic); if (!_transActionRepo.Save()) { return(StatusCode(500, "A problem happened while handling your request.")); } var message = new TraTopicMessage(); message.UserId = newTopic.UserId; message.TopicId = newTopic.TopicId; message.Body = createTopic.Body; _transActionRepo.CreateTopicMessage(message); if (!_transActionRepo.Save()) { return(StatusCode(500, "A problem happened while handling your request.")); } var createdPointOfInterestToReturn = _mapper.Map <TopicDto>(newTopic); return(CreatedAtRoute("GetThatTopic", new { id = createdPointOfInterestToReturn.TopicId }, createdPointOfInterestToReturn)); }
public IActionResult CreateTopic([FromBody] TopicCreateDto createTopic) { if (!ModelState.IsValid) { return(BadRequest(new TransActionResponse(ModelState))); } var newTopic = _mapper.Map <TraTopic>(createTopic); string userGuid = UserHelper.GetUserGuid(_httpContextAccessor); var getUser = _unitOfWork.User.GetByGuid(userGuid); newTopic.UserId = getUser.UserId; newTopic.LastMessageTimestamp = DateTime.Now; _unitOfWork.Topic.Create(newTopic); if (!_unitOfWork.Save()) { return(StatusCode(500, new TransActionResponse("A problem happened while handling your request."))); } var message = new TraTopicMessage(); message.UserId = newTopic.UserId; message.TopicId = newTopic.TopicId; message.Body = createTopic.Body; _unitOfWork.Message.Create(message); if (!_unitOfWork.Save()) { return(StatusCode(500, new TransActionResponse("A problem happened while handling your request."))); } var createTopicResult = _mapper.Map <TopicDto>(newTopic); return(CreatedAtRoute("GetTopic", new { id = createTopicResult.TopicId }, new TransActionResponse(createTopicResult))); }
public void DeleteTopicMessage(TraTopicMessage traTopicMessage) { _context.TraTopicMessage.Remove(traTopicMessage); }
public void CreateTopicMessage(TraTopicMessage traTopicMessage) { _context.TraTopicMessage.Add(traTopicMessage); }