예제 #1
0
        public async Task <IActionResult> ChangeStatusSprint(int sprintId, int status)
        {
            var currentSprint = await _manageSprintsService.GetSprintAsync(sprintId, false);

            var currentSprintTeam = await _manageSprintsService.GetTeam(currentSprint.TeamId);

            var sprints = await _manageSprintsService.GetAllSprintsAsync(currentSprintTeam.Id, new DisplayOptions());

            if (IsStatusCanBeChanged(currentSprint.Status, status))
            {
                var activeSprint = sprints.FirstOrDefault(i => i.Status == PossibleStatuses.ActiveStatus);

                if (activeSprint != null &&
                    status == PossibleStatuses.ActiveStatus &&
                    activeSprint.Id != currentSprint.Id)
                {
                    var errorChangeStatusViewModel = ErrorChangeStatusViewModel.Create(currentSprint.Name,
                                                                                       _localizer["ActiveFieldError"]);
                    return(RedirectToAction("ErrorChangeStatus", errorChangeStatusViewModel));
                }

                currentSprint.SetStatus(status);
                var result = await EditSprintAsync(currentSprint);

                if (result)
                {
                    return(RedirectToAction("AllSprints", new { teamId = currentSprintTeam.Id }));
                }
                else
                {
                    var errorChangeStatusViewModel = ErrorChangeStatusViewModel.Create(currentSprint.Name,
                                                                                       _localizer["ErrorWhileEdit"]);
                    return(RedirectToAction("ErrorChangeStatus", errorChangeStatusViewModel));
                }
            }
            else
            {
                var errorChangeStatusViewModel = ErrorChangeStatusViewModel.Create(currentSprint.Name,
                                                                                   _localizer["CantChangeStatus"]);
                return(RedirectToAction("ErrorChangeStatus", errorChangeStatusViewModel));
            }
        }
예제 #2
0
 public IActionResult ErrorChangeStatus(ErrorChangeStatusViewModel errorChangeStatusViewModel)
 {
     return(View(errorChangeStatusViewModel));
 }
예제 #3
0
 public IActionResult ErrorChangeStatus(ErrorChangeStatusViewModel errorChangeStatusViewModel) => View(errorChangeStatusViewModel);