Пример #1
0
        public static AllTasksForTeamViewModel Create(Business.Models.Team team,
                                                      bool isOwner,
                                                      List <Business.Models.Sprint> sprints,
                                                      List <Business.Models.Task> tasks)
        {
            var teamMemberViewModels = new List <TeamMemberViewModel>();
            var sprintViewModels     = new List <SprintViewModel>();
            var taskViewModels       = new List <TaskViewModel>();

            foreach (var teamMember in team.TeamMembers)
            {
                var teamMemberViewModel = TeamMemberViewModel.Create(teamMember);
                teamMemberViewModels.Add(teamMemberViewModel);
            }

            foreach (var sprint in sprints)
            {
                var sprintViewModel = SprintViewModel.Create(sprint, isOwner, 0);
                sprintViewModels.Add(sprintViewModel);
            }

            foreach (var task in tasks)
            {
                var taskViewModel = TaskViewModel.Create(task);
                taskViewModels.Add(taskViewModel);
            }

            return(new AllTasksForTeamViewModel(team, isOwner, teamMemberViewModels, sprintViewModels, taskViewModels));
        }
        public static ResultsTasksForMemberViewModel Create(Business.Models.Sprint completedSprint,
                                                            Business.Models.TeamMember currentMember,
                                                            TasksAllParams tasksAllParams)
        {
            var allMemberTasks = completedSprint.Tasks.Where(t => t.MemberId == currentMember.Id).ToList();
            var allSprintTasks = completedSprint.Tasks.ToList();

            var taskViewModelsForMember = new List <TaskViewModel>();

            foreach (var taskMember in allMemberTasks)
            {
                var taskViewModelForMember = TaskViewModel.Create(taskMember);
                taskViewModelsForMember.Add(taskViewModelForMember);
            }

            var teamMemberViewModels = new List <TeamMemberViewModel>();

            foreach (var task in allSprintTasks)
            {
                if (task.TeamMember != null)
                {
                    var teamMemberViewModel = TeamMemberViewModel.Create(task.TeamMember);
                    teamMemberViewModels.Add(teamMemberViewModel);
                }
            }

            return(new ResultsTasksForMemberViewModel(completedSprint, currentMember, taskViewModelsForMember, tasksAllParams, teamMemberViewModels));
        }
Пример #3
0
        public async Task <IActionResult> AddTaskAsync(TaskFormViewModel taskFormViewModel)
        {
            if (ModelState.IsValid)
            {
                if (taskFormViewModel.LinkValidation == null && !Regex.IsMatch(taskFormViewModel.TaskLink,
                                                                               @"^(?:http(s):\/\/)(github\.com\/)|(bitbucket\.org\/)[\w\d\S]+(\/[\w\d\S]+)*$"))
                {
                    return(RedirectToAction("AddTask", new { teamId = taskFormViewModel.TeamId,
                                                             sprintId = taskFormViewModel.TaskSprintId, errorMessage = _localizer["LinkFieldError"] }));
                }
                else if (taskFormViewModel.LinkValidation != null && !Regex.IsMatch(taskFormViewModel.TaskLink,
                                                                                    @"^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$"))
                {
                    return(RedirectToAction("AddTask", new { teamId = taskFormViewModel.TeamId,
                                                             sprintId = taskFormViewModel.TaskSprintId, errorMessage = _localizer["LinkFieldError"] }));
                }

                var task = Business.Models.Task.Create(taskFormViewModel.TaskId,
                                                       taskFormViewModel.TeamId,
                                                       null,
                                                       taskFormViewModel.TaskName,
                                                       taskFormViewModel.TaskStoryPoints,
                                                       taskFormViewModel.TaskLink,
                                                       taskFormViewModel.TaskSprintId,
                                                       taskFormViewModel.TaskMemberId);

                var isOwner = await _accessCheckService.IsOwnerAsync(task.TeamId);

                if (!isOwner)
                {
                    return(RedirectToAction("NotOwnerError", new { teamId = taskFormViewModel.TeamId }));
                }

                var result = await _manageTasksService.AddTaskAsync(task);

                if (result)
                {
                    return(RedirectToAction("GetSprintById", "ManageSprints", new { sprintId = taskFormViewModel.TaskSprintId }));
                }
                else
                {
                    return(RedirectToAction("AddTaskError", new { teamId = taskFormViewModel.TeamId }));
                }
            }

            var teamMembers = await GetAllTeamMembersAsync(taskFormViewModel.TeamId);

            taskFormViewModel.TeamMembers = new List <TeamMemberViewModel>();

            foreach (var teamMember in teamMembers)
            {
                var teamMemberViewModel = TeamMemberViewModel.Create(teamMember);
                taskFormViewModel.TeamMembers.Add(teamMemberViewModel);
            }

            return(View(taskFormViewModel));
        }
Пример #4
0
        private TaskViewModel(Business.Models.Task task)
        {
            TeamMember = task.MemberId != null?TeamMemberViewModel.Create(task.TeamMember) : null;

            TeamId      = task.TeamId;
            Name        = task.Name;
            SprintId    = task.SprintId;
            MemberId    = task.MemberId;
            StoryPoints = task.StoryPoints;
            Id          = task.Id;
            Link        = task.Link;
            Completed   = task.Completed;
        }
Пример #5
0
        public static TeamViewModel Create(Business.Models.Team team, bool isOwner, List <Business.Models.TeamMember> allTeamMembers)
        {
            var teamMemberViewModels = new List <TeamMemberViewModel>();

            if (allTeamMembers.Count > 0)
            {
                foreach (var teamMember in allTeamMembers)
                {
                    var newTeamMemberViewModel = TeamMemberViewModel.Create(teamMember);
                    teamMemberViewModels.Add(newTeamMemberViewModel);
                }
            }
            else
            {
                foreach (var teamMember in team.TeamMembers)
                {
                    var newTeamMemberViewModel = TeamMemberViewModel.Create(teamMember);
                    teamMemberViewModels.Add(newTeamMemberViewModel);
                }
            }

            return(new TeamViewModel(team, isOwner, teamMemberViewModels));
        }
Пример #6
0
        public static TaskFormViewModel Create(Business.Models.Task task,
                                               string errorMessage,
                                               List <Business.Models.TeamMember> teamMembers,
                                               List <Business.Models.Sprint> sprints)
        {
            var    teamMember           = teamMembers.FirstOrDefault(t => t.Id == task.MemberId);
            var    teamMemberViewModels = new List <TeamMemberViewModel>();
            string taskMemberName;

            if (teamMember != null)
            {
                taskMemberName = teamMember.Member.UserName;
            }
            else
            {
                taskMemberName = "";
            }

            foreach (var member in teamMembers)
            {
                if (member != null)
                {
                    var teamMemberViewModel = TeamMemberViewModel.Create(member);
                    teamMemberViewModels.Add(teamMemberViewModel);
                }
            }

            var sprintViewModels = new List <SprintViewModel>();

            foreach (var sprint in sprints)
            {
                var sprintViewModel = SprintViewModel.Create(sprint, false, 0);
                sprintViewModels.Add(sprintViewModel);
            }

            return(new TaskFormViewModel(task, taskMemberName, errorMessage, teamMemberViewModels));
        }