public ActionResult Create([TeamBinder(Fetch = false)] Team team)
        {
            if (ViewData.ModelState.IsValid && team.IsValid())
            {
                // Авторы могут создавать команды, но не бедут являться членами созданной команды
                if (!User.Role.IsAuthor)
                {
                    // Делаем текущего пользователя капитаном созданной команды
                    team.TeamLeader = User;

                    // Делаем текущего пользователя членом созданной команды
                    User.Team = team;
                }

                teamRepository.SaveOrUpdate(team);

                Message = "Команда успешно создана.";
                return(this.RedirectToAction(c => c.Index()));
            }

            TeamFormViewModel viewModel = TeamFormViewModel.CreateTeamFormViewModel();

            viewModel.Team = team;
            return(View(viewModel));
        }
        public ActionResult Edit(int id)
        {
            TeamFormViewModel viewModel = TeamFormViewModel.CreateTeamFormViewModel();

            viewModel.Team = teamRepository.Get(id);
            this.SetBreadcrumbText(viewModel.Team.Name);
            return(View(viewModel));
        }
        public ActionResult Edit([TeamBinder(Fetch = true)] Team team)
        {
            Team teamToUpdate = teamRepository.Get(team.Id);

            TransferFormValuesTo(teamToUpdate, team);

            if (ViewData.ModelState.IsValid && team.IsValid())
            {
                Message = "Команда успешно изменена.";
                return(this.RedirectToAction(c => c.Index()));
            }

            teamRepository.DbContext.RollbackTransaction();

            TeamFormViewModel viewModel = TeamFormViewModel.CreateTeamFormViewModel();

            viewModel.Team = team;
            return(View(viewModel));
        }
        public ActionResult Create()
        {
            TeamFormViewModel viewModel = TeamFormViewModel.CreateTeamFormViewModel();

            return(View(viewModel));
        }