void mbtnNewSoftwareUpgrade_Click(object sender, EventArgs e) { // Die Kundennummer ermitteln. var title = "Kunden für neues Software-Upgrade suchen"; Kunde kunde = null; var csv = new CustomerSearchView(title, false); csv.ShowDialog(this); if (csv.DialogResult == System.Windows.Forms.DialogResult.OK) { var customerRow = csv.SelectedCustomer; if (customerRow != null) { kunde = Model.ModelManager.CustomerService.GetKunde(customerRow.Kundennummer, false); } // Die zu aktualisierende Kundensoftware ermitteln. Kundensoftware alteSoftware = null; var ksv = new KundensoftwareSearchView(kunde); ksv.ShowDialog(this); if (ksv.DialogResult == System.Windows.Forms.DialogResult.OK) { alteSoftware = ksv.SelectedKundensoftware; } if (kunde != null && alteSoftware != null) { var newUpgrade = Model.ModelManager.SoftwareService.AddSoftwareUpgrade(kunde, alteSoftware); var suv = new SoftwareUpgradeView(newUpgrade); suv.Show(); } } }
/// <summary> /// Löscht die angegebene Kundensoftware. /// </summary> /// <param name="software"></param> public void DeleteKundenSoftware(Kundensoftware software) { if (this.myKundensoftwareList.Contains(software)) { this.myKundensoftwareList.Remove(software); } DataManager.SoftwareDataService.DeleteKundenSoftwareRow(software.UID); }
void dgvSoftware_RowEnter(object sender, DataGridViewCellEventArgs e) { var software = dgvSoftware.Rows[e.RowIndex].DataBoundItem as Kundensoftware; if (software != null) { mySelectedSoftware = software; } }
internal void ShowSoftware(Kundensoftware software) { var softwarePanel = new PanelSoftware(this, software, true); if (myActivePanel.KeepLoaded) { myPanelsBack.Push(myActivePanel); } this.myActivePanel.Swipe(false); softwarePanel.Swipe(true); this.myActivePanel = softwarePanel; this.ToggleCloseButton(); }
/// <summary> /// Erstellt eine neue Software für den angegebenen Kunden und optional die /// angegebene Kundenmaschine. /// </summary> /// <param name="kunde">Der Kunde, für den die neue Software erfasst wird.</param> /// <param name="kundenmaschine"> /// Optional, die Kundenmaschine, der die neue Software zugeordnet werden soll. /// </param> /// <returns></returns> public Kundensoftware AddKundenSoftware(Kunde kunde, Kundenmaschine kundenmaschine = null) { string machinePK = ""; if (kundenmaschine != null) { machinePK = kundenmaschine.UID; } var sRow = DataManager.SoftwareDataService.AddKundenSoftwareRow(kunde.CustomerId, machinePK); var sw = new Kundensoftware(sRow, kunde, kundenmaschine); this.myKundensoftwareList.Add(sw); return(sw); }
/// <summary> /// Gibt eine sortierbare Liste der Software für die angegebene Maschine zurück. /// </summary> /// <param name="machine">Die Maschine, der die Software zugeordnet ist.</param> /// <returns></returns> public SBList <Kundensoftware> GetMachinesSoftware(Kundenmaschine machine) { var list = new SBList <Kundensoftware>(); foreach (dsSoftware.KundenSoftwareRow sRow in DataManager.SoftwareDataService.GetMachineSoftwareRows(machine.UID)) { var sw = this.myKundensoftwareList.FirstOrDefault(s => s.UID == sRow.UID); if (sw == null) { sw = new Kundensoftware(sRow, machine.CurrentOwner, machine); this.myKundensoftwareList.Add(sw); } list.Add(sw); } return(list); }
/// <summary> /// Gibt eine sortierbare Liste der Kundensoftware des angegebenen Kunden zurück. /// </summary> /// <param name="kunde"></param> /// <returns></returns> public SortableBindingList <Kundensoftware> GetCustomersSoftware(Kunde kunde) { var list = new SortableBindingList <Kundensoftware>(); foreach (dsSoftware.KundenSoftwareRow sRow in DataManager.SoftwareDataService.GetCustomerSoftwareRows(kunde.CustomerId)) { var sw = this.myKundensoftwareList.FirstOrDefault(s => s.UID == sRow.UID); if (sw == null) { sw = new Kundensoftware(sRow, kunde); this.myKundensoftwareList.Add(sw); } list.Add(sw); } return(list); }
/// <summary> /// Löscht eine <seealso cref="SoftwareUpgrade"/> Instanz endgültig. /// </summary> /// <param name="kunde"> /// Der <seealso cref="Kunde"/>, dem das <seealso cref="SoftwareUpgrade"/> /// zugeordnet ist. /// </param> /// <param name="alteSoftware"> /// Die <seealso cref="Kundensoftware"/>, die aktualisiert werden soll, bzw. sollte. /// </param> /// <returns></returns> public int DeleteSoftwareUpgrade(Kunde kunde, Kundensoftware alteSoftware) { var result = 0; // Das SoftwareUpgrade Element aus der internen Auflistung entfernen. var dItem = this.GetSoftwareUpgradeList().FirstOrDefault(u => u.Kundennummer == kunde.CustomerId & u.AlteVersionId == alteSoftware.UID); if (dItem == null) { var msg = $"Die Software mit dem Primärschlüssel '{kunde.CustomerId}' und '{alteSoftware.UID}' gibt es in dieser Liste nicht."; throw new ApplicationException(msg); } this.GetSoftwareUpgradeList().Remove(dItem); // Den zugrundeliegenden Datensatz aus der Datenbank löschen (cpm_softwareupgrade). result = DataManager.SoftwareDataService.DeleteSoftwareUpgradeRow(kunde.CustomerId, alteSoftware.UID); return(result); }
/// <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); }
void dgvKundensoftware_RowEnter(object sender, DataGridViewCellEventArgs e) { this.SelectedKundensoftware = this.dgvKundensoftware.Rows[e.RowIndex].DataBoundItem as Kundensoftware; }