/// <summary> /// /// </summary> /// <param name="issueId">issue id</param> /// <param name="userId">user who is performing this operation</param> /// <returns>list of alternatives</returns> public List <AlternativeModel> GetIssueAlternatives(int issueId, int userId) { AlternativeModel am = new AlternativeModel(); List <AlternativeModel> list = am.ToModelList(AlternativeOp.GetIssueAlternatives(issueId, userId), am); return(list); }
/// <summary> /// updates alternatives for an issue /// </summary> /// <param name="updatedAlternatives">existing alternatives</param> /// <param name="deletedAlternatives">deleted alternatives</param> /// <param name="userId">user who is performing this operation</param> public void UpdateAlternatives(List <AlternativeModel> updatedAlternatives, List <int> deletedAlternatives, int userId) { AlternativeModel am = new AlternativeModel(); List <Alternative> updateList = am.ToEntityList(updatedAlternatives.Where(x => x.Id > 0).ToList()); List <Alternative> addedList = am.ToEntityList(updatedAlternatives.Where(x => x.Id == -1).ToList()); AlternativeOp.DeleteAlternatives(deletedAlternatives, userId); AlternativeOp.UpdateAlternatives(updateList, userId); AlternativeOp.AddAlternatives(addedList, userId); }
/// <summary> /// returns a list of alternatives to an issue /// </summary> /// <param name="issueId"></param> /// <param name="userId"></param> /// <returns></returns> public List <AlternativeModel> GetIssueAlternatives(int issueId, int userId) { AlternativeModel am = new AlternativeModel(); List <AlternativeModel> list = am.ToModelList(AlternativeOp.GetIssueAlternatives(issueId, userId), am); List <CommentModel> comments = GetComments(issueId, userId); foreach (AlternativeModel a in list) { a.Comments = comments.Where(x => x.Type == "Alternative" + a.Id).ToList(); } return(list); }
public async Task <ActionResult> CreateAlternative(AlternativeMvcModel model) { if (ModelState.IsValid) { IAlternativeModel _alternative = new AlternativeModel { ChoiceID = (Guid)Session["ChoiceID"], AlternativeName = model.AlternativeName }; var status = await _alternativeService.AddAsync(_alternative); var caltcomps = await _alternativeComparisonService.GetUnfilledAsync((Guid)Session["ChoiceID"]); if (caltcomps.Any()) { Session["AnyUnfilledAlt"] = true; } else { Session["AnyUnfilledAlt"] = false; } return(RedirectToAction("ListAlternatives", "Alternative", new { page = Session["Page"] })); } return(View()); }
/// <summary> /// notifie clients to update alnternatives /// </summary> /// <param name="alternatives">list of alternatives</param> /// <param name="user">user (as UserShortModel) who is performing this operation</param> public void UpdateAlternatives(AlternativeModel alternatives, UserShortModel user, int issueId) { Clients.All.updateAlternatives(alternatives, user, issueId); }