Beispiel #1
0
 private static void BedienerVonReparaturAbmelden(tabMaschine Maschine, tabBediener Bediener)
 {
     if (Maschine.eAktivReparatur != null)
     {
         var anmeldungReparatur = Maschine.eAktivReparatur.sAnmeldungen.Where(w => w.IstAktiv).FirstOrDefault(f => f.eBediener == Bediener);
         if (anmeldungReparatur != null)
         {
             anmeldungReparatur.AnzeigeAbmeldung = DateTime.Now;
         }
     }
 }
Beispiel #2
0
        public FormBediener(tabBediener Bediener, IEnumerable <tabStandort> Standorte)
        {
            InitializeComponent();
            cmbStandort.ItemsSource = Standorte;
            cmbStatus.ItemsSource   = Enum.GetValues(typeof(EnumStatusBediener));

            if (Bediener == null)
            {
                Bediener = new tabBediener()
                {
                    Status = EnumStatusBediener.Aktiv, fStandort = (cmbStandort.Items[0] as tabStandort).Id
                }
            }
            ;
            gridBediener.DataContext = Bediener;
        }
Beispiel #3
0
        private tabArbeitszeitAuswertung ArbeitszeitAuswertungErstellen(tabBediener Bediener, short Jahr, byte Monat, TimeSpan SollStundenMonat)
        {
            var az = new tabArbeitszeitAuswertung()
            {
                Id        = Guid.NewGuid(),
                fBediener = Bediener.Id,
                Jahr      = Jahr,
                Monat     = Monat,
                Urlaub    = 0,
                AuszahlungUeberstunden = "00:00",
                SollStunden            = JgZeit.ZeitInString(SollStundenMonat),
                Status = EnumStatusArbeitszeitAuswertung.InArbeit,
            };

            _Db.tabArbeitszeitAuswertungSet.Add(az);
            _Db.SaveChanges();

            return(az);
        }
Beispiel #4
0
        public void BedienerBerechnen(tabBediener Bediener, short Jahr, byte Monat, TimeSpan SollStundenMonat,
                                      IEnumerable <tabFeiertage> ListeFeiertageMonat, IEnumerable <tabPausenzeit> ListePausen)
        {
            if (Bediener == null)
            {
                return;
            }

            this.Bediener = Bediener;
            var alleAuswertungenBediener = _Db.tabArbeitszeitAuswertungSet.Where(w => (w.fBediener == Bediener.Id) && (w.Jahr == Jahr) && (w.Monat <= Monat)).ToList();

            var auswErster = alleAuswertungenBediener.FirstOrDefault(w => w.Monat == 0);

            if (auswErster == null)
            {
                auswErster = ArbeitszeitAuswertungErstellen(Bediener, Jahr, 0, TimeSpan.Zero);
            }

            AuswertungVorjahr.AzAuswertung = auswErster;

            var auswMonat = alleAuswertungenBediener.FirstOrDefault(w => (w.Monat == Monat));

            if (auswMonat == null)
            {
                auswMonat = ArbeitszeitAuswertungErstellen(Bediener, Jahr, Monat, SollStundenMonat);
            }

            AuswertungMonat.AzAuswertung = auswMonat;
            Bediener.EArbeitszeitHelper  = auswMonat;

            var auswKumulativ = alleAuswertungenBediener.Where(w => (w.Monat > 0) && (w.Monat < Monat)).ToList();

            var sumUeberstunden = new TimeSpan(auswKumulativ.Sum(s => JgZeit.StringInZeit(s.Ueberstunden).Ticks));

            AuswertungKumulativ.UeberstundenAnzeige = JgZeit.ZeitInString(sumUeberstunden);
            var sumUeberstBezahlt = new TimeSpan(auswKumulativ.Sum(s => JgZeit.StringInZeit(s.AuszahlungUeberstunden).Ticks));

            AuswertungKumulativ.UeberstundenBezahltAnzeige = JgZeit.ZeitInString(sumUeberstBezahlt);
            AuswertungKumulativ.KrankAnzeige  = (byte)auswKumulativ.Sum(s => s.Krank);
            AuswertungKumulativ.UrlaubAnzeige = (byte)auswKumulativ.Sum(s => s.Urlaub);

            var berechneteWerteInDb = AuswertungMonat.AzAuswertung.Status == EnumStatusArbeitszeitAuswertung.InArbeit;

            ListeFuerJedenTagErstellen(Bediener.EArbeitszeitHelper, ListeFeiertageMonat, ListePausen, berechneteWerteInDb);

            BerechneKrank();
            BerechneUrlaub();
            BerechneFeiertage();
            BerechneFeiertagZuschlag();

            BerechneNachtschichtZuschlag();
            BerechneUeberstundenBezahlt();

            BerechneUeberstundenAusTagen();
            BerechneUeberstundenGesamt();

            if (berechneteWerteInDb)
            {
                DatenMonatInDatenbank();
            }

            return;
        }