public static ComposeInstructions GetInstructions() { string targetDirectory = QuestionTexts.RequestDirectory(); string[] fileEntries = Directory.GetFiles(targetDirectory); var filesInformation = new List <FileInformation>(); foreach (string file in fileEntries) { filesInformation.Add( new FileInformation( file, File.GetCreationTime(file) ) ); } ; ComposeMode mode = ComposeMode.Unknown; while (mode == ComposeMode.Unknown) { mode = QuestionTexts.RequestMode(); } if (mode == ComposeMode.CustomText || mode == ComposeMode.Truncation || mode == ComposeMode.Extension) { string customText = QuestionTexts.RequestCustomText(mode); return(new ComposeInstructions(mode, customText, filesInformation)); } return(new ComposeInstructions(mode, filesInformation)); }
public ICompose Build(ComposeMode mode) { switch (mode) { case ComposeMode.Numerical: return(new NumericalComposer()); case ComposeMode.CustomText: return(new TextComposer()); case ComposeMode.DateTime: return(new DateTimeComposer()); case ComposeMode.Extension: return(new ExtensionComposer()); case ComposeMode.Truncation: return(new TruncationComposer()); case ComposeMode.Date: return(new DateTimeComposer()); case ComposeMode.Unknown: default: throw new NotImplementedException(); } }
private string GetTimeFormat(ComposeMode mode) { return(mode switch { ComposeMode.Date => "yyyyMMdd", ComposeMode.DateTime => "yyyyMMdd_HHmmss", _ => throw new ShouldNotOccurException("Invalid time format."), });
private string ValidateMode(ComposeMode mode) { if (mode == ComposeMode.Unknown) { return("Compose mode unknown."); } return(string.Empty); }
public ComposeInstructions(ComposeMode mode, string customText, List <FileInformation> files) { Mode = mode; CustomText = customText; Files = files; }
public ComposeInstructions(ComposeMode mode, List <FileInformation> files) { Mode = mode; Files = files; }