public void Handle(PersonPlacedEvent @event, DatabaseContext db) { var aggregate = @event.Person; var homePhoneNumber = aggregate.PhoneNumbers?.FirstOrDefault(phone => phone.PhoneNumberType == PhoneNumberType.Home); var officePhoneNumber = aggregate.PhoneNumbers?.FirstOrDefault(phone => phone.PhoneNumberType == PhoneNumberType.Office); var mobilePhoneNumber = aggregate.PhoneNumbers?.FirstOrDefault(phone => phone.PhoneNumberType == PhoneNumberType.Mobile); var personReadModel = new PersonReadModel(aggregate.Id, aggregate.FirstName, aggregate.LastName, aggregate.IdentificationNumber, aggregate.BirthDate, aggregate.CityId, aggregate.Photo.FilePath, aggregate.Photo.Height, aggregate.Photo.Width, aggregate.Gender.ToString(), "", homePhoneNumber?.Number, officePhoneNumber?.Number, mobilePhoneNumber?.Number); db.Set <PersonReadModel>().Add(personReadModel); }
public PersonModel(PersonReadModel readModel) { ReadModel = readModel; SpeedList = new SpeedListModel { SpeedList = readModel.AllVerifiedSpeeds .Select(summary => new SpeedReadModel { Id = summary.SpeedId, Date = summary.Date, SpeedInMilesPerHour = summary.SpeedInMilesPerHour, AircraftName = summary.AircraftName, PilotName = readModel.UserName, SiteName = summary.SiteName, SiteLocation = summary.SiteLocation, SiteCountryName = summary.SiteCountryName, IsVerified = true }).ToList() }; }