Ejemplo n.º 1
0
        public Stream DownloadLayout(int layoutId, string serial)
        {
            if (string.IsNullOrEmpty(serial))
            {
                return(null);
            }

            var request = new HudStoreDownloadHudRequest
            {
                Serial   = serial,
                LayoutId = layoutId
            };

            var downloadStream = service.DownloadHud(request);

            return(downloadStream);
        }
Ejemplo n.º 2
0
        public Stream DownloadHud(HudStoreDownloadHudRequest request)
        {
            try
            {
                if (string.IsNullOrEmpty(request.Serial))
                {
                    throw new DHBusinessException(new NonLocalizableString("Unknown serial number"));
                }

                request.Serial = SecurityUtils.EncryptStringRSA(request.Serial, encryptKey);

                var jsonString = JsonConvert.SerializeObject(request);

                var requestData = new Dictionary <string, string>
                {
                    ["data"] = jsonString
                };

                var formUrlEncodedContent = new FormUrlEncodedContent(requestData);

                var serviceResponse = Post <string>(HudStoreServiceNames.HudsService, HudStoreServiceCommands.Get, formUrlEncodedContent);

                if (serviceResponse != null && !string.IsNullOrEmpty(serviceResponse.Result))
                {
                    var downloadedData = Convert.FromBase64String(serviceResponse.Result);

                    var memoryStream = new MemoryStream(downloadedData);

                    return(memoryStream);
                }

                var errorMessage = ConvertErrors(serviceResponse?.Errors);

                throw new DHBusinessException(new LocalizableString("Common_HudWebService_DownloadingFailed", errorMessage));
            }
            catch (DHBusinessException)
            {
                throw;
            }
            catch (Exception e)
            {
                throw new DHInternalException(new NonLocalizableString("Couldn't download hud from hud store web service."), e);
            }
        }