public async Task Handle(CompanyAdministrativeContactAssociatedEvent message) { using (var context = new RegistryDbContext(Options)) { var company = (from c in context.Companies where c.OriginalId == message.CompanyId select c).Single(); var person = (from c in context.People where c.OriginalId == message.AdministrativeContactId select c).Single(); company.AdministrativeContact = $"{person.FirstName} {person.LastName}"; await context.SaveChangesAsync(); } }
public async Task Handle(CompanyAdministrativeContactAssociatedEvent message) { using (var context = new RegistryDbContext()) { var company = (from c in context.Parties.OfType <Company>() where c.OriginalId == message.CompanyId select c).Single(); var person = (from c in context.Parties.OfType <Person>() where c.OriginalId == message.AdministrativeContactId select c).Single(); company.AdministrativeContact = person; await context.SaveChangesAsync(); } }
public void AssociateAdministrativeContact(Guid administrativeContactId) { var e = new CompanyAdministrativeContactAssociatedEvent(this.Id, administrativeContactId); RaiseEvent(e); }
public void ApplyEvent(CompanyAdministrativeContactAssociatedEvent evt) { this.AdministrativeContactId = evt.AdministrativeContactId; }