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));
        }
示例#2
0
        public async Task <TasksAllParams> GetTasksAllParamsForMember(int teamMemberId, int sprintId)
        {
            var allSprints = await _sprintRepository.GetAllAsync();

            var currentSprint = allSprints.FirstOrDefault(s => s.Id == sprintId);

            if (currentSprint == null)
            {
                return(TasksAllParams.Create(0, 0, 0, 0, 0, 0, 0));
            }
            else if (currentSprint.Tasks == null)
            {
                return(TasksAllParams.Create(0, 0, 0, 0, 0, 0, 0));
            }

            var allMemberTasks     = currentSprint.Tasks.Where(t => t.MemberId == teamMemberId).ToList();
            var sprint             = allSprints.Where(t => t.Id == sprintId).FirstOrDefault(t => t.Id == sprintId);
            var spCompletedTasks   = 0;
            var spUnCompletedTasks = 0;
            var totalStoryPoints   = 0;

            foreach (var memberTask in allMemberTasks)
            {
                if (memberTask.Completed == true)
                {
                    spCompletedTasks += memberTask.StoryPoints;
                }
                else
                {
                    spUnCompletedTasks += memberTask.StoryPoints;
                }

                totalStoryPoints += memberTask.StoryPoints;
            }

            var quantityСompletedTasks   = allMemberTasks.Count(t => t.Completed == true);
            var quantityUnСompletedTasks = allMemberTasks.Count(t => t.Completed == false);
            var teamMemberTotalSp        = spCompletedTasks + spUnCompletedTasks;
            var tasksAllParams           = TasksAllParams.Create(spCompletedTasks, spUnCompletedTasks, totalStoryPoints, quantityСompletedTasks, quantityUnСompletedTasks, teamMemberTotalSp);

            return(tasksAllParams);
        }
 private ResultsTasksForMemberViewModel(Business.Models.Sprint completedSprint,
                                        Business.Models.TeamMember member,
                                        List <TaskViewModel> tasks,
                                        TasksAllParams tasksAllParams,
                                        List <TeamMemberViewModel> teamMemberViewModels)
 {
     TeamMemberId             = member.Id;
     TeamId                   = completedSprint.TeamId;
     CompletedSprintId        = completedSprint.Id;
     TeamMemberEmail          = member.Member.UserName;
     SprintName               = completedSprint.Name;
     Tasks                    = tasks;
     TeamMembers              = teamMemberViewModels;
     TotalStoryPoints         = tasksAllParams.TotalStoryPoints;
     QuantityСompletedTasks   = tasksAllParams.QuantityСompletedTasks;
     QuantityUnСompletedTasks = tasksAllParams.QuantityUnСompletedTasks;
     SpСompletedTasks         = tasksAllParams.SpCompletedTasks;
     SpUnСompletedTasks       = tasksAllParams.SpUnCompletedTasks;
     StoryPointsInDay         = tasksAllParams.StoryPointsInDay;
 }
示例#4
0
        public async System.Threading.Tasks.Task GetTasksAllParamsForMemberTests_FromManageTaskService(TasksAllParams allParamsExcepted,
                                                                                                       int teamMemberId,
                                                                                                       int sprintId)
        {
            //Act
            var result = await _manageTasksService.GetTasksAllParamsForMember(teamMemberId, sprintId);

            //Assert
            Assert.AreEqual(allParamsExcepted, result);
        }