예제 #1
0
 private void uploadButton_Click(object sender, EventArgs e)
 {
     try
     {
         eBayPictureService eps    = new eBayPictureService(Context);
         string             result = "";
         int size = this.fileList.Count;
         //upload pictures one by one
         for (int i = 0; i < size; i++)
         {
             string file = this.fileList[i];
             UploadSiteHostedPicturesRequestType request = new UploadSiteHostedPicturesRequestType();
             if (this.checkBox.Checked)
             {
                 request.PictureWatermark = new PictureWatermarkCodeTypeCollection();
                 request.PictureWatermark.Add(PictureWatermarkCodeType.User);
             }
             if (this.extDaysTextBox.Text != String.Empty)
             {
                 int extDays = int.Parse(this.extDaysTextBox.Text);
                 request.ExtensionInDays = extDays;
             }
             UploadSiteHostedPicturesResponseType response = eps.UpLoadSiteHostedPicture(request, file);
             result += Path.GetFileName(file) + " : " + response.SiteHostedPictureDetails.FullURL + "\r\n";
         }
         this.textBox.Text = result;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #2
0
        //Add ebay std error handle
        private UploadSiteHostedPicturesResponseType UpLoadSiteHostedPicture(UploadSiteHostedPicturesRequestType request, string fileName)
        {
            UploadSiteHostedPicturesResponseType uploadSiteHostedPicturesResponseType;
            UploadSiteHostedPicturesResponseType uploadSiteHostedPicturesResponseType1 = null;

            try
            {
                var xmlDoc = _utility.SerializeToXmlDoc(request);
                _utility.FixEncoding(xmlDoc);
                _utility.AddApiCredentials(xmlDoc, Properties);
                _utility.UpdateElementName(xmlDoc, "UploadSiteHostedPicturesRequestType", "UploadSiteHostedPicturesRequest");
                var outerXml    = SendFile(fileName, xmlDoc.OuterXml);
                var xmlDocument = new XmlDocument();
                xmlDocument.LoadXml(outerXml);
                _utility.UpdateElementName(xmlDocument, "UploadSiteHostedPicturesResponse", "UploadSiteHostedPicturesResponseType");
                outerXml = xmlDocument.OuterXml;
                uploadSiteHostedPicturesResponseType1 = (UploadSiteHostedPicturesResponseType)_utility.DeserializeFromXml(outerXml, typeof(UploadSiteHostedPicturesResponseType));
                if (uploadSiteHostedPicturesResponseType1 != null && uploadSiteHostedPicturesResponseType1.Errors != null && uploadSiteHostedPicturesResponseType1.Errors.Length > 0)
                {
                    foreach (var e in uploadSiteHostedPicturesResponseType1.Errors)
                    {
                        _logger.WriteToLog(e, EventLogEntryType.Error);
                    }
                }
                uploadSiteHostedPicturesResponseType = uploadSiteHostedPicturesResponseType1;
            }
            catch
            {
                return(uploadSiteHostedPicturesResponseType1);
            }
            return(uploadSiteHostedPicturesResponseType);
        }
예제 #3
0
        public void UploadSiteHostedPictures()
        {
            //test UploadSiteHostedPictures
            string             pic = GetPicture();
            eBayPictureService eps = new eBayPictureService(this.apiContext);
            UploadSiteHostedPicturesRequestType request = new UploadSiteHostedPicturesRequestType();

            request.PictureWatermark = new PictureWatermarkCodeTypeCollection();
            request.PictureWatermark.Add(PictureWatermarkCodeType.User);
            UploadSiteHostedPicturesResponseType response = eps.UpLoadSiteHostedPicture(request, pic);

            Console.WriteLine("Picture is uploaded to : " + response.SiteHostedPictureDetails.FullURL);

            Assert.IsNotNull(response);
            Assert.IsTrue(response.Ack != AckCodeType.Failure);

            Assert.IsNotNull(response.SiteHostedPictureDetails);
            string picUrl = response.SiteHostedPictureDetails.FullURL;

            Assert.IsTrue(picUrl.Length > 0);

            ExtendSiteHostedPicturesCall eshpCall = new ExtendSiteHostedPicturesCall(this.apiContext);

            eshpCall.PictureURLList  = new StringCollection(new String[] { picUrl });
            eshpCall.ExtensionInDays = 10;
            eshpCall.Execute();
            StringCollection picURLList = eshpCall.PictureURLListReturn;
        }
예제 #4
0
        /// <summary>
        /// Method to upload one picture to eBay picture server, use this method
        /// if you want to operate on UploadSiteHostedPicture request/response directly
        /// </summary>
        /// <param name="request">UploadSiteHostedPicturesRequestType</param>
        /// <param name="fileName">full path of the picture file</param>
        /// <returns>UploadSiteHostedPicturesResponseType</returns>
        public UploadSiteHostedPicturesResponseType UpLoadSiteHostedPicture(UploadSiteHostedPicturesRequestType request, string fileName)
        {
            UploadSiteHostedPicturesResponseType respObj = null;

            try
            {
                XmlDocument reqDoc = serializeToXmlDoc(request);

                fixEncoding(reqDoc);

                addApiCredentials(reqDoc);

                updateElementName(reqDoc, "UploadSiteHostedPicturesRequestType", "UploadSiteHostedPicturesRequest");

                string reqStr = reqDoc.OuterXml;

                string respStr = sendFile(fileName, reqStr);

                XmlDocument respDoc = new XmlDocument();
                respDoc.LoadXml(respStr);
                updateElementName(respDoc, "UploadSiteHostedPicturesResponse", "UploadSiteHostedPicturesResponseType");

                respStr = respDoc.OuterXml;

                respObj = (UploadSiteHostedPicturesResponseType)deserializeFromXml(respStr, typeof(UploadSiteHostedPicturesResponseType));

                if (respObj != null && respObj.Errors != null && respObj.Errors.Count > 0)
                {
                    throw new ApiException(new ErrorTypeCollection(respObj.Errors));
                }

                return(respObj);
            }
            catch (Exception ex)
            {
                ApiException mApiExcetpion = null;

                if (ex is ApiException)
                {
                    mApiExcetpion = (ApiException)ex;
                }
                else
                {
                    mApiExcetpion = new ApiException(ex.Message, ex);
                }
                MessageSeverity svr = mApiExcetpion.SeverityErrorCount > 0 ? MessageSeverity.Error : MessageSeverity.Warning;
                LogMessage("EPS Exception : " + mApiExcetpion.Message, MessageType.Exception, svr);

                if (mApiExcetpion.SeverityErrorCount > 0)
                {
                    throw mApiExcetpion;
                }
            }

            return(respObj);
        }
예제 #5
0
        /// <summary>
        /// Method to upload list of pictures to eBay picture server
        /// </summary>
        /// <param name="photoDisplay">PhotoDisplayCodeType</param>
        /// <param name="pictureFileList">picture file list</param>
        /// <returns>string[]</returns>
        public string[] UpLoadPictureFiles(PhotoDisplayCodeType photoDisplay, string[] pictureFileList)
        {
            UploadSiteHostedPicturesRequestType request = new UploadSiteHostedPicturesRequestType();
            ArrayList epsList = new ArrayList();

            foreach (string pictureFile in pictureFileList)
            {
                if (photoDisplay == PhotoDisplayCodeType.PicturePack || photoDisplay == PhotoDisplayCodeType.SuperSize)
                {
                    request.PictureSet = PictureSetCodeType.Supersize;
                }

                UploadSiteHostedPicturesResponseType resp = this.UpLoadSiteHostedPicture(request, pictureFile);
                epsList.Add(resp.SiteHostedPictureDetails.FullURL);
            }
            return((string[])epsList.ToArray(typeof(string)));
        }