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");
        }
Example #2
0
        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;
        }