Exemple #1
0
        public string Execute(IList <string> inputParameters)
        {
            //Validations
            businessLogicValidator.ValidateIfAnyWorkItemsExist(allTeams);

            businessLogicValidator.ValidateIfAnyBugsExist(allTeams);

            //Operations
            var AllWorkItems = allTeams.AllTeamsList.Values
                               .SelectMany(x => x.Boards)
                               .SelectMany(x => x.WorkItems)
                               .Where(x => x.GetType() == typeof(Bug))
                               .ToList();

            StringBuilder sb = new StringBuilder();

            sb.AppendLine("----ALL BUGS IN APPLICAITION----");
            long workItemCounter = 1;

            foreach (var item in AllWorkItems)
            {
                sb.AppendLine($"{workItemCounter}. {item.GetType().Name} with name: {item.Title} ");
                workItemCounter++;
            }
            sb.AppendLine("---------------------------------");

            var resultedAllItems = sb.ToString().Trim();

            return(string.Format(resultedAllItems));
        }
        public string Execute(IList <string> inputParameters)
        {
            //Assign Values From List Of Parameters
            string statusToFilterBugFor = inputParameters[0];

            //Validations
            var statusTypeForChecking = "Status";

            inputValidator.IsNullOrEmpty(statusToFilterBugFor, statusTypeForChecking);

            businessLogicValidator.ValidateIfAnyWorkItemsExist(allTeams);

            businessLogicValidator.ValidateIfAnyBugsExist(allTeams);

            //Operations
            var isPriorityEnumConvertable = Enum.TryParse(statusToFilterBugFor, out BugStatus bugStatusToCheckFor);

            inputValidator.IsEnumConvertable(isPriorityEnumConvertable, "Status");


            var filteredBugsByStatus = allTeams.AllTeamsList.Values
                                       .SelectMany(x => x.Boards)
                                       .SelectMany(x => x.WorkItems)
                                       .Where(x => x.GetType() == typeof(Bug))
                                       .Select(workItem => (Bug)workItem)
                                       .Where(bug => bug.BugStatus == bugStatusToCheckFor)
                                       .ToList();


            StringBuilder sb = new StringBuilder();
            long          workItemCounter = 1;

            if (filteredBugsByStatus.Count == 0)
            {
                sb.AppendLine($"There are no Bugs with: {statusToFilterBugFor} Status in the app yet!");
            }
            else
            {
                sb.AppendLine($"----ALL BUGS WITH {statusToFilterBugFor} STATUS IN APPLICAITION----");
                foreach (var item in filteredBugsByStatus)
                {
                    sb.AppendLine($"{workItemCounter}. {item.GetType().Name} with name: {item.Title} ");
                    workItemCounter++;
                }
                sb.AppendLine("---------------------------------");
            }

            var resultedAllItems = sb.ToString().Trim();

            return(string.Format(resultedAllItems));
        }
        public string Execute(IList <string> inputParameters)
        {
            //Assign Values From List Of Parameters
            string assigneeToFilterBugFor = inputParameters[0];

            //Validations
            var assigneeTypeForChecking = "Assignee";

            inputValidator.IsNullOrEmpty(assigneeToFilterBugFor, assigneeTypeForChecking);

            businessLogicValidator.ValidateIfAnyWorkItemsExist(allTeams);

            businessLogicValidator.ValidateIfAnyBugsExist(allTeams);

            //Operations
            var filteredBugsByAssignee = allTeams.AllTeamsList.Values
                                         .SelectMany(x => x.Boards)
                                         .SelectMany(x => x.WorkItems)
                                         .Where(x => x.GetType() == typeof(Bug))
                                         .Select(workItem => (Bug)workItem)
                                         .Where(bug => bug.Assignee.Name == assigneeToFilterBugFor)
                                         .ToList();


            StringBuilder sb = new StringBuilder();
            long          workItemCounter = 1;

            if (filteredBugsByAssignee.Count == 0)
            {
                sb.AppendLine($"There are no Bugs with: {assigneeToFilterBugFor} Assignee in the app yet!");
            }
            else
            {
                sb.AppendLine($"----ALL BUGS ASSIGNED TO MEMBER: {assigneeToFilterBugFor} IN APPLICAITION----");
                foreach (var item in filteredBugsByAssignee)
                {
                    sb.AppendLine($"{workItemCounter}. {item.GetType().Name} with name: {item.Title} ");
                    workItemCounter++;
                }
                sb.AppendLine("---------------------------------");
            }

            var resultedAllItems = sb.ToString().Trim();

            return(string.Format(resultedAllItems));
        }
Exemple #4
0
        public string Execute(IList <string> inputParameters)
        {
            //Assign Values From List Of Parameters
            string factorToSortBy = inputParameters[0];

            //Validations
            var factorTypeForChecking = $"{factorToSortBy}";

            inputValidator.IsNullOrEmpty(factorToSortBy, factorTypeForChecking);

            businessLogicValidator.ValidateIfAnyWorkItemsExist(allTeams);

            businessLogicValidator.ValidateIfAnyBugsExist(allTeams);

            //Operations
            var filteredBugs = new List <Bug>();

            if (factorToSortBy.ToLower() == "title")
            {
                filteredBugs = allTeams.AllTeamsList.Values
                               .SelectMany(x => x.Boards)
                               .SelectMany(x => x.WorkItems)
                               .Where(x => x.GetType() == typeof(Bug))
                               .Select(workItem => (Bug)workItem)
                               .OrderBy(bugToOrder => bugToOrder.Title)
                               .ToList();
            }
            else if (factorToSortBy.ToLower() == "priority")
            {
                filteredBugs = allTeams.AllTeamsList.Values
                               .SelectMany(x => x.Boards)
                               .SelectMany(x => x.WorkItems)
                               .Where(x => x.GetType() == typeof(Bug))
                               .Select(workItem => (Bug)workItem)
                               .OrderBy(bugToOrder => bugToOrder.Priority)
                               .ToList();
            }
            else if (factorToSortBy.ToLower() == "severity")
            {
                filteredBugs = allTeams.AllTeamsList.Values
                               .SelectMany(x => x.Boards)
                               .SelectMany(x => x.WorkItems)
                               .Where(x => x.GetType() == typeof(Bug))
                               .Select(workItem => (Bug)workItem)
                               .OrderBy(bugToOrder => bugToOrder.Severity)
                               .ToList();
            }
            else if (factorToSortBy.ToLower() == "status")
            {
                filteredBugs = allTeams.AllTeamsList.Values
                               .SelectMany(x => x.Boards)
                               .SelectMany(x => x.WorkItems)
                               .Where(x => x.GetType() == typeof(Bug))
                               .Select(workItem => (Bug)workItem)
                               .OrderBy(bugToOrder => bugToOrder.BugStatus)
                               .ToList();
            }

            StringBuilder sb = new StringBuilder();

            sb.AppendLine($"----ALL BUGS IN APPLICAITION SORTED BY {factorToSortBy}----");
            long workItemCounter = 1;

            foreach (var item in filteredBugs)
            {
                sb.AppendLine($"{workItemCounter}. {item.GetType().Name} with name: {item.Title}");
                workItemCounter++;
            }
            sb.AppendLine("---------------------------------");

            var resultedAllItems = sb.ToString().Trim();

            return(string.Format(resultedAllItems));
        }