public static string GetInfoPlanzeitInfo(this PlanItem planzeit, bool showStundenInfo = false) { var info = ""; var stundenanzeige = ""; if ((planzeit.Arbeitstag?.IsFeiertag ?? false) || planzeit.Dienst == DienstTyp.Frei || (int)planzeit.Zeitraum.Duration.TotalMinutes == 0) { return(info); } var pause = planzeit.NeedPause() ? "P" : " "; var grossteam = planzeit.HatGrossteam ? "G" : " "; if (showStundenInfo) { stundenanzeige = $" ({(planzeit.Zeitraum.Duration.TotalMinutes/60).ToString("0.00")}h)"; } var zusatz = !string.IsNullOrWhiteSpace(pause) || !string.IsNullOrWhiteSpace(grossteam) ? " |" : ""; info = $"{planzeit.Zeitraum.Start.ToString("HH:mm")}-{planzeit.Zeitraum.End.ToString("HH:mm")}{stundenanzeige}{zusatz}{pause}{grossteam}"; return(info); }
/// <summary> /// Gibt für die Arbeitszeit bzw. Dienst Frei die Minuten ohne Pause zurück /// </summary> /// <param name="dienst"></param> /// <returns></returns> public static int GetArbeitsminutenAmKindOhnePause(this PlanItem dienst) { var minuten = (int)dienst.Zeitraum.Duration.TotalMinutes; int pause; if (dienst.NeedPause(out pause)) { return(minuten - pause); } return(minuten); }
public static bool NeedPause(this PlanItem dienst) { int pause; return(dienst.NeedPause(out pause)); }