/// <summary> /// Gibt eine <seealso cref="SortableBindingList{T}"/> mit allen SoftwareUpgrade /// Elementen des Systems zurück. T ist vom Typ <seealso cref="SoftwareUpgrade"/>. /// </summary> /// <returns></returns> public SortableBindingList <SoftwareUpgrade> GetSoftwareUpgradeList() { if (this.mySoftwareUpgradeList == null) { this.mySoftwareUpgradeList = new SortableBindingList <SoftwareUpgrade>(); foreach (var uRow in DataManager.SoftwareDataService.GetSoftwareUpgradeTable()) { var upgrade = new SoftwareUpgrade(uRow); this.mySoftwareUpgradeList.Add(upgrade); } } return(this.mySoftwareUpgradeList); }
private void FrmUpgrade_Shown(object sender, EventArgs e) { //CurrentExeFileName = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + "\\LMS.exe"; //UpdateFileName = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + "\\Upgrade\\Upgrade.XML"; IVMUpgrade = new SoftwareUpgrade(CurrentExeFileName, UpdateFileName); IVMUpgrade.DownloadBeginEvent += new SoftwareUpgrade.DownloadBeginEventHandler(this.DownloadBeginHandler); IVMUpgrade.DownloadEndEvent += new SoftwareUpgrade.DownloadEndEventHandler(this.DownloadEndHandler); IVMUpgrade.ProgressEvent += new SoftwareUpgrade.ProgressEventHandler(this.ProgressHandler); if (IVMUpgrade.CurrentVersion == null) { lblUpgrade.Text = "找不到执行文件,无法升级!"; btnUpgrade.Enabled = false; return; } if (IVMUpgrade.LastedVersion == null) { lblUpgrade.Text = "无法连接升级服务器,或服务器上没有升级文件!"; btnUpgrade.Enabled = false; return; } if (IVMUpgrade.IsOldVersion()) { lblUpgrade.Text = "检测到新版本,从旧版本(" + IVMUpgrade.CurrentVersion.ToString() + ")升级到新版本(" + IVMUpgrade.LastedVersion.ToString() + ")"; //显示升级文件列表 IVMUpgrade.FillFileSizeList(); foreach (SoftwareUpgrade.SUFileInfo _fileInfo in IVMUpgrade.UpgradeFileList) { lstUpgradeFileList.Items.Add(_fileInfo.FileName + "(" + Math.Round((float)(_fileInfo.FileSize / 1024)).ToString() + "KB)"); } btnUpgrade.Enabled = true; } else { lblUpgrade.Text = "当前已经是最新版本,不需要升级!"; btnUpgrade.Enabled = false; } //关闭原有应用程序的所有进程 System.Diagnostics.Process[] proc = System.Diagnostics.Process.GetProcessesByName("IVM"); foreach (System.Diagnostics.Process pro in proc) { pro.Kill(); } this.Activate(); }
/// <summary> /// Erstellt ein neues <seealso cref="SoftwareUpgrade"/> Element und gibt es zurück. /// </summary> /// <param name="kunde">Der Kunde, für den das Upgrade durchgeführt werden soll.</param> /// <param name="alteSoftware"> /// Die <seealso cref="Kundensoftware"/>, die aktualisiert werden soll. /// </param> /// <returns></returns> public SoftwareUpgrade AddSoftwareUpgrade(Kunde kunde, Kundensoftware alteSoftware) { var kundenId = kunde.CustomerId; var oldSwId = alteSoftware.UID; var oldLicence = alteSoftware.Lizenzschluessel; var machineModell = alteSoftware.Maschine.Maschinenmodell.Modellbezeichnung; var sn = alteSoftware.Maschine.Seriennummer; var newRow = DataManager.SoftwareDataService.AddSoftwareUpgradeRow(kundenId, oldSwId, oldLicence, machineModell, sn); if (newRow != null) { var newUpgrade = new SoftwareUpgrade(newRow); this.GetSoftwareUpgradeList().Add(newUpgrade); return(newUpgrade); } var msg = $"Es konnte keine neue Zeile für das Software-Upgrade in der Datenbank erzeugt werden."; throw new System.Data.DataException(msg); }
public SoftwareUpgradeView(SoftwareUpgrade upgrade) { InitializeComponent(); this.mySoftwareUpgrade = upgrade; this.InitializeData(); }
void dgvSoftwareUpgrades_RowEnter(object sender, System.Windows.Forms.DataGridViewCellEventArgs e) { this.mySelectedSoftwareUpgrade = this.dgvSoftwareUpgrades.Rows[e.RowIndex].DataBoundItem as SoftwareUpgrade; }