public string Execute(IList <string> inputParameters) { //Assign Values From List Of Parameters string teamToAddCommentToWorkItemFor = inputParameters[0]; string boardToAddCommentToWorkItemFor = inputParameters[1]; string itemTypeToAddWorkItemFor = inputParameters[2]; string workitemToAddCommentFor = inputParameters[3]; string authorOfComment = inputParameters[4]; string commentToAdd = inputParameters[5]; //Validations var itemTypeForChecking = "Item Title"; inputValidator.IsNullOrEmpty(workitemToAddCommentFor, itemTypeForChecking); var teamTypeForChecking = "Team Name"; inputValidator.IsNullOrEmpty(teamToAddCommentToWorkItemFor, teamTypeForChecking); var boardTypeForChecking = "Board Name"; inputValidator.IsNullOrEmpty(boardToAddCommentToWorkItemFor, boardTypeForChecking); var authorTypeForChecking = "Author"; inputValidator.IsNullOrEmpty(authorOfComment, authorTypeForChecking); businessLogicValidator.ValidateTeamExistance(allTeams, teamToAddCommentToWorkItemFor); businessLogicValidator.ValidateBoardExistanceInTeam(allTeams, boardToAddCommentToWorkItemFor, teamToAddCommentToWorkItemFor); businessLogicValidator.ValidateIfAnyWorkItemsExist(allTeams); businessLogicValidator.ValidateItemExistanceInBoard(allTeams, boardToAddCommentToWorkItemFor, teamToAddCommentToWorkItemFor, workitemToAddCommentFor); //Operations var workItemToAddCommentTo = allTeams.FindWorkItem(teamToAddCommentToWorkItemFor, itemTypeToAddWorkItemFor, boardToAddCommentToWorkItemFor, workitemToAddCommentFor); workItemOperations.AddComment(workItemToAddCommentTo, commentToAdd, authorOfComment); return(string.Format(AddedCommentFor, commentToAdd, authorOfComment, itemTypeToAddWorkItemFor, workitemToAddCommentFor)); }