public string Execute(IList <string> inputParameters) { string teamToChangeFeedbackStatusFor = inputParameters[0]; string boardToChangeFeedbackStatusFor = inputParameters[1]; string feedbackToChangeStatusFor = inputParameters[2]; string newFeedbackStatus = inputParameters[3]; string authorOfFeedbackStatusChange = inputParameters[4]; //Validations var feedbackTypeForChecking = "Feedback Title"; inputValidator.IsNullOrEmpty(feedbackToChangeStatusFor, feedbackTypeForChecking); var teamTypeForChecking = "Team Name"; inputValidator.IsNullOrEmpty(teamToChangeFeedbackStatusFor, teamTypeForChecking); var boardTypeForChecking = "Board Name"; inputValidator.IsNullOrEmpty(boardToChangeFeedbackStatusFor, boardTypeForChecking); var statusTypeForChecking = "Status"; inputValidator.IsNullOrEmpty(newFeedbackStatus, statusTypeForChecking); var authorTypeForChecking = "Author"; inputValidator.IsNullOrEmpty(authorOfFeedbackStatusChange, authorTypeForChecking); businessLogicValidator.ValidateTeamExistance(allTeams, teamToChangeFeedbackStatusFor); businessLogicValidator.ValidateBoardExistanceInTeam(allTeams, boardToChangeFeedbackStatusFor, teamToChangeFeedbackStatusFor); businessLogicValidator.ValidateNoSuchFeedbackInBoard(allTeams, boardToChangeFeedbackStatusFor, teamToChangeFeedbackStatusFor, feedbackToChangeStatusFor); //Operations var itemType = "Feedback"; var isEnumConvertable = Enum.TryParse(newFeedbackStatus, out FeedbackStatus newStatusEnum); inputValidator.IsEnumConvertable(isEnumConvertable, "Status"); var feedbackForStatusChange = allTeams.FindFeedbackAndCast(teamToChangeFeedbackStatusFor, boardToChangeFeedbackStatusFor, feedbackToChangeStatusFor); feedbackOperations.ChangeFeedbackStatus(feedbackForStatusChange, newStatusEnum); var memberToAddActivityFor = allTeams.FindMemberInTeam(teamToChangeFeedbackStatusFor, authorOfFeedbackStatusChange); var teamToAddActivityFor = allTeams.AllTeamsList[teamToChangeFeedbackStatusFor]; var feedbackToAddActivityFor = allTeams.FindWorkItem(teamToChangeFeedbackStatusFor, itemType, boardToChangeFeedbackStatusFor, feedbackToChangeStatusFor); var teamToFindIn = allTeams.AllTeamsList[teamToChangeFeedbackStatusFor]; var boardToAddActivityFor = allTeams.FindBoardInTeam(teamToChangeFeedbackStatusFor, boardToChangeFeedbackStatusFor); boardOperations.AddActivityHistoryToBoard(boardToAddActivityFor, memberToAddActivityFor, feedbackToAddActivityFor, newFeedbackStatus); memberOpertaions.AddActivityHistoryToMember(memberToAddActivityFor, feedbackToAddActivityFor, teamToFindIn, boardToAddActivityFor, newFeedbackStatus); feedbackOperations.AddActivityHistoryToWorkItem(feedbackToAddActivityFor, memberToAddActivityFor, newFeedbackStatus); return(string.Format(FeedbackStatusChanged, feedbackToChangeStatusFor, newStatusEnum)); }
public string Execute(IList <string> inputParameters) { string teamToChangeFeedbackRatingFor = inputParameters[0]; string boardToChangeFeedbackRatingFor = inputParameters[1]; string feedbackToChangeRatingFor = inputParameters[2]; string newFeedbackRating = inputParameters[3]; string authorOfFeedbackRatingChange = inputParameters[4]; //Validations var feedbackTypeForChecking = "Feedback Title"; inputValidator.IsNullOrEmpty(feedbackToChangeRatingFor, feedbackTypeForChecking); var teamTypeForChecking = "Team Name"; inputValidator.IsNullOrEmpty(teamToChangeFeedbackRatingFor, teamTypeForChecking); var boardTypeForChecking = "Board Name"; inputValidator.IsNullOrEmpty(boardToChangeFeedbackRatingFor, boardTypeForChecking); var ratingTypeForChecking = "Rating"; inputValidator.IsNullOrEmpty(newFeedbackRating, ratingTypeForChecking); var authorTypeForChecking = "Author"; inputValidator.IsNullOrEmpty(authorOfFeedbackRatingChange, authorTypeForChecking); businessLogicValidator.ValidateTeamExistance(allTeams, teamToChangeFeedbackRatingFor); businessLogicValidator.ValidateBoardExistanceInTeam(allTeams, boardToChangeFeedbackRatingFor, teamToChangeFeedbackRatingFor); businessLogicValidator.ValidateNoSuchFeedbackInBoard(allTeams, boardToChangeFeedbackRatingFor, teamToChangeFeedbackRatingFor, feedbackToChangeRatingFor); var integerRating = inputValidator.ValidateRatingConversion(newFeedbackRating); //Operations var itemType = "Feedback"; var castedFeedbackForRatingChange = allTeams.FindFeedbackAndCast(teamToChangeFeedbackRatingFor, boardToChangeFeedbackRatingFor, feedbackToChangeRatingFor); feedbackOperations.ChangeFeedbackRating(castedFeedbackForRatingChange, integerRating); var memberToAddActivityFor = allTeams.FindMemberInTeam(teamToChangeFeedbackRatingFor, authorOfFeedbackRatingChange); var teamToAddActivityFor = allTeams.AllTeamsList[teamToChangeFeedbackRatingFor]; var feedbackToAddActivityFor = allTeams.FindWorkItem(teamToChangeFeedbackRatingFor, itemType, boardToChangeFeedbackRatingFor, feedbackToChangeRatingFor); var teamToFindIn = allTeams.AllTeamsList[teamToChangeFeedbackRatingFor]; var boardToAddActivityFor = allTeams.FindBoardInTeam(teamToChangeFeedbackRatingFor, boardToChangeFeedbackRatingFor); boardOperations.AddActivityHistoryToBoard(boardToAddActivityFor, memberToAddActivityFor, feedbackToAddActivityFor, newFeedbackRating); memberOpertaions.AddActivityHistoryToMember(memberToAddActivityFor, feedbackToAddActivityFor, teamToFindIn, boardToAddActivityFor, newFeedbackRating); feedbackOperations.AddActivityHistoryToWorkItem(feedbackToAddActivityFor, memberToAddActivityFor, newFeedbackRating); return(string.Format(FeedbackRatingChanged, feedbackToChangeRatingFor, integerRating)); }