Example #1
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var vsBediener = (CollectionViewSource)(this.FindResource("vsBediener"));

            vsBediener.GroupDescriptions.Add(new PropertyGroupDescription("eStandort.Bezeichnung"));
            vsBediener.Source = _Auswertung.ListeBediener.Daten;

            _Auswertung.ListeFeiertageJahr.ViewSource   = (CollectionViewSource)(this.FindResource("vsFeiertage"));
            _Auswertung.ListeSollstundenJahr.ViewSource = (CollectionViewSource)(this.FindResource("vsSollStunden"));
            _Auswertung.ListePausen.ViewSource          = (CollectionViewSource)(this.FindResource("vsPausen"));

            _ListeRundenBeginn = new JgEntityList <tabArbeitszeitRunden>(_Auswertung.Db)
            {
                ViewSource = (CollectionViewSource)FindResource("vsRundenAzBeginn"),
                Daten      = _Auswertung.AzRunden.ListeRunden.Where(w => w.Zeitpunkt == EnumZeitpunkt.Anmeldung).OrderBy(o => o.Monat).ThenBy(o => o.ZeitVon).ToList()
            };
            _ListeRundenBeginn.ViewSource.GroupDescriptions.Add(new PropertyGroupDescription("eStandort.Bezeichnung"));

            _ListeRundenEnde = new JgEntityList <tabArbeitszeitRunden>(_Auswertung.Db)
            {
                ViewSource = (CollectionViewSource)FindResource("vsRundenAzEnde"),
                Daten      = _Auswertung.AzRunden.ListeRunden.Where(w => w.Zeitpunkt == EnumZeitpunkt.Abmeldung).OrderBy(o => o.Monat).ThenBy(o => o.ZeitVon).ToList()
            };

            _ListeRundenEnde.ViewSource.GroupDescriptions.Add(new PropertyGroupDescription("eStandort.Bezeichnung"));
        }
Example #2
0
        public FormOptionen(AnmeldungAuswertung Auswertung)
        {
            InitializeComponent();

            _Auswertung = Auswertung;
            tbJahr.Text = Auswertung.Jahr.ToString();

            // Sollstunden für jedes Jahr überprüfen
            for (byte i = 1; i <= 12; i++)
            {
                if (_Auswertung.ListeSollstundenJahr.Daten.FirstOrDefault(f => f.Monat == i) == null)
                {
                    var neuSoll = new tabSollStunden()
                    {
                        Id    = Guid.NewGuid(),
                        Jahr  = Auswertung.Jahr,
                        Monat = i,
                    };
                    _Auswertung.Db.tabSollStundenSet.Add(neuSoll);
                    _Auswertung.ListeSollstundenJahr.Add(neuSoll);
                }
                ;
            }

            // Kontrolle, ob alle Bediener die Auswertung für Monat 0 besitzen, da hier die Vorjahresdaten eingetragen werden.
            var idisBediener        = Auswertung.ListeBediener.Daten.Select(s => s.Id).ToArray();
            var auswertungenVorjahr = Auswertung.Db.tabArbeitszeitAuswertungSet.Where(w => (idisBediener.Contains(w.fBediener)) && (w.Jahr == Auswertung.Jahr) && (w.Monat == 0)).ToList();

            foreach (var bediener in _Auswertung.ListeBediener.Daten)
            {
                var auswVorjahr = auswertungenVorjahr.FirstOrDefault(f => f.fBediener == bediener.Id);
                if (auswVorjahr == null)
                {
                    auswVorjahr = new tabArbeitszeitAuswertung()
                    {
                        Id           = Guid.NewGuid(),
                        Jahr         = Auswertung.Jahr,
                        Monat        = 0,
                        Ueberstunden = "00:00",
                        Urlaub       = 0,

                        eBediener = bediener,
                        Status    = EnumStatusArbeitszeitAuswertung.Erledigt,
                    };
                    Auswertung.Db.tabArbeitszeitAuswertungSet.Add(auswVorjahr);
                }
                bediener.EArbeitszeitHelper = auswVorjahr;
            }

            _ListeTerminals = new JgEntityList <tabArbeitszeitTerminal>(_Auswertung.Db)
            {
                ViewSource = (CollectionViewSource)FindResource("vsTerminals"),
                Tabellen   = new DataGrid[] { gridTerminals },
                Daten      = _Auswertung.Db.tabArbeitszeitTerminalSet.ToList()
            };
        }
