public Answer(bool?yesno = null, SortCriteriaParameters sortcriteriaparameters = null, Criteria chosencriteria = 0, bool?stopprogram = null) { Yes = yesno; SortCriteriaParameters = sortcriteriaparameters; ChosenCriteria = chosencriteria; StopProgram = stopprogram; }
public ISortCommand GetSortCommand(Criteria sortcriteria, SortCriteriaParameters sortcriteriaparameters, bool keeporiginalreplaynames, Sorter sorter) { // how to write this properly? if (sortcriteria.HasFlag(Criteria.PLAYERNAME)) { return(new SortOnPlayerName(sortcriteriaparameters, keeporiginalreplaynames, sorter)); } else if (sortcriteria.HasFlag(Criteria.GAMETYPE)) { return(new SortOnGameType(sortcriteriaparameters, keeporiginalreplaynames, sorter)); } else if (sortcriteria.HasFlag(Criteria.MATCHUP)) { return(new SortOnMatchUp(sortcriteriaparameters, keeporiginalreplaynames, sorter)); } else if (sortcriteria.HasFlag(Criteria.MAP)) { return(new SortOnMap(sortcriteriaparameters, keeporiginalreplaynames, sorter)); } else if (sortcriteria.HasFlag(Criteria.DURATION)) { return(new SortOnDuration(sortcriteriaparameters, keeporiginalreplaynames, sorter)); } else { return(null); } }
//TODO sorting needs to start with the original names, and then progressively work with the filename....?? public void ExecuteSort(SortCriteriaParameters sortcriteriaparameters, bool keeporiginalreplaynames, List <string> replaysThrowingExceptions) { ReplayHandler.SaveReplayFilePaths(OriginalListReplays); // why do i need this silly string array with the original order... IDictionary <string, List <File <IReplay> > > SortOnXResult = null; for (int i = 0; i < CriteriaStringOrder.Length; i++) { // should I pass a new sorter instead of this?? Then I don't have to make separate property OriginalDirectory var SortOnX = Factory.GetSortCommand((Criteria)Enum.Parse(typeof(Criteria), CriteriaStringOrder[i]), sortcriteriaparameters, i == 0 ? keeporiginalreplaynames : true, this); if (i == 0) { SortOnXResult = SortOnX.Sort(replaysThrowingExceptions); } else { // nested sort SortOnX.IsNested = true; SortOnXResult = NestedSort(SortOnX, SortOnXResult, replaysThrowingExceptions); } } ReplayHandler.RestoreToSavedStateAndClearFuture(OriginalListReplays); }
public Answer(SortCriteriaParameters sortcriteriaparameters) { SortCriteriaParameters = sortcriteriaparameters; }
public SortOnMap(SortCriteriaParameters sortcriteriaparameters, bool keeporiginalreplaynames, Sorter sorter) { SortCriteriaParameters = sortcriteriaparameters; KeepOriginalReplayNames = keeporiginalreplaynames; Sorter = sorter; }