public Person Get(int id) { var events = dataRepository.GetEventDatas(nameof(Person), id); Person person = new Person(); List <IEvent> myevents = new List <IEvent>(); foreach (var item in events) { switch (item.EventType) { case nameof(PersonCreated): PersonCreated personCreated = JsonConvert.DeserializeObject <PersonCreated>(item.EventSerialzedData); myevents.Add(personCreated); break; case nameof(PersonEmailUpdate): PersonEmailUpdate personEmailUpdate = JsonConvert.DeserializeObject <PersonEmailUpdate>(item.EventSerialzedData); myevents.Add(personEmailUpdate); break; } } person.LoadFromEvents(myevents); return(person); }
private void LoadEmailUpdate(PersonEmailUpdate personEmailUpdate) { Email = personEmailUpdate.Email; }