source: extensions/PiwigoLib/TestPiwigoLib/Form1.cs @ 11890

Last change on this file since 11890 was 11890, checked in by bayral, 13 years ago

First draw of pwg.image.add and pwg.imae.addtrunck.
addtrunck seem to be ok, but image.add return server error 500.

File size: 6.0 KB
Line 
1using System;
2using System.Windows.Forms;
3
4using Com.Piwigo.Lib.IService;
5using Com.Piwigo.Lib.DTO;
6using System.Collections.Generic;
7using System.IO;
8
9
10namespace TestPiwigoLib
11{
12    public partial class Form1 : Form
13    {
14        public Form1()
15        {
16            InitializeComponent();
17        }
18
19        private void Form1_Load(object sender, EventArgs e)
20        {
21        }
22
23        private void button1_Click(object sender, EventArgs e)
24        {
25            UriBuilder urib = new UriBuilder();
26            urib.Host = tbServer.Text;
27            urib.Path = "/ws.php";
28            urib.Scheme = "http://";
29
30            PwgServiceProvider.Instance.PwgSetupService.Setup("TestPiwigoLib", null, urib.Uri);
31
32
33            Console.WriteLine(urib.Uri.AbsoluteUri);
34
35            try
36            {
37                PwgSession sess = null;
38                sess = PwgServiceProvider.Instance.PwgSessionService.GetPwgSession();
39                Console.WriteLine("user : " + sess.UserName + " " + sess.Status);
40
41                sess = PwgServiceProvider.Instance.PwgSessionService.Login(tbUser.Text, tbPassword.Text);
42                Console.WriteLine("user : " + sess.UserName + " " + sess.Status);
43
44                //Boolean rc = PwgServiceProvider.Instance.PwgTagsService.AddTag("Loic");
45
46                //List<PwgTag> lstTag = PwgServiceProvider.Instance.PwgTagsService.GetAdminListOfTag();
47
48                Int32 Page = 0;
49                Int32 PerPage = 0;
50                Int32 Count = 0;
51
52                List<PwgImage> lstImgTag = PwgServiceProvider.Instance.PwgTagsService.GetListOfImagesFormTags(new List<Int32>() { 1, 7 },
53                    null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
54                    ref Page, ref PerPage, ref Count);
55
56                List<PwgImage> lstImgCat = PwgServiceProvider.Instance.PwgCategoriesService.GetListOfImagesFormCategory(1,
57                    null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
58                    ref Page, ref PerPage, ref Count);
59
60                //Console.WriteLine("lstImg : Page " + Page.ToString() + " PerPage " + PerPage);
61
62                //List<PwgCategory> lstCat = PwgServiceProvider.Instance.PwgCategoriesService.GetAdminListOfCategory();
63
64                Int32 newid = 0;
65                String msg = String.Empty;
66                Boolean rc;
67                // rc = PwgServiceProvider.Instance.PwgCategoriesService.AddCategory("test_cat", 1, ref  newid, ref msg);
68                //List<PwgCategory> lstCat = PwgServiceProvider.Instance.PwgCategoriesService.GetAdminListOfCategory();
69                //Console.WriteLine(String.Format("newid : {0} message : {1}", newid,msg));
70                //rc = PwgServiceProvider.Instance.PwgCategoriesService.UpdateCategoryInfo(newid, "test2", "rename cat");
71                //Boolean rc = PwgServiceProvider.Instance.PwgCategoriesService.DeleteCategory(newid, sess.SecurityToken, PwgCategoryPhotoDeletionModeEnum.None);
72                //rc = PwgServiceProvider.Instance.PwgCategoriesService.MoveCategory(new List<Int32>() { newid }, PwgCategory.RootCategoryId, sess.SecurityToken);
73
74                //lstCat = PwgServiceProvider.Instance.PwgCategoriesService.GetAdminListOfCategory();
75
76                FileInfo fiBig = new FileInfo("C:\\Users\\bayral\\Downloads\\49133_1636405570_2648232_n.jpg");
77                FileInfo fiThumb = new FileInfo(MakeThumb(fiBig,"C:\\Users\\bayral\\Downloads\\49133_1636405570_2648232_n_thum.jpg",64));
78                FileInfo fiLow = new FileInfo(MakeThumb(fiBig,"C:\\Users\\bayral\\Downloads\\49133_1636405570_2648232_n_low.jpg",256));
79
80                //PwgImageAdded imgAdd = PwgServiceProvider.Instance.PwgImagesService.addImageByMultiPartForm(fiBig, null, 1, "benoit", "byarl", "test upload", 0, new List<PwgTag>() { new PwgTag() { Name = "Benoit" }, new PwgTag() { Name = "Noé" } });
81                rc = PwgServiceProvider.Instance.PwgImagesService.addImage(fiBig, fiLow, fiThumb, "Benoit", "bayral", DateTime.Now, "demo", null, null, PwgConfidentLevelEnum.All);
82                //rc = PwgServiceProvider.Instance.PwgImagesService.DeleteImage(319, sess.SecurityToken);
83
84                //PwgImageInfo info = PwgServiceProvider.Instance.PwgImagesService.getImageInfo(imgAdd.Id, null, null);
85               
86                //PwgImageRate imgRate = PwgServiceProvider.Instance.PwgImagesService.RateImage(1, 5);
87
88                sess = PwgServiceProvider.Instance.PwgSessionService.Logout();
89                Console.WriteLine("user : " + sess.UserName + " " + sess.Status);
90            }
91            catch (PwgServiceException ex)
92            {
93                Console.WriteLine("Erreur " + ex.NumeroErr + " " + ex.MessageErr);
94                Console.WriteLine(ex.Message);
95            }
96        }
97
98        private string MakeThumb(FileInfo fi, String ext, int size)       
99        {
100        // create an image object, using the filename we just retrieved
101        System.Drawing.Image image = System.Drawing.Image.FromFile(fi.FullName);
102
103        // create the actual thumbnail image
104        System.Drawing.Image thumbnailImage = image.GetThumbnailImage(size, size, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
105
106        // make a memory stream to work with the image bytes
107        FileStream imageStream = new FileStream(ext, FileMode.OpenOrCreate);
108
109        // put the image into the memory stream
110        thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
111
112        imageStream.Close();
113        return ext;
114        }
115
116        /// <summary>
117        /// Required, but not used
118        /// </summary>
119        /// <returns>true</returns>
120        public bool ThumbnailCallback()
121        {
122            return true;
123        }
124
125
126        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
127        {
128            global::TestPiwigoLib.Properties.Settings.Default.Save();
129        }
130    }
131}
Note: See TracBrowser for help on using the repository browser.