Esempio n. 1
0
        /// <summary>
        /// Eingaben speichern und in Buchungen umwandeln
        /// </summary>
        /// <param name="btn">Referenz zum sendendem Button</param>
        private void saveAmounts(Button btn)
        {
            // Standard Hintergrund definieren
            Brush bgNormal = QuickBookingDataGrid.Background;

            // Validiere Textboxen und hole gleichzeitig eine Liste von Models, die alle geparsten Beträge und zugehörige Kunden enthält
            List <QuickBookingDataGridModel> quickBookingDataGridModels;
            bool allTextBoxesValid = validateTextBoxAmount(out quickBookingDataGridModels);

            if (allTextBoxesValid)
            {
                // Hole Standardkonten für Kunden und für Einnahmen-Kasse aus der config.ini
                string srcAccountNumberStr = IniParser.GetSetting("ACCOUNTING", "defaultCustomerAccountNr");
                int    srcAccountID;
                bool   successSrcAccParse = getAccountIDfromAccountNumberStr(srcAccountNumberStr, out srcAccountID);

                string targetAccountNumberStr = IniParser.GetSetting("ACCOUNTING", "defaultCashBoxAccountNr");
                int    targetAccountID;
                bool   successTargetAccParse = getAccountIDfromAccountNumberStr(targetAccountNumberStr, out targetAccountID);

                // Wenn diese Einträge in der Konfigurationsdatei nicht korrekt sind, breche ab
                if (!(successSrcAccParse && successTargetAccParse))
                {
                    MessageBoxEnhanced.Error(IniParser.GetSetting("ERRORMSG", "quickBookingError"));
                    return;
                }

                bool success = true;

                // Ansonsten führe die Buchungen durch
                foreach (var model in quickBookingDataGridModels)
                {
                    success = newQuickBooking(model.person, model.parsedAmount, srcAccountID, targetAccountID);
                    if (!success)
                    {
                        break;
                    }
                }

                if (success)
                {
                    MessageBoxEnhanced.Info(IniParser.GetSetting("ACCOUNTING", "quickBookingSuccess"));
                    QuickBookingDataGrid.ItemsSource = null;
                    QuickBookingDataGrid.Items.Refresh();
                    cbGroup.SelectedItem = null;
                }
            }
            else
            {
                MessageBoxEnhanced.Error(IniParser.GetSetting("ERRORMSG", "quickBookingParsed"));
            }
        }