public ActionResult BrAlternatives([FromJson] BrAlternativesVM brAlternativesVM) { IssueBrAlternative iba = new IssueBrAlternative(); int userId = GetUserIdFromClaim(); iba.UpdateAlternatives(brAlternativesVM.Alternatives, brAlternativesVM.DeletedAlternatives, userId); brAlternativesVM.Alternatives = iba.GetIssueAlternatives(brAlternativesVM.Issue.Id, userId); UserShortModel user = new UserShortModel(brAlternativesVM.UserId, GetUserNameFromClaim()); var context = GlobalHost.ConnectionManager.GetHubContext <AlternativeHub>(); context.Clients.All.updateAlternatives(brAlternativesVM.Alternatives, user, brAlternativesVM.Issue.Id); if (brAlternativesVM.DeletedAlternatives != null && brAlternativesVM.DeletedAlternatives.Count > 0) { context.Clients.All.deleteAlternatives(brAlternativesVM.DeletedAlternatives, user); } brAlternativesVM.DeletedAlternatives = new List <int>(); var ctx2 = GlobalHost.ConnectionManager.GetHubContext <NotificationHub>(); ctx2.Clients.All.updateActivity(brAlternativesVM.Issue.Id, brAlternativesVM.UserId); return(View(brAlternativesVM)); }
public ActionResult BrAlternatives(int issueId) { BrAlternativesVM vm = new BrAlternativesVM(); IssueCreating ic = new IssueCreating(); int userId = GetUserIdFromClaim(); vm.Issue = ic.GetIssue(issueId); if (vm.Issue.Status == "CREATING") { return(RedirectToAction("Creating", "Issue", new { issueId = issueId })); } IssueBrAlternative iba = new IssueBrAlternative(); vm.Alternatives = iba.GetIssueAlternatives(issueId, userId); vm.AccessRight = ic.AccessRightOfUserForIssue(userId, issueId).Right; vm.UserId = userId; if (iba.MarkAsRead(issueId, userId)) { var ctx2 = GlobalHost.ConnectionManager.GetHubContext <NotificationHub>(); ctx2.Clients.All.updateActivity(issueId, userId); } return(View(vm)); }