public int Record(string name, string data, string context) { //TODO: Thread-safety bzw. Mehrbenutzerfähigkeit einbauen var e = new Event(name, data, context, _events.Count, DateTime.Now); _events.Add(e); OnRecorded(e); return e.Number; }
public int Record(string name, string data, string context) { //TODO: Thread-safety bzw. Mehrbenutzerfähigkeit einbauen //Es sollte gleichzeitig von verschiedenen Quellen in einen EventStore auf einer File Share geschrieben werden können. ++_currentNumber; var e = new Event(name, data, context, _currentNumber, DateTime.Now); _persistenceProvider.Write_event(e); OnRecorded(e); return _currentNumber; }
public void Write_event(Event e) { using (var sw = new StreamWriter(Build_event_filename(e.Number))) { sw.WriteLine(e.Number); sw.WriteLine(e.Timestamp.ToString("s")); sw.WriteLine(e.Name); sw.WriteLine(e.Context); sw.WriteLine(e.Data); } }
private string Spielstand_nach_Ereignisvergleich(Event vorletzter, Event letzter) { if (vorletzter.Name == "Einstand erzielt") return string.Format("Vorteil {0}!", letzter.Data); if (letzter.Data == vorletzter.Data) { _eventStore.Record("Spiel gewonnen", letzter.Data, _kontext); return string.Format("Spieler {0} gewinnt!", letzter.Data); } _eventStore.Record("Einstand erzielt", "", _kontext); return "Einstand!"; }