Exemplo n.º 1
0
 public static void VerifyLinkContent(string address, string name, ExternalContentType type, CancellableProgress progress, Action <byte[]> success, Action <Exception> failure)
 {
     progress = (progress ?? new CancellableProgress());
     WebManager.Get(address, null, null, progress, delegate(byte[] data)
     {
         ExternalContentManager.ImportExternalContent(new MemoryStream(data), type, "__Temp", delegate(string downloadedName)
         {
             ExternalContentManager.DeleteExternalContent(type, downloadedName);
             success(data);
         }, failure);
     }, failure);
 }
Exemplo n.º 2
0
 public static void Download(string address, string name, ExternalContentType type, string userId, CancellableProgress progress, Action success, Action <Exception> failure)
 {
     progress = (progress ?? new CancellableProgress());
     if (!WebManager.IsInternetConnectionAvailable())
     {
         failure(new InvalidOperationException("Internet connection is unavailable."));
     }
     else
     {
         WebManager.Get(address, null, null, progress, delegate(byte[] data)
         {
             string hash = CalculateContentHashString(data);
             ExternalContentManager.ImportExternalContent(new MemoryStream(data), type, name, delegate(string downloadedName)
             {
                 m_idToAddressMap[MakeContentIdString(type, downloadedName)] = address;
                 Feedback(address, "Success", null, hash, data.Length, userId, progress, delegate
                 {
                 }, delegate
                 {
                 });
                 AnalyticsManager.LogEvent("[CommunityContentManager] Download Success", new AnalyticsParameter("Name", name));
                 success();
             }, delegate(Exception error)
             {
                 Feedback(address, "ImportFailure", null, hash, data.Length, userId, null, delegate
                 {
                 }, delegate
                 {
                 });
                 AnalyticsManager.LogEvent("[CommunityContentManager] Import Failure", new AnalyticsParameter("Name", name), new AnalyticsParameter("Error", error.Message.ToString()));
                 failure(error);
             });
         }, delegate(Exception error)
         {
             Feedback(address, "DownloadFailure", null, null, 0L, userId, null, delegate
             {
             }, delegate
             {
             });
             AnalyticsManager.LogEvent("[CommunityContentManager] Download Failure", new AnalyticsParameter("Name", name), new AnalyticsParameter("Error", error.Message.ToString()));
             failure(error);
         });
     }
 }
Exemplo n.º 3
0
        public void DownloadEntry(ExternalContentEntry entry)
        {
            CancellableBusyDialog busyDialog = new CancellableBusyDialog(LanguageControl.Get(fName, 10), autoHideOnCancel: false);

            DialogsManager.ShowDialog(null, busyDialog);
            m_externalContentProvider.Download(entry.Path, busyDialog.Progress, delegate(Stream stream)
            {
                busyDialog.LargeMessage = LanguageControl.Get(fName, 12);
                ExternalContentManager.ImportExternalContent(stream, entry.Type, Storage.GetFileName(entry.Path), delegate
                {
                    stream.Dispose();
                    DialogsManager.HideDialog(busyDialog);
                }, delegate(Exception error)
                {
                    stream.Dispose();
                    DialogsManager.HideDialog(busyDialog);
                    DialogsManager.ShowDialog(null, new MessageDialog(LanguageControl.Get("Usual", "error"), error.Message, LanguageControl.Get("Usual", "ok"), null, null));
                });
            }, delegate(Exception error)
            {
                DialogsManager.HideDialog(busyDialog);
                DialogsManager.ShowDialog(null, new MessageDialog(LanguageControl.Get("Usual", "error"), error.Message, LanguageControl.Get("Usual", "ok"), null, null));
            });
        }
        public override void Update()
        {
            string text = m_linkTextBoxWidget.Text.Trim();
            string name = m_nameTextBoxWidget.Text.Trim();

            m_typeLabelWidget.Text      = ExternalContentManager.GetEntryTypeDescription(m_type);
            m_typeIconWidget.Subtexture = ExternalContentManager.GetEntryTypeIcon(m_type);
            if (ExternalContentManager.DoesEntryTypeRequireName(m_type))
            {
                m_nameTextBoxWidget.IsEnabled    = true;
                m_downloadButtonWidget.IsEnabled = (text.Length > 0 && name.Length > 0 && m_type != ExternalContentType.Unknown);
                if (m_updateContentName)
                {
                    m_nameTextBoxWidget.Text = GetNameFromLink(m_linkTextBoxWidget.Text);
                    m_updateContentName      = false;
                }
            }
            else
            {
                m_nameTextBoxWidget.IsEnabled    = false;
                m_nameTextBoxWidget.Text         = string.Empty;
                m_downloadButtonWidget.IsEnabled = (text.Length > 0 && m_type != ExternalContentType.Unknown);
            }
            if (m_updateContentType)
            {
                m_type = GetTypeFromLink(m_linkTextBoxWidget.Text);
                m_updateContentType = false;
            }
            if (m_changeTypeButtonWidget.IsClicked)
            {
                DialogsManager.ShowDialog(base.ParentWidget, new SelectExternalContentTypeDialog("Select Content Type", delegate(ExternalContentType item)
                {
                    m_type = item;
                    m_updateContentName = true;
                }));
            }
            else if (base.Input.Cancel || m_cancelButtonWidget.IsClicked)
            {
                DialogsManager.HideDialog(this);
            }
            else if (m_downloadButtonWidget.IsClicked)
            {
                CancellableBusyDialog busyDialog = new CancellableBusyDialog("Downloading", autoHideOnCancel: false);
                DialogsManager.ShowDialog(base.ParentWidget, busyDialog);
                WebManager.Get(text, null, null, busyDialog.Progress, delegate(byte[] data)
                {
                    ExternalContentManager.ImportExternalContent(new MemoryStream(data), m_type, name, delegate
                    {
                        DialogsManager.HideDialog(busyDialog);
                        DialogsManager.HideDialog(this);
                    }, delegate(Exception error)
                    {
                        DialogsManager.HideDialog(busyDialog);
                        DialogsManager.ShowDialog(base.ParentWidget, new MessageDialog("Error", error.Message, LanguageControl.Get("Usual", "ok"), null, null));
                    });
                }, delegate(Exception error)
                {
                    DialogsManager.HideDialog(busyDialog);
                    DialogsManager.ShowDialog(base.ParentWidget, new MessageDialog("Error", error.Message, LanguageControl.Get("Usual", "ok"), null, null));
                });
            }
        }