123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- using System;
- using System.ComponentModel;
- using System.Diagnostics;
- using System.IO;
- using System.Windows;
- using System.Windows.Controls;
- using GCHR.Control;
- using GCHR.Control.Tasks;
- using GCHR.Model;
- using GCHR.View;
- namespace GCHR
- {
- public partial class Main
- {
- private TaskManager _aufgabenListe;
- private bool ImportdatenSichern
- {
- get { return (btnImportdatenSichern.IsChecked != null) ? (bool) btnImportdatenSichern.IsChecked : false; }
- }
- private bool Offlinemodus
- {
- get { return (btnOffline.IsChecked != null) ? (bool)btnOffline.IsChecked : false; }
- }
- private bool Exportprotokoll
- {
- get { return (btnExportprotokoll.IsChecked != null) ? (bool)btnExportprotokoll.IsChecked : false; }
- }
- private bool KeinJahresabschluss
- {
- get { return (btnKeinJahresabschluss.IsChecked != null) ? (bool)btnKeinJahresabschluss.IsChecked : false; }
- }
- public Main()
- {
- InitializeComponent();
- }
- private void WindowLoaded(object sender, RoutedEventArgs e)
- {
- AktuellenMonatEinstellen();
- Logger.Info(DateTime.Now + " GCHR gestartet.");
- }
- private void AktuellenMonatEinstellen()
- {
- jahrbox.Items.Clear();
- for (var i = 2008; i <= DateTime.Today.Year; i++)
- {
- jahrbox.Items.Add(i);
- }
- var jahr = DateTime.Today.Year;
- var vormonat = DateTime.Today.Month - 1;
- if (vormonat < 1)
- {
- vormonat += 12;
- jahr--;
- }
- monatsbox.SelectedIndex = vormonat - 1;
- jahrbox.SelectedValue = jahr;
- }
- private void BtnStartenClick(object sender, RoutedEventArgs e)
- {
- btnStarten.IsEnabled = false;
- btnManuelleKonten.Visibility = Visibility.Hidden;
- AufgabenListeErstellen();
- AmpelnRegistrieren();
- _aufgabenListe.TryRunNextWorker();
- }
- private string PeriodeAusAuswahl()
- {
- var monat = (monatsbox.SelectedIndex + 1).ToString().PadLeft(2, '0');
- return jahrbox.Text + monat;
- }
- private void AufgabenListeErstellen()
- {
- _aufgabenListe = new TaskManager
- {
- Data =
- {
- ImportdatenSichern = ImportdatenSichern,
- Offlinemodus = Offlinemodus,
- Exportprotokoll = Exportprotokoll,
- KeinJahresabschluss = KeinJahresabschluss
- }
- };
- _aufgabenListe.CreateTasks(Ablaufsteuerung, new Periode(PeriodeAusAuswahl(), KeinJahresabschluss));
- }
- private void AmpelnRegistrieren()
- {
- var ampeln = new[]
- {
- ampel_KontenrahmenLaden, ampel_ÜbersetzungstabelleLaden,
- ampel_ÜbersetzungstabelleStatLaden,
- ampel_ManuelleLaden, ampel_SuSaKontenImport, ampel_StatKontenImport,
- ampel_SuSaKontenVerarbeitung,
- ampel_ManuelleKontenVerarbeitung, ampel_Export
- };
- _aufgabenListe.RegisterAmpeln(ampeln);
- }
- private void Ablaufsteuerung(object s, RunWorkerCompletedEventArgs e)
- {
- var aktuellerWorker = (BackgroundWorker)s;
- var aktuelleAufgabe = _aufgabenListe.GetAufgabeByWorker(aktuellerWorker);
- if (e.Error != null)
- {
- btnStarten.IsEnabled = true;
- }
- else
- {
- if (aktuelleAufgabe.ID == 3 && ampel_ManuelleLaden.Done)
- {
- var mkb = new ManuelleKontenBearbeiten(_aufgabenListe.Data.GetManuelleKonten());
- mkb.Closed += ManuelleKontenBearbeitenClosed;
- mkb.Show();
- }
- if (aktuelleAufgabe.ID == 8)
- {
- btnStarten.IsEnabled = true;
- btnProtokoll.Visibility = Visibility.Visible;
- }
- }
- }
- private void ManuelleKontenBearbeitenClosed(object sender, EventArgs e)
- {
- var mkb = (ManuelleKontenBearbeiten)sender;
- _aufgabenListe.Data.SetManuelleKonten(mkb.ManuelleKonten);
- _aufgabenListe.Data.AufManuelleKontenWarten.Set();
- }
- #region Events für Buttons auf der rechten Seite
- private void BtnBeendenClick(object sender, RoutedEventArgs e)
- {
- Close();
- }
- private void BtnEinstellungenClick(object sender, RoutedEventArgs e)
- {
- new Einstellungen().ShowDialog();
- }
- private void BtnManuelleKontenClick(object sender, RoutedEventArgs e)
- {
- return;
- }
- #endregion
- #region Events für Checkboxen
- private void BtnOfflineChecked(object sender, RoutedEventArgs e)
- {
- var chk = sender as CheckBox;
- btnImportdatenSichern.IsChecked = false;
- if (chk != null && chk.IsChecked != null) btnImportdatenSichern.IsEnabled = !(bool)chk.IsChecked;
- }
- private void BtnImportdatenSichernChecked(object sender, RoutedEventArgs e)
- {
- btnOffline.IsChecked = false;
- btnOffline.Visibility = Visibility.Hidden;
- }
- private void BtnImportdatenSichernUnchecked(object sender, RoutedEventArgs e)
- {
- btnOffline.Visibility = Visibility.Visible;
- }
- #endregion
- private void BtnProtokollClick(object sender, RoutedEventArgs e)
- {
- var dateiInfo = new FileInfo(Logger.ExportLog);
- var psi = new ProcessStartInfo("explorer.exe", dateiInfo.Directory.ToString())
- {
- RedirectStandardOutput = true,
- WindowStyle = ProcessWindowStyle.Normal,
- UseShellExecute = false
- };
- Process.Start(psi);
- }
- }
- }
|