public async Task Download(string[] middlePath) { await CoursesClient.LazyRefresh(); await GetNameFromUrlNow(); string filename; switch (SharedVars.NamingMethod) { case NamingMethod.CoursesName: filename = FileFromCourses.FileNameAndExtensionOnly; break; case NamingMethod.UrlName: filename = FileFromUrl.FileNameAndExtensionOnly; break; default: filename = FileFromUrl.FileNameAndExtensionOnly; break; } var filepath = FileNameHelpers.FullyPrepareFile(filename, middlePath); FileFromUrl.FullPathAndFileAndExtension = FileFromCourses.FullPathAndFileAndExtension = filepath; var fileInfo = new FileInfo(filepath); if (!fileInfo.Directory?.Exists ?? false) { fileInfo.Directory.Create(); } await GetAndSaveFile(filepath); }