BiasedBit.MinusEngine.MinusApi.CreateGallery C# (CSharp) Метод

CreateGallery() публичный Метод

Creates an empty new gallery.
public CreateGallery ( String cookieHeader ) : void
cookieHeader String
Результат void
        public void CreateGallery(String cookieHeader)
        {
            CookieAwareWebClient client = this.CreateAndSetupWebClient(cookieHeader);

            client.DownloadStringCompleted += delegate(object sender, DownloadStringCompletedEventArgs e) {
                if (e.Error != null)
                {
                    Debug.WriteLine("CreateGallery operation failed: " + e.Error.Message);
                    this.TriggerCreateGalleryFailed(e.Error);
                    #if !WINDOWS_PHONE
                        client.Dispose();
                    #endif
                    return;
                }

                CreateGalleryResult result = JsonConvert.DeserializeObject<CreateGalleryResult>(e.Result);
                Debug.WriteLine("CreateGallery operation successful: " + result);
                this.TriggerCreateGalleryComplete(result);
                #if !WINDOWS_PHONE
                    client.Dispose();
                #endif
            };

            try
            {
                ThreadPool.QueueUserWorkItem((object state) =>
                {
                    try
                    {
                        client.DownloadStringAsync(CREATE_GALLERY_URL);
                    }
                    catch (WebException e)
                    {
                        Debug.WriteLine("Failed to access CreateGallery API: " + e.Message);
                        this.TriggerCreateGalleryFailed(e);
                        #if !WINDOWS_PHONE
                            client.Dispose();
                        #endif
                    }
                });
            }
            catch (Exception e)
            {
                Debug.WriteLine("Failed to submit task to thread pool: " + e.Message);
                this.TriggerCreateGalleryFailed(e);
                #if !WINDOWS_PHONE
                    client.Dispose();
                #endif
            }
        }

Usage Example

Пример #1
0
        /// <summary>
        /// Tests the full scope of methods in the API.
        /// This method creates a gallery, uploads a couple of items, saves them and then retrieves them.
        /// Make sure you change the values of the items in the "items" array to match actually valid files or this
        /// will fail.
        /// </summary>
        private static void TestAll()
        {
            // The call that triggers the program is the near the end of this method
            // (the rest is pretty much setup to react to events)

            // create the API
            MinusApi api = new MinusApi(API_KEY);

            // Prepare the items to be uploaded
            String[] items =
            {
                @"C:\Users\bruno\Desktop\clown.png",
                @"C:\Users\bruno\Desktop\small.png"
            };
            IList<String> uploadedItems = new List<String>(items.Length);

            // create a couple of things we're going to need between requests
            CreateGalleryResult galleryCreated = null;

            // set up the listeners for CREATE
            api.CreateGalleryFailed += delegate(MinusApi sender, Exception e)
            {
                // don't do anything else...
                Console.WriteLine("Failed to create gallery..." + e.Message);
            };
            api.CreateGalleryComplete += delegate(MinusApi sender, CreateGalleryResult result)
            {
                // gallery created, trigger upload of the first file
                galleryCreated = result;
                Console.WriteLine("Gallery created! " + result);
                Thread.Sleep(1000);
                Console.WriteLine("Uploading files...");
                api.UploadItem(result.EditorId, result.Key, items[0]);
            };

            // set up the listeners for UPLOAD
            api.UploadItemFailed += delegate(MinusApi sender, Exception e)
            {
                // don't do anything else...
                Console.WriteLine("Upload failed: " + e.Message);
            };
            api.UploadItemComplete += delegate(MinusApi sender, UploadItemResult result)
            {
                // upload complete, either trigger another upload or save the gallery if all files have been uploaded
                Console.WriteLine("Upload successful: " + result);
                uploadedItems.Add(result.Id);
                if (uploadedItems.Count == items.Length)
                {
                    // if all the elements are uploaded, then save the gallery
                    Console.WriteLine("All uploads complete, saving gallery...");
                    api.SaveGallery("testGallery", galleryCreated.EditorId, galleryCreated.Key, uploadedItems.ToArray());
                }
                else
                {
                    // otherwise just keep uploading
                    Console.WriteLine("Uploading item " + (uploadedItems.Count + 1));
                    api.UploadItem(galleryCreated.EditorId, galleryCreated.Key, items[uploadedItems.Count]);
                }
            };

            // set up the listeners for SAVE
            api.SaveGalleryFailed += delegate(MinusApi sender, Exception e)
            {
                Console.WriteLine("Failed to save gallery... " + e.Message);
            };
            api.SaveGalleryComplete += delegate(MinusApi sender)
            {
                // The extra "m" is appended because minus uses the first character to determine the type of data
                // you're accessing (image, gallery, etc) and route you accordingly.
                Console.WriteLine("Gallery saved! You can now access it at http://min.us/m" + galleryCreated.ReaderId);
                api.SignIn("123test123", "123test123");
            };

            //set up listeners for SignIn
            api.SignInFailed += delegate(MinusApi sender, Exception e)
            {
                Console.WriteLine("Failed to Sign In... " + e.Message);
            };
            api.SignInComplete += delegate(MinusApi sender, SignInResult result)
            {
                Console.WriteLine("Signed In: " + result.Success);
            };

            // this is the call that actually triggers the whole program
            api.CreateGallery();
        }
All Usage Examples Of BiasedBit.MinusEngine.MinusApi::CreateGallery