コード例 #1
0
 public bool AddElement(FileNameItem elemet)
 {
     if (elemet == FileNameItem.Literel)
     {
         return(false);
     }
     Template.Add(elemet);
     return(false);
 }
コード例 #2
0
        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("");
            }
        }
コード例 #3
0
        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);
            }
        }