Exemple #1
0
        private void PrepareImagesContent(HudStoreUploadInfo uploadInfo, MultipartFormDataContent multiPartContent)
        {
            for (var i = 0; i < uploadInfo.Images.Length; i++)
            {
                var imageInfo = uploadInfo.Images[i];

                if (!MediaTypeHeaderValue.TryParse(MimeMapping.GetMimeMapping(imageInfo.Path), out MediaTypeHeaderValue contentType))
                {
                    throw new DHBusinessException(new LocalizableString("Error_HudStore_Upload_BadImageFormat", imageInfo.Path));
                }

                var streamContent = new StreamContent(File.OpenRead(imageInfo.Path));
                streamContent.Headers.ContentType = contentType;

                multiPartContent.Add(streamContent, $"images[]", Path.GetFileName(imageInfo.Path));
            }
        }
Exemple #2
0
        /// <summary>
        /// Uploads data to the HUD store
        /// </summary>
        /// <param name="uploadInfo">Data to upload</param>
        /// <exception cref="DHInternalException" />
        public void Upload(HudStoreUploadInfo uploadInfo)
        {
            if (uploadInfo == null)
            {
                throw new ArgumentNullException(nameof(uploadInfo));
            }

            try
            {
                uploadInfo.Serial = SecurityUtils.EncryptStringRSA(uploadInfo.Serial, encryptKey);

                var multiPartContent = new MultipartFormDataContent();

                PrepareImagesContent(uploadInfo, multiPartContent);
                PrepareLayoutContent(uploadInfo, multiPartContent);

                var jsonString = JsonConvert.SerializeObject(uploadInfo);

                multiPartContent.Add(new StringContent(jsonString, Encoding.UTF8), "data");

                var serviceResponse = Post <bool?>(HudStoreServiceNames.HudsService, HudStoreServiceCommands.Upload, multiPartContent);

                if (serviceResponse != null && serviceResponse.Result == true)
                {
                    return;
                }

                var errorMessage = ConvertErrors(serviceResponse?.Errors);

                throw new DHBusinessException(new LocalizableString("Common_HudWebService_UploadingFailed", errorMessage));
            }
            catch (DHBusinessException)
            {
                throw;
            }
            catch (Exception e)
            {
                throw new DHInternalException(new NonLocalizableString("Couldn't upload data to hud store web service."), e);
            }
        }
Exemple #3
0
 public void Upload(HudStoreUploadInfo uploadInfo)
 {
     service.Upload(uploadInfo);
 }
Exemple #4
0
 private void PrepareLayoutContent(HudStoreUploadInfo uploadInfo, MultipartFormDataContent multiPartContent)
 {
     multiPartContent.Add(new StringContent(uploadInfo.HudLayout, Encoding.UTF8), "layout");
 }