Programm_Wirl/AA-Klassen/Lieferrhythmus.cs

57 lines
2.0 KiB
C#

using DatenDB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Deckungsbeitrag.AA_Klassen
{
[Flags]
public enum Liefertage
{
None = 0,
Monday = 1 << 1, // 2
Tuesday = 1 << 2, // 4
Wednesday = 1 << 3, // 8
Thursday = 1 << 4, // 16
Friday = 1 << 5 // 32
}
// Vordefinierte Rhythmen als Kombinationen
public static class Lieferrhythmen
{
public static Liefertage Unbekannt => Liefertage.None;
public static Liefertage WoechentlichMo => Liefertage.Monday;
public static Liefertage WoechentlichDi => Liefertage.Tuesday;
public static Liefertage WoechentlichMi => Liefertage.Wednesday;
public static Liefertage WoechentlichDo => Liefertage.Thursday;
public static Liefertage WoechentlichFr => Liefertage.Friday;
public static Liefertage ZweimalMoDo => Liefertage.Monday | Liefertage.Thursday;
public static Liefertage ZweimalDiFr => Liefertage.Tuesday | Liefertage.Friday;
public static Liefertage DreimalMoMiFr => Liefertage.Monday | Liefertage.Wednesday | Liefertage.Friday;
public static Liefertage ViermalMoDiDoFr => Liefertage.Monday | Liefertage.Tuesday | Liefertage.Thursday | Liefertage.Friday;
public static Liefertage TaeglichMoFr => Liefertage.Monday | Liefertage.Tuesday | Liefertage.Wednesday | Liefertage.Thursday | Liefertage.Friday;
// Dictionary als statische Eigenschaft
public static readonly Dictionary<string, Liefertage> AnzeigeNamen = new Dictionary<string, Liefertage>()
{
{ "Kein Rhythmus", Unbekannt },
{ "1x Mo", WoechentlichMo },
{ "1x Di", WoechentlichDi },
{ "1x Mi", WoechentlichMi },
{ "1x Do", WoechentlichDo },
{ "1x Fr", WoechentlichFr },
{ "2x Mo/Do", ZweimalMoDo },
{ "2x Di/Fr", ZweimalDiFr },
{ "3x Mo/Mi/Fr", DreimalMoMiFr },
{ "4x Mo/Di/Do/Fr", ViermalMoDiDoFr },
{ "Täglich Mo-Fr", TaeglichMoFr }
};
}
}