private void BerechneUeberstundenAusTagen() { var istZeit = new TimeSpan(ListeTage.Sum(c => c.Zeit.Ticks)); var fTage = new TimeSpan(8 * (AuswertungMonat.fUrlaub + AuswertungMonat.fKrank + AuswertungMonat.fFeiertage), 0, 0); AuswertungMonat.UeberstundenAnzeige = JgZeit.ZeitInString(istZeit + fTage - AuswertungMonat.fSollStunden); BerechneUeberstundenGesamt(); AuswertungMonat.NotifyPropertyChanged("IstStundenAnzeige"); }
public void SetUebestundenAuszahlung(TimeSpan UeberstundenAuszahlung) { if (UeberstundenAuszahlung != AuswertungMonat.fUeberstundenBezahlt) { AuswertungMonat.UeberstundenBezahltAnzeige = JgZeit.ZeitInString(UeberstundenAuszahlung); AuswertungMonat.AzAuswertung.AuszahlungUeberstunden = AuswertungMonat.UeberstundenBezahltAnzeige; AuswertungGesamt.UeberstundenBezahltAnzeige = JgZeit.ZeitInString(AuswertungKumulativ.fUeberstundenBezahlt + UeberstundenAuszahlung); BerechneUeberstundenGesamt(); _Db.SaveChanges(); } }
public void SetSollstunden(TimeSpan Sollstunden) { if (Sollstunden != AuswertungMonat.fSollStunden) { var sollStunden = JgZeit.ZeitInString(Sollstunden); AuswertungMonat.AzAuswertung.SollStunden = sollStunden; _Db.SaveChanges(); AuswertungMonat.SollStundenAnzeige = sollStunden; BerechneUeberstundenAusTagen(); BerechneUeberstundenGesamt(); AuswertungMonat.NotifyPropertyChanged("IstStundenAnzeige"); } }
private void DatenMonatInDatenbank() { var dsAz = AuswertungMonat.AzAuswertung; dsAz.Ueberstunden = JgZeit.ZeitInString(AuswertungMonat.fUeberstunden); dsAz.NachtschichtZuschlaege = JgZeit.ZeitInString(AuswertungMonat.fNachtschichtZuschlaege); dsAz.FeiertagZuschlaege = JgZeit.ZeitInString(AuswertungMonat.fFeiertagZuschlaege); dsAz.Urlaub = (byte)AuswertungMonat.fUrlaub; dsAz.Feiertage = (byte)AuswertungMonat.fFeiertage; dsAz.Krank = (byte)AuswertungMonat.fKrank; _Db.SaveChanges(); }
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); }
private void Datagrid_DoppelClick(object sender, System.Windows.Input.MouseButtonEventArgs e) { var aktTag = (FindResource("vsArbeitszeitTage") as CollectionViewSource).View.CurrentItem; if (aktTag != null) { var aktDs = (tabArbeitszeitTag)aktTag; if (dgArbeitszeit.CurrentColumn == clPauseBerechnet) { aktDs.PauseAnzeige = JgZeit.ZeitInString(aktDs.PauseBerechnet); } else if (dgArbeitszeit.CurrentColumn == clZeitBerechnet) { aktDs.ZeitAnzeige = JgZeit.ZeitInString(aktDs.ZeitBerechnet); } else if (dgArbeitszeit.CurrentColumn == clNachtschichtBerechnet) { aktDs.NachtschichtZuschlagAnzeige = JgZeit.ZeitInString(aktDs.NachtschichtBerechnet); } } }
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; }
private void BerechneUeberstundenBezahlt() { var ueberstundenBezahlt = AuswertungKumulativ.fUeberstundenBezahlt + AuswertungMonat.fUeberstundenBezahlt; AuswertungGesamt.UeberstundenBezahltAnzeige = JgZeit.ZeitInString(ueberstundenBezahlt); }
private void BerechneFeiertagZuschlag() { var sumZeit = new TimeSpan(ListeTage.Sum(c => c.FeiertagZuschlag.Ticks)); AuswertungMonat.FeiertagZuschlaegeAnzeige = JgZeit.ZeitInString(sumZeit); }
private void BerechneNachtschichtZuschlag() { var sumNachtschicht = new TimeSpan(ListeTage.Sum(c => c.NachtschichtZuschlag.Ticks)); AuswertungMonat.NachtschichtZuschlaegeAnzeige = JgZeit.ZeitInString(sumNachtschicht); }
private void OnWertWurdeManuellGeaendert(tabArbeitszeitTag AuswertungTag, string PropertyName) { if (PropertyName == "Pause") { var zeiten = AuswertungTag.sArbeitszeiten.Where(w => (w.Anmeldung != null) && (w.Abmeldung != null)).ToList(); AuswertungTag.ZeitBerechnet = TimeSpan.Zero; AuswertungTag.NachtschichtBerechnet = TimeSpan.Zero; foreach (var zeit in zeiten) { AuswertungTag.ZeitBerechnet += zeit.Dauer; AuswertungTag.NachtschichtBerechnet += NachtSchichtBerechnen(22, 0, 8, 0, zeit.Anmeldung.Value, zeit.Abmeldung.Value); } AuswertungTag.ZeitBerechnet = ZeitAufMinuteRunden(AuswertungTag.ZeitBerechnet - AuswertungTag.Pause); AuswertungTag.NachtschichtBerechnet = ZeitAufMinuteRunden(AuswertungTag.NachtschichtBerechnet); BerechneUeberstundenAusTagen(); AuswertungMonat.AzAuswertung.Ueberstunden = JgZeit.ZeitInString(AuswertungMonat.fUeberstunden); } else if (PropertyName == "Zeit") { BerechneUeberstundenAusTagen(); AuswertungMonat.AzAuswertung.Ueberstunden = JgZeit.ZeitInString(AuswertungMonat.fUeberstunden); } else if (PropertyName == "Urlaub") { BerechneUrlaub(); AuswertungMonat.AzAuswertung.Urlaub = (byte)AuswertungMonat.fUrlaub; BerechneUeberstundenAusTagen(); AuswertungMonat.AzAuswertung.Ueberstunden = JgZeit.ZeitInString(AuswertungMonat.fUeberstunden); } else if (PropertyName == "Krank") { BerechneKrank(); AuswertungMonat.AzAuswertung.Krank = (byte)AuswertungMonat.fKrank; BerechneUeberstundenAusTagen(); AuswertungMonat.AzAuswertung.Ueberstunden = JgZeit.ZeitInString(AuswertungMonat.fUeberstunden); } else if (PropertyName == "Feiertag") { BerechneFeiertage(); AuswertungMonat.AzAuswertung.Feiertage = (byte)AuswertungMonat.fFeiertage; BerechneUeberstundenAusTagen(); AuswertungMonat.AzAuswertung.Ueberstunden = JgZeit.ZeitInString(AuswertungMonat.fUeberstunden); } else if (PropertyName == "FeiertagZuschlag") { BerechneFeiertagZuschlag(); AuswertungMonat.AzAuswertung.FeiertagZuschlaege = JgZeit.ZeitInString(AuswertungMonat.fFeiertagZuschlaege); } else if (PropertyName == "NachtschichtZuschlag") { BerechneNachtschichtZuschlag(); AuswertungMonat.AzAuswertung.NachtschichtZuschlaege = JgZeit.ZeitInString(AuswertungMonat.fNachtschichtZuschlaege); } if (AuswertungTag.IstManuellGeaendert == false) { AuswertungTag.IstManuellGeaendert = true; AuswertungTag.NotifyPropertyChanged("IstManuellGeaendert"); } _Db.SaveChanges(); }
public void BerechneUeberstundenGesamt() { var erg = AuswertungVorjahr.fUeberstunden + AuswertungKumulativ.fUeberstunden + AuswertungMonat.fUeberstunden - AuswertungGesamt.fUeberstundenBezahlt; AuswertungGesamt.UeberstundenAnzeige = JgZeit.ZeitInString(erg); }