public void Plane(DateTime monat) { var schichten = _schichtRepository.GetAll(); var aktuelleSchicht = schichten.Where(x => x.Veranstaltung.BeginntAm.Month == monat.Month); _zeitBuchungen.BeginChanges(); foreach (var schicht in aktuelleSchicht) { var person = _personalFinder.FindeFür(schicht.Aufgabe.Beginn, schicht.Aufgabe.Ende, schicht.Aufgabe.Rolle); if (person == null) { continue; } schicht.Person = person; var zeitbuchung = new ZeitBuchung { Person = person, Rolle = schicht.Aufgabe.Rolle, Wann = schicht.Aufgabe.Beginn, Minuten = (uint)(schicht.Aufgabe.Ende - schicht.Aufgabe.Beginn).TotalMinutes, MinutenSatz = person.MinutenSatz }; _zeitBuchungen.Add(zeitbuchung); } _schichtRepository.Save(); _zeitBuchungen.Save(); }
public ZeitBuchungsViewModel(ZeitBuchung x) { Wann = x.Wann; Zeit = GetZeit(x.Minuten); MinutenSatz = x.MinutenSatz == 0m ? "" : x.MinutenSatz.ToString(); RollenName = x.Rolle.Name; PersonenName = x.Person.Name; if (!string.IsNullOrWhiteSpace(x.Person.Vorname)) { PersonenName += ", " + x.Person.Vorname; } Verbucht = x.Verbucht; }