Example #3
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            _Db = new JgModelContainer();
            if (Properties.Settings.Default.DatenbankVerbindungsString != "")
            {
                _Db.Database.Connection.ConnectionString = Properties.Settings.Default.DatenbankVerbindungsString;
            }

            tbDatenbankverbinudng.Text = _Db.Database.Connection.ConnectionString;

            _ListeStandorte = new JgEntityList <tabStandort>(_Db)
            {
                ViewSource   = (CollectionViewSource)this.FindResource("vsStandort"),
                Tabellen     = new DataGrid[] { dgStandort },
                OnDatenLaden = (d, p) =>
                {
                    return(d.tabStandortSet.Where(w => !w.DatenAbgleich.Geloescht).ToList());
                }
            };
            _ListeStandorte.DatenLaden();
            _ListeStandorte.Daten = _ListeStandorte.Daten.OrderBy(o => o.Bezeichnung).ToList();

            _ListeMaschinen = new JgEntityList <tabMaschine>(_Db)
            {
                ViewSource   = (CollectionViewSource)this.FindResource("vsMaschinen"),
                Tabellen     = new DataGrid[] { dgMaschine },
                OnDatenLaden = (d, p) =>
                {
                    return(d.tabMaschineSet.Where(w => !w.DatenAbgleich.Geloescht).Include(i => i.eProtokoll).ToList());
                }
            };
            _ListeMaschinen.DatenLaden();
            _ListeMaschinen.Daten = _ListeMaschinen.Daten.OrderBy(o => o.MaschinenName).ToList();

            _ListeBediener = new JgEntityList <tabBediener>(_Db)
            {
                ViewSource   = (CollectionViewSource)this.FindResource("vsBediener"),
                Tabellen     = new DataGrid[] { dgBediener },
                OnDatenLaden = (d, p) =>
                {
                    return(d.tabBedienerSet.Where(w => !w.DatenAbgleich.Geloescht).ToList());
                }
            };
            _ListeBediener.DatenLaden();
            _ListeBediener.Daten = _ListeBediener.Daten.OrderBy(o => o.NachName).ToList();

            cbStatusBediener.ItemsSource = Enum.GetValues(typeof(JgMaschineData.EnumStatusBediener));
            InitCommands();

            tbNetversion.Text = Helper.GetNetversion();
        }
Example #4
0
        private void RibbonWindow_Loaded(object sender, RoutedEventArgs e)
        {
            _Db = new JgModelContainer();
            if (Properties.Settings.Default.DatenbankVerbindungsString != "")
            {
                _Db.Database.Connection.ConnectionString = Properties.Settings.Default.DatenbankVerbindungsString;
            }

            _Auswertungen = new JgEntityList <tabAuswertung>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsAuswertung"),
                Tabellen     = new DataGrid[] { dgAuswertung },
                OnDatenLaden = (d, p) =>
                {
                    return(d.tabAuswertungSet.Where(w => w.FilterAuswertung == EnumFilterAuswertung.Allgemein).ToList());
                }
            };
            _Auswertungen.DatenLaden();
            _Auswertungen.Daten = _Auswertungen.Daten.OrderBy(o => o.ReportName).ToList();

            _Report          = new FastReport.Report();
            _Report.FileName = "Datenbank";
            _ReportSettings.CustomSaveReport += (obj, repEvent) =>
            {
                MemoryStream memStr = new MemoryStream();
                try
                {
                    var ausw = _Auswertungen.Current;

                    repEvent.Report.Save(memStr);
                    ausw.Report         = memStr.ToArray();
                    ausw.GeaendertDatum = DateTime.Now;
                    ausw.GeaendertName  = Helper.Benutzer;
                    _Auswertungen.DsSave(ausw);
                }
                catch (Exception f)
                {
                    System.Windows.MessageBox.Show("Fehler beim speichern des Reports !\r\nGrund: " + f.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                finally
                {
                    memStr.Dispose();
                }
            };

            InitCommands();
        }
Example #5
0
        private void InitListen()
        {
            var von = DateTime.Now.Date;
            var bis = von.AddDays(1).AddSeconds(-1);

            _ListeBediener = new JgEntityList <tabBediener>(_Db)
            {
                OnDatenLaden = (d, p) =>
                {
                    var idStandort = (Guid)p.Params["idStandort"];
                    return(d.tabBedienerSet.Where(w => (w.Status != EnumStatusBediener.Stillgelegt)).ToList());
                }
            };
            _ListeBediener.Parameter["idStandort"] = _Standort.Id;
            _ListeBediener.DatenLaden();

            _ListeMaschinen = new JgEntityList <tabMaschine>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsMaschine"),
                OnDatenLaden = (d, p) =>
                {
                    var idStandort = (Guid)p.Params["idStandort"];
                    return(d.tabMaschineSet.Where(w => (w.fStandort == idStandort) && (!w.DatenAbgleich.Geloescht) && (w.Status != EnumStatusMaschine.Stillgelegt))
                           .OrderBy(o => o.MaschinenName).ToList());
                }
            };
            _ListeMaschinen.Parameter["idStandort"] = _Standort.Id;
            _ListeMaschinen.DatenLaden();

            // Aktuelle Anmeldungen an Maschine *****************************************************

            _ListeAnmeldungen = new JgEntityList <tabAnmeldungMaschine>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsAnmeldungAktuell"),
                Tabellen     = new DataGrid[] { dgAnmeldungAktuell },
                OnDatenLaden = (d, p) =>
                {
                    var idStandort = (Guid)p.Params["IdStandort"];
                    var dat        = (from benutzer in d.tabBedienerSet
                                      join anmeldung in d.tabAnmeldungMaschineSet on benutzer.fAktivAnmeldung equals anmeldung.Id
                                      where (anmeldung.eMaschine.fStandort == idStandort)
                                      select anmeldung);

                    if (!p.IstSortiert)
                    {
                        dat = dat.OrderBy(o => o.Anmeldung);
                    }

                    return(dat.ToList());
                }
            };
            _ListeAnmeldungen.Parameter["IdStandort"] = _Standort.Id;
            _ListeAnmeldungen.DatenLaden();

            foreach (var ma in _ListeMaschinen.Daten)
            {
                ma.AktiveAnmeldungen = _ListeAnmeldungen.Daten.Where(w => w.eMaschine == ma).ToList();
            }

            // Auswahl Anmeldungenan an Maschinen ********************************************************

            _DzAnmeldungVon.AnzeigeDatumZeit = von;
            _DzAnmeldungBis.AnzeigeDatumZeit = bis;

            _ListeAnmeldungAuswahl = new JgEntityList <tabAnmeldungMaschine>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsAnmeldungAuswahl"),
                Tabellen     = new DataGrid[] { dgAnmeldungAuswahl },
                OnDatenLaden = (d, p) =>
                {
                    var idisMaschinen = (Guid[])p.Params["IdisMaschinen"];
                    var datVon        = (DateTime)p.Params["DatumVon"];
                    var datBis        = (DateTime)p.Params["DatumBis"];

                    var dat = d.tabAnmeldungMaschineSet.Where(w => idisMaschinen.Contains(w.fMaschine) && (w.Anmeldung >= datVon) && ((w.Anmeldung <= datBis)));

                    if (!p.IstSortiert)
                    {
                        dat = dat.OrderBy(o => o.Anmeldung);
                    }

                    return(dat.ToList());
                }
            };

            // Auswahl Bauteile initialisieren ****************************

            _DzBauteilVon.AnzeigeDatumZeit = von;
            _DzBauteilBis.AnzeigeDatumZeit = bis;

            _ListeBauteilAuswahl = new JgEntityList <tabBauteil>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsBauteilAuswahl"),
                Tabellen     = new DataGrid[] { dgBauteilAuswahl },
                OnDatenLaden = (d, p) =>
                {
                    var idMaschine = (Guid)p.Params["IdMaschine"];
                    var datVon     = (DateTime)p.Params["DatumVon"];
                    var datBis     = (DateTime)p.Params["DatumBis"];

                    var dat = d.tabBauteilSet.Where(w => (w.fMaschine == idMaschine) && (w.DatumStart >= datVon) && (w.DatumStart <= datBis))
                              .Include(i => i.sBediener);

                    if (!p.IstSortiert)
                    {
                        dat = dat.OrderBy(o => o.DatumStart);
                    }

                    return(dat.ToList());
                }
            };

            // Aktuelle Reparaturen initialisieren ********************************************************

            _ListeReparaturen = new JgEntityList <tabReparatur>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsReparaturAktuell"),
                Tabellen     = new DataGrid[] { dgReparaturAktuell },
                OnDatenLaden = (d, p) =>
                {
                    var lMaschinen      = (IEnumerable <tabMaschine>)p.Params["ListeMaschinen"];
                    var idisReparaturen = lMaschinen.Where(w => w.eAktivReparatur != null).Select(s => (Guid)s.fAktivReparatur).ToArray();

                    var dat = d.tabReparaturSet.Where(w => idisReparaturen.Contains(w.Id))
                              .Include(i => i.sAnmeldungen).Include(i => i.sAnmeldungen.Select(s => s.eBediener));

                    if (!p.IstSortiert)
                    {
                        dat = dat.OrderBy(o => o.VorgangBeginn);
                    }

                    if (!p.IstDatenLaden) // Nur bei Aktualisierung starten
                    {
                        HelperReparaturAnmeldungen(d, dat);
                    }

                    return(dat.ToList());
                }
            };
            _ListeReparaturen.Parameter["ListeMaschinen"] = _ListeMaschinen.Daten;
            _ListeReparaturen.DatenLaden();


            // Auswahl Reparaturen initialisieren ********************************************************

            _DzReparaturVon.AnzeigeDatumZeit = von;
            _DzReparaturBis.AnzeigeDatumZeit = bis;

            _ListeReparaturAuswahl = new JgEntityList <tabReparatur>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsReparaturAuswahl"),
                Tabellen     = new DataGrid[] { dgReparaturAuswahl },
                OnDatenLaden = (d, p) =>
                {
                    var idisMaschinen = (Guid[])p.Params["IdisMaschinen"];
                    var datVon        = (DateTime)p.Params["DatumVon"];
                    var datBis        = (DateTime)p.Params["DatumBis"];

                    var dat = d.tabReparaturSet.Where(w => idisMaschinen.Contains(w.fMaschine) && (w.VorgangBeginn >= datVon) && (w.VorgangBeginn <= datBis))
                              .Include(i => i.sAnmeldungen).Include(i => i.sAnmeldungen.Select(s => s.eBediener)).OrderBy(o => o.VorgangBeginn).ToList();

                    if (!p.IstDatenLaden) // Nur bei Aktualisierung starten
                    {
                        HelperReparaturAnmeldungen(d, dat);
                    }

                    return(dat.ToList());
                }
            };

            // Reporte für Auswertungen initialisieren ********************************

            var filterAuswertungen = new EnumFilterAuswertung[] { EnumFilterAuswertung.Anmeldung, EnumFilterAuswertung.Bauteil, EnumFilterAuswertung.Reparatur };
            var reporte            = _Db.tabAuswertungSet.Where(w => filterAuswertungen.Contains(w.FilterAuswertung) && (!w.DatenAbgleich.Geloescht)).ToList();

            _ListeReporteAnmeldung = new JgEntityList <tabAuswertung>(_Db)
            {
                ViewSource = (CollectionViewSource)this.FindResource("vsReporteAnmeldung"),
                Daten      = reporte.Where(w => w.FilterAuswertung == EnumFilterAuswertung.Anmeldung).OrderBy(o => o.AnzeigeReportname).ToList()
            };

            _ListeReporteBauteil = new JgEntityList <tabAuswertung>(_Db)
            {
                ViewSource = (CollectionViewSource)this.FindResource("vsReporteBauteil"),
                Daten      = reporte.Where(w => w.FilterAuswertung == EnumFilterAuswertung.Bauteil).OrderBy(o => o.AnzeigeReportname).ToList()
            };

            _ListeReporteReparatur = new JgEntityList <tabAuswertung>(_Db)
            {
                ViewSource = (CollectionViewSource)this.FindResource("vsReporteReparatur"),
                Daten      = reporte.Where(w => w.FilterAuswertung == EnumFilterAuswertung.Reparatur).OrderBy(o => o.AnzeigeReportname).ToList()
            };
        }
Example #6
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;

            this.Title += " - V " + version.ToString();

            _Db = new JgModelContainer();
            if (Properties.Settings.Default.DatenbankVerbindungsString != "")
            {
                _Db.Database.Connection.ConnectionString = Properties.Settings.Default.DatenbankVerbindungsString;
            }

            var heute = DateTime.Now.Date;

            _AzRunden = new ArbeitszeitRunden(_Db, heute.Year);

            _DzArbeitszeitVon.AnzeigeDatumZeit = heute;
            _DzArbeitszeitBis.AnzeigeDatumZeit = new DateTime(heute.Year, heute.Month, heute.Day, 23, 59, 59);

            _ListeArbeitszeitenAuswahl = new JgEntityList <tabArbeitszeit>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsArbeitszeitAuswahl"),
                Tabellen     = new DataGrid[] { dgArbeitszeitAuswahl },
                OnDatenLaden = (d, p) =>
                {
                    var datVom   = (DateTime)p.Params["DatumVon"];
                    var datBis   = (DateTime)p.Params["DatumBis"];
                    var azRunden = (ArbeitszeitRunden)p.Params["AzRunden"];

                    var lZeiten = d.tabArbeitszeitSet.Where(w => (((w.Anmeldung >= datVom) && (w.Anmeldung <= datBis)) ||
                                                                  ((w.Anmeldung == null) && (w.Abmeldung >= datVom) && (w.Abmeldung <= datBis))));

                    if (!p.IstSortiert)
                    {
                        lZeiten = lZeiten.OrderBy(o => o.Anmeldung);
                    }

                    foreach (var zeit in lZeiten.ToList())
                    {
                        zeit.AnmeldungGerundet = azRunden.GetZeitGerundet(EnumZeitpunkt.Anmeldung, zeit.fStandort, zeit.Anmeldung);
                        zeit.AbmeldungGerundet = azRunden.GetZeitGerundet(EnumZeitpunkt.Abmeldung, zeit.fStandort, zeit.Abmeldung);
                    }

                    return(lZeiten);
                }
            };
            _ListeArbeitszeitenAuswahl.Parameter["AzRunden"] = _AzRunden;
            _ListeArbeitszeitenAuswahl.Parameter["DatumVon"] = _DzArbeitszeitVon.AnzeigeDatumZeit;
            _ListeArbeitszeitenAuswahl.Parameter["DatumBis"] = _DzArbeitszeitBis.AnzeigeDatumZeit;
            _ListeArbeitszeitenAuswahl.DatenLaden();

            // Report initialisieren ********************************

            _ListeReporteArbeitszeiten = new JgEntityList <tabAuswertung>(_Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsReporteArbeitszeit"),
                OnDatenLaden = (d, p) =>
                {
                    return(_Db.tabAuswertungSet.Where(w => (w.FilterAuswertung == EnumFilterAuswertung.Arbeitszeit) && (!w.DatenAbgleich.Geloescht))
                           .OrderBy(o => o.ReportName).ToList());
                }
            };
            _ListeReporteArbeitszeiten.DatenLaden();

            _ListeReporteAuswertung = new JgEntityList <tabAuswertung>(_ListeReporteArbeitszeiten.Db)
            {
                ViewSource   = (CollectionViewSource)FindResource("vsReporteAuswertung"),
                OnDatenLaden = (d, p) =>
                {
                    return(_Db.tabAuswertungSet.Where(w => (w.FilterAuswertung == EnumFilterAuswertung.ArbeitszeitAuswertung) && (!w.DatenAbgleich.Geloescht))
                           .OrderBy(o => o.ReportName).ToList());
                }
            };
            _ListeReporteAuswertung.DatenLaden();

            // Klasse Auswertung intitialisieren

            _Erstellung = new AnmeldungAuswertung(_Db, cbJahr, cbMonat,
                                                  (CollectionViewSource)FindResource("vsBediener"),
                                                  _AzRunden,
                                                  (ArbeitszeitBediener)FindResource("ArbeitszeitBediener"),
                                                  (CollectionViewSource)FindResource("vsArbeitszeitTage"));

            // Report für Auswertung erstellen

            _Report = new FastReport.Report()
            {
                FileName = "Datenbank"
            };
            _ReportSettings.CustomSaveReport += (obj, repEvent) =>
            {
                MemoryStream memStr = new MemoryStream();
                try
                {
                    repEvent.Report.Save(memStr);
                    _AktuellerReport.Report         = memStr.ToArray();
                    _AktuellerReport.GeaendertDatum = DateTime.Now;
                    _AktuellerReport.GeaendertName  = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
                    _ListeReporteArbeitszeiten.DsSave(_AktuellerReport);
                    if (_AktuellerReport.FilterAuswertung == EnumFilterAuswertung.ArbeitszeitAuswertung)
                    {
                        _ListeReporteAuswertung.Refresh();
                    }
                    else
                    {
                        _ListeReporteArbeitszeiten.Refresh();
                    }
                }
                catch (Exception f)
                {
                    MessageBox.Show("Fehler beim speichern des Reports !\r\nGrund: " + f.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                finally
                {
                    memStr.Dispose();
                }
            };
        }