public override void Save(string directoryName = null, bool overwrite = false) { if (Entity == null) { return; } if (Entity.IsQueryable) { base.Save(directoryName, overwrite); } var currentDirectory = directoryName ?? AssemblyPath; var area = Assembly; var index = Assembly.LastIndexOf('.'); if (index != -1) { area = Assembly.Substring(index + 1); } directoryName = Path.Combine(currentDirectory, "Areas"); var @namespace = Assembly; if (Directory.Exists(directoryName)) { directoryName = Path.Combine(directoryName, area); @namespace = $"{@namespace}.Areas.{area}.Pages.Backend"; } else { directoryName = currentDirectory; @namespace = $"{@namespace}.Pages.Backend"; } directoryName = Path.Combine(directoryName, $"Pages/Backend{DirectoryName}"); if (!Directory.Exists(directoryName)) { Directory.CreateDirectory(directoryName); } @namespace += DirectoryName.Replace('/', '.'); var path = Path.Combine(directoryName, "Index.cshtml"); SaveIndex(path, @namespace, area, overwrite); path = Path.Combine(directoryName, "Edit.cshtml"); SaveEdit(path, @namespace, overwrite); }
public async Task DownloadAsync(string AlbumUrl) { // Extract album hash from URL. string[] AlbumUrlSplit = AlbumUrl.Split('/'); string AlbumId = AlbumUrlSplit[AlbumUrlSplit.Length - 1]; HttpResponseMessage AlbumJsonRequest = await Client.GetAsync(String.Concat("https://api.imgur.com/3/album/", AlbumId)); if (!AlbumJsonRequest.IsSuccessStatusCode) { Console.WriteLine("HTTP error."); Environment.Exit(1); //throw new Exception(); } string AlbumJson = await AlbumJsonRequest.Content.ReadAsStringAsync(); dynamic AlbumData = JObject.Parse(AlbumJson); string DirectoryName; try { DirectoryName = AlbumData.data.title; foreach (char c in System.IO.Path.GetInvalidFileNameChars()) { DirectoryName = DirectoryName.Replace(c, '_'); } } catch { DirectoryName = AlbumId; } Directory.CreateDirectory(DirectoryName); Directory.SetCurrentDirectory(DirectoryName); Console.WriteLine("Album title: " + AlbumData.data.title); Console.WriteLine("Downloading..."); int i = 0; foreach (dynamic d in AlbumData.data.images) { i++; String ImageUrl = d.link; Console.WriteLine("Downloading " + ImageUrl); HttpResponseMessage ImageDownload = await Client.GetAsync(ImageUrl); if (!AlbumJsonRequest.IsSuccessStatusCode) { Console.WriteLine("HTTP error."); Environment.Exit(1); //throw new Exception(); } Stream ImageData = await ImageDownload.Content.ReadAsStreamAsync(); string[] ImageUrlSplit = ImageUrl.Split('.'); string ImageExtension = ImageUrlSplit[ImageUrlSplit.Length - 1]; StreamWriter WriteImage = new StreamWriter(String.Format("{0:000}.{1}", i, ImageExtension)); ImageData.CopyTo(WriteImage.BaseStream); } Directory.SetCurrentDirectory(".."); }