Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
 private string GetTimeFormat(ComposeMode mode)
 {
     return(mode switch
     {
         ComposeMode.Date => "yyyyMMdd",
         ComposeMode.DateTime => "yyyyMMdd_HHmmss",
         _ => throw new ShouldNotOccurException("Invalid time format."),
     });
Ejemplo n.º 4
0
        private string ValidateMode(ComposeMode mode)
        {
            if (mode == ComposeMode.Unknown)
            {
                return("Compose mode unknown.");
            }

            return(string.Empty);
        }
Ejemplo n.º 5
0
 public ComposeInstructions(ComposeMode mode, string customText, List <FileInformation> files)
 {
     Mode       = mode;
     CustomText = customText;
     Files      = files;
 }
Ejemplo n.º 6
0
 public ComposeInstructions(ComposeMode mode, List <FileInformation> files)
 {
     Mode  = mode;
     Files = files;
 }