Пример #1
0
        public string RenameFile(IFileMetaData FileName, int Position, NameExtensionHelper Helper)
        {
            Helper.Text = FileName.Name;
            string numberString;
            int    num = Position + _start;

            // Format the position number into the correct format
            switch (_numberFormat)
            {
            case NumberingFormat.LowercaseLetters:
                numberString = StringNumberConversions.NumberToString(num);
                break;

            case NumberingFormat.OneZero:
                numberString = InsertZeros(num, 1);
                break;

            case NumberingFormat.TwoZeros:
                numberString = InsertZeros(num, 2);
                break;

            case NumberingFormat.ThreeZeros:
                numberString = InsertZeros(num, 3);
                break;

            case NumberingFormat.NoZeros:
                goto default;

            default:
                numberString = num.ToString();
                break;
            }

            // This function determines the text format, we will pass it to modify in the NameExtensionHelper
            Func <String, String> _textFormatFn;

            switch (_textFormat)
            {
            case NumberingTextFormat.NumberText:
                _textFormatFn = (OldName) => numberString + _text;
                break;

            case NumberingTextFormat.NumberTextOldName:
                _textFormatFn = (OldName) => numberString + _text + OldName;
                break;

            case NumberingTextFormat.OldNameTextNumber:
                _textFormatFn = (OldName) => OldName + _text + numberString;
                break;

            case NumberingTextFormat.TextNumber:
                goto default;

            default:
                _textFormatFn = (OldName) => _text + numberString;
                break;
            }

            return(Helper.Modify(_textFormatFn));
        }
Пример #2
0
 // The start string is often a number, however for some alphabetic orderings
 // it is not a number.  This method will convert the string to the correct number
 private void FixStartString()
 {
     // First try to parse start as an int.
     if (!Int32.TryParse(_startString, out _start))
     {
         // if that fails, see if we are using the lowercase numbering format
         if (_numberFormat == NumberingFormat.LowercaseLetters)
         {
             _start = StringNumberConversions.StringToNumber(_startString);
         }
         else
         {
             // otherwise default to starting at 1
             _start = 1;
         }
     }
 }