public ActionResult Search(SearchModel model) { if (model.TransferResult != null) { } else if (model.DismissResult != null) { IList<int> projectIds = model.DismissResult.Items .Where(i => i.Selected) .Select(i => i.ProjectId) .ToList(); _authService.Dismiss(model.UserId, projectIds); } else { if (!ModelState.IsValid) { return View(model); } int userId = _registerService.GetUserByName(model.UserName); if (userId == 0) { ModelState.AddModelError("UserName", "* 用户名不存在"); return View(model); } if (model.ResultFor == ResultFor.Transfer) { model = _teamService.GroupedByRole(userId); } else if (model.ResultFor == ResultFor.Dismiss) { model.DismissResult = new DismissSearchResultModel { Items = _teamService.GroupedByProject(userId) }; } model.UserId = userId; TempData["SearchResult"] = model; } return RedirectToAction("Search"); }
public SearchModel GroupedByRole(int userId) { SearchModel model = new SearchModel { TransferResult = new TransferSearchResultModel() }; var groupedAsAccepters = groupedInRole(userId, Role.Accepter).ToList(); groupedAsAccepters.ForEach(m => m.Role = Role.Accepter); model.TransferResult.AsAccepter = groupedAsAccepters; var groupedAsOwner = groupedInRole(userId, Role.Owner).ToList(); groupedAsOwner.ForEach(m => m.Role = Role.Owner); model.TransferResult.AsOwner = groupedAsOwner; var groupedAsPublisher = groupedInRole(userId, Role.Publisher).ToList(); groupedAsPublisher.ForEach(m => m.Role = Role.Publisher); model.TransferResult.AsPublisher = groupedAsPublisher; return model; }