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();
                }
            }
        }
Exemple #2
0
 /// <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);
 }
Exemple #3
0
        void dgvSoftware_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            var software = dgvSoftware.Rows[e.RowIndex].DataBoundItem as Kundensoftware;

            if (software != null)
            {
                mySelectedSoftware = software;
            }
        }
Exemple #4
0
        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();
        }
Exemple #5
0
        /// <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);
        }
Exemple #6
0
        /// <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);
        }
Exemple #7
0
        /// <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);
        }
Exemple #8
0
        /// <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);
        }
Exemple #9
0
        /// <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);
        }
Exemple #10
0
 void dgvKundensoftware_RowEnter(object sender, DataGridViewCellEventArgs e)
 {
     this.SelectedKundensoftware = this.dgvKundensoftware.Rows[e.RowIndex].DataBoundItem as Kundensoftware;
 }