コード例 #1
0
        /// <summary>
        /// Displays the Dialog as modal
        /// </summary>
        /// <returns>true if we are in sync</returns>
        public bool ShowDialog(RuntimeApplicationItem runtimeApplicationItem)
        {
            if (runtimeApplicationItem == null || runtimeApplicationItem.Runtime == null || runtimeApplicationItem.RuntimeApplication == null)
            {
                return(false);
            }

            m_inSync = false;
            if (runtimeApplicationItem.Runtime.RuntimeId() != runtimeApplicationItem.RuntimeApplication.RuntimeId)
            {
                // not even the same application
                Message = Resources.Strings.UploadDownloadDialog_Message_ApplicationMismatch;
            }
            else if (runtimeApplicationItem.Runtime.RuntimeVersionId() != runtimeApplicationItem.RuntimeApplication.ID)
            {
                // same application but versions don't match
                Message = Resources.Strings.UploadDownloadDialog_Message_VersionMismatch;
            }
            else
            {
                throw new InvalidOperationException();
            }
            Window dlg = new UploadDownloadDialogView();

            dlg.Owner       = mainWindowExport.Value;
            this.m_Upload   = true; // default to upload
            dlg.DataContext = this;
            dlg.ShowDialog();
            if (m_inSync)
            {
                // user clicked ok
                if (Upload)
                {
                    var rta = runtimeApplicationItem.Runtime.RuntimeApplicationUpload();
                    if (rta != null)
                    {
                        runtimeApplicationItem.RuntimeApplication = rta;
                        // after an upload we have to reset the whole tree
                        layoutManager.CloseAllDocuments();
                        runtimeApplicationItem.SetItems();
                    }
                    else
                    {
                        m_inSync = false;
                    }
                }
                else // download
                {
                    m_inSync = runtimeApplicationItem.Runtime
                               .RuntimeApplicationDownload(runtimeApplicationItem.RuntimeApplication, onlineChange: false);
                }
            }
            return(m_inSync);
        }
コード例 #2
0
        /// <summary>
        /// Displays the Dialog as modal
        /// </summary>
        /// <returns>true if we are in sync</returns>
        public bool ShowDialog(RuntimeApplicationItem runtimeApplicationItem)
        {
            if (runtimeApplicationItem == null || runtimeApplicationItem.Runtime == null || runtimeApplicationItem.RuntimeApplication == null)
            {
                return false;
            }

            m_inSync = false;
            if (runtimeApplicationItem.Runtime.RuntimeId() != runtimeApplicationItem.RuntimeApplication.RuntimeId)
            {
                // not even the same application
                Message = Resources.Strings.UploadDownloadDialog_Message_ApplicationMismatch;
            }
            else if (runtimeApplicationItem.Runtime.RuntimeVersionId() != runtimeApplicationItem.RuntimeApplication.ID)
            {
                // same application but versions don't match
                Message = Resources.Strings.UploadDownloadDialog_Message_VersionMismatch;
            }
            else
            {
                throw new InvalidOperationException();
            }
            Window dlg = new UploadDownloadDialogView();
            dlg.Owner = mainWindowExport.Value;
            this.m_Upload = true; // default to upload
            dlg.DataContext = this;
            dlg.ShowDialog();
            if (m_inSync)
            {
                // user clicked ok
                if (Upload)
                {
                    var rta = runtimeApplicationItem.Runtime.RuntimeApplicationUpload();
                    if (rta != null)
                    {
                        runtimeApplicationItem.RuntimeApplication = rta;
                        // after an upload we have to reset the whole tree
                        layoutManager.CloseAllDocuments();
                        runtimeApplicationItem.SetItems();
                    }
                    else
                    {
                        m_inSync = false;
                    }
                }
                else // download
                {
                    m_inSync = runtimeApplicationItem.Runtime
                        .RuntimeApplicationDownload(runtimeApplicationItem.RuntimeApplication, onlineChange: false);
                }
            }
            return m_inSync;
        }