private bool GetFinalPatternIndexesAndCounts(out int seasonIndex, out int seasonCount, out int episodeIndex, out int episodeCount) { string fileNameWE = FileNameWithoutExtension.ToLower(); seasonIndex = 0; do { episodeIndex = -1; seasonCount = episodeCount = 0; while (seasonIndex < fileNameWE.Length && fileNameWE[seasonIndex] != 's') { seasonIndex++; } seasonIndex++; while (seasonIndex + seasonCount < fileNameWE.Length && char.IsNumber(fileNameWE[seasonIndex + seasonCount])) { seasonCount++; } if (seasonIndex + seasonCount < fileNameWE.Length && fileNameWE[seasonIndex + seasonCount] == 'e') { episodeIndex = seasonIndex + seasonCount + 1; while (episodeIndex + episodeCount < fileNameWE.Length && char.IsNumber(fileNameWE[episodeIndex + episodeCount])) { episodeCount++; } if (seasonIndex != -1 && seasonCount != 0 && episodeIndex != -1 && episodeCount != 0) { return(true); } } seasonIndex++; }while (seasonIndex < fileNameWE.Length); return(false); }
private void SetNameFromFinalPattern(int startIndex) { string fileNameWE = FileNameWithoutExtension.ToLower(); while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == ' ') { startIndex++; } while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == '-') { startIndex++; } while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == ' ') { startIndex++; } if (startIndex >= fileNameWE.Length) { return; } Name = FileNameWithoutExtension.Remove(0, startIndex).TrimStart(' ').TrimEnd(' '); }