public IActionResult CreateDiscuss(int friendId) { // Nếu không có mã định danh if (friendId <= 0) { this.NotifyError("Cannot identify who you want to discuss"); return(RedirectToAction(nameof(Index))); } // Lấy dữ liệu người dùng xem có hay không, nếu không if (!_UserManager.IsExists(friendId)) { this.NotifyError("Cannot identify who you want to discuss"); return(RedirectToAction(nameof(Index))); } // Kiểm tra xem nhóm đã có hay chưa Discussion discussion = _DiscussionManager.GetExistP2PDiscuss(User.Id(), friendId); // Nếu đã có, chuyển về cuộc hội thoại if (discussion != null && discussion.Id > 0) { this.NotifySuccess("Entered the discussion"); RedirectToAction(nameof(Messages), discussion.Id); } // Nếu nhóm chưa có, tạo nhóm discussion = new Discussion { CreatorId = User.Id() }; // Lưu nhóm _DiscussionManager.Add(discussion); // Tạo thành viên DiscussionUser discussionUser = new DiscussionUser { UserId = friendId, DiscussionId = discussion.Id }; // Lưu thành viên _DiscussionUserManager.Add(discussionUser); this.NotifySuccess("Entered the discussion"); // Chuyển đến màn hình hội thoại return(RedirectToAction(nameof(Messages), discussion.Id)); }
/// <summary> /// /// </summary> /// <param name="discussionViewModel"></param> /// <returns></returns> public DiscussionViewModel CreateDiscussion(DiscussionViewModel discussionViewModel) { DiscussionViewModel model = new DiscussionViewModel(); try { Discussion discussion = ObjectMapper.Map <DiscussionViewModel, Discussion>(discussionViewModel); discussion = DiscussionManager.Add(discussion); model = ObjectMapper.Map <Discussion, DiscussionViewModel>(discussion); } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing); } return(model); }