/// <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); }
/// <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; }