public bool AddElement(FileNameItem elemet) { if (elemet == FileNameItem.Literel) { return(false); } Template.Add(elemet); return(false); }
public string ElemetToString(FileNameItem element) { switch (element) { case FileNameItem.Album: return("Album"); case FileNameItem.Artist: return("Artist"); case FileNameItem.Trak: return("Track"); case FileNameItem.Title: return("Title"); case FileNameItem.Count: return("Count"); default: return(""); } }
private async void BtnStartUpload_Click(object sender, EventArgs e) { SetControlState(false); Stack <FileNameItem> ItemList = new Stack <FileNameItem>(lbFileList.Items.OfType <FileNameItem>().Reverse()); Imgur I = new Imgur(S); if (ItemList.Count > 0) { string AlbumId = cbAlbum.SelectedIndex > 0 ? ((AlbumEntry)cbAlbum.SelectedItem).Id : null; List <string> Images = AlbumId == null ? null : (await I.GetAlbumImages(AlbumId)).Select(m => m.id).ToList(); lbFileList.SelectedIndex = 0; while (ItemList.Count > 0) { FileNameItem Current = ItemList.Pop(); ImgurImage Img = await I.UploadImage( File.ReadAllBytes(Current.LongName), Path.GetFileName(Current.LongName), FormatFileString(tbTitle.Text, Current.LongName), cbDescDate.Checked?DateTime.UtcNow.ToString(@"yyyy-MM-dd HH:mm:ss \U\T\C") : ""); if (Img != null) { if (Images != null) { Images.Add(Img.id); } Cache.GetImage(Img); lbFileList.Items.RemoveAt(0); } else { //Add failed image back to the queue ItemList.Push(Current); //Ask user to retry or cancel if (MessageBox.Show("Failed to upload an image. Response: " + I.LastError, "Upload failed", MessageBoxButtons.RetryCancel, MessageBoxIcon.Exclamation) == DialogResult.Cancel) { break; } } } if (Images != null) { while ( !await I.SetAlbumImages(AlbumId, Images) && MessageBox.Show("Failed to add uploaded images to the album. Response: " + I.LastError, "Album change failed", MessageBoxButtons.RetryCancel, MessageBoxIcon.Exclamation) == DialogResult.Retry) { ; } } if (lbFileList.Items.Count == 0) { DialogResult = DialogResult.OK; } else { SetControlState(true); } } else { MessageBox.Show("Please select at least one file to upload.", "No files", MessageBoxButtons.OK, MessageBoxIcon.Information); } }