/// <summary> /// MVC get method for alternatives evaluation (Evaulation.cshtml) /// </summary> /// <param name="issueId">issue id</param> /// <returns>alternatives evaluation view (Evaulation.cshtml)</returns> public ActionResult Evaluation(int issueId) { IssueCreating ic = new IssueCreating(); EvaluationVM evm = new EvaluationVM(); IssueEvaluation ie = new IssueEvaluation(); int userId = GetUserIdFromClaim(); evm.Issue = ic.GetIssue(issueId); if (evm.Issue.Status == "CREATING" || evm.Issue.Status == "BRAINSTORMING1" || evm.Issue.Status == "BRAINSTORMING2") { return(RedirectToAction("Creating", "Issue", new { issueId = issueId })); } //ToDo check viewsettings & issueOwner evm.AllRatings = ie.GetAllIssueRatings(issueId, userId); evm.UserRatings = ie.GetIssueUserRatings(issueId, userId); evm.Criterias = ie.GetIssueCrtieria(issueId, userId); evm.Alternatives = ie.GetIssueAlternatives(issueId, userId); evm.RatedUsers = ie.GetRatedUsersForIssue(issueId, userId); evm.RatedUserCnt = evm.RatedUsers.Count; evm.AccessRight = ic.AccessRightOfUserForIssue(userId, issueId).Right; evm.UserId = userId; if (evm.Issue.Setting == "B") { IssueCriterionWeight icw = new IssueCriterionWeight(); evm.SliderValues = ie.GetSliderValues(); evm.PairwiseRatings = ie.GetPairwiseAlternativeRatings(issueId, userId); } return(View(evm)); }
/// <summary> /// MVC get method for criteria weighting view (CriteriaRating.cshtml) /// </summary> /// <param name="issueId">issue id</param> /// <returns>criteria weighting view (CriteraRating.cshtml)</returns> public ActionResult CriteriaRating(int issueId) { CriteriaWeightsVM vm = new CriteriaWeightsVM(); IssueCreating ic = new IssueCreating(); IssueCriterionWeight icw = new IssueCriterionWeight(); int userId = GetUserIdFromClaim(); vm.Issue = ic.GetIssue(issueId); if (vm.Issue.Status == "CREATING" || vm.Issue.Status == "BRAINSTORMING1") { return(RedirectToAction("Creating", "Issue", new { issueId = issueId })); } vm.AccessRight = ic.AccessRightOfUserForIssue(userId, issueId).Right; vm.UserId = userId; if (vm.Issue.Setting == "B") { vm.PCCriteria = icw.GetPCCriteria(issueId, userId); vm.SliderValues = icw.GetSliderValues(); } vm.UserWeights = icw.GetUserWeights(issueId, userId); vm.OtherWeights = icw.GetIssueWeights(issueId, userId); vm.VotedUsers = new List <UserWithCW>(); int i = 0; foreach (List <CriterionWeightModel> cwmL in vm.OtherWeights) { vm.VotedUsers.Add(new UserWithCW(cwmL.FirstOrDefault().UserId, cwmL.FirstOrDefault().Name)); vm.VotedUsers[i].UserCriterionWeights = vm.OtherWeights[i]; i++; } return(View(vm)); }
public ActionResult CriteriaRating([FromJson] CriteriaWeightsVM criteriaWeightsVM) { IssueCriterionWeight icw = new IssueCriterionWeight(); if (criteriaWeightsVM.Issue.Setting == "A") { icw.SaveCriterionWeights(criteriaWeightsVM.UserWeights, criteriaWeightsVM.Issue.Id, GetUserIdFromClaim()); var context = GlobalHost.ConnectionManager.GetHubContext <NotificationHub>(); context.Clients.All.updateCriteriaWeights(criteriaWeightsVM.UserWeights, new UserShortModel(criteriaWeightsVM.UserId, GetUserNameFromClaim())); var ctx2 = GlobalHost.ConnectionManager.GetHubContext <NotificationHub>(); ctx2.Clients.All.updateActivity(criteriaWeightsVM.Issue.Id, criteriaWeightsVM.UserId); } else if (criteriaWeightsVM.Issue.Setting == "B") { icw.SavePCCriteria(criteriaWeightsVM.PCCriteria, criteriaWeightsVM.UserId, GetUserNameFromClaim()); } return(View(criteriaWeightsVM)); }
public bool SaveCriteriaWeightsAHP(int issueId, List <PairwiseComparisonCriterionModel> list) { int userId = GetUserIdFromClaim(); string userName = GetUserNameFromClaim(); IssueCriterionWeight icw = new IssueCriterionWeight(); List <CriterionWeightModel> cwList = icw.SavePCCriteria(list, userId, userName); var context = GlobalHost.ConnectionManager.GetHubContext <NotificationHub>(); context.Clients.All.updateCriteriaWeights(cwList, new UserShortModel(userId, userName)); var ctx2 = GlobalHost.ConnectionManager.GetHubContext <NotificationHub>(); ctx2.Clients.All.updateActivity(issueId, userId); if (cwList.Count == 0) { return(false); } else { return(true); } }