public async Task Handle(CompanyNameChangedEvent message) { using (var context = new RegistryDbContext(Options)) { var company = (from c in context.Companies where c.OriginalId == message.CompanyId select c).Single(); company.CompanyName = message.CompanyName; await context.SaveChangesAsync(); } }
public async Task Handle(CompanyNameChangedEvent message) { using (var context = new RegistryDbContext()) { var company = (from c in context.Parties.OfType <Company>() where c.OriginalId == message.CompanyId select c).Single(); company.DisplayName = message.CompanyName; company.CompanyName = message.CompanyName; await context.SaveChangesAsync(); } }
public void ChangeName(string newName, DateTime effectiveDate) { if (string.IsNullOrEmpty(newName)) { throw new ArgumentException("The new Company name must be specified", nameof(newName)); } if (effectiveDate > DateTime.Now) { throw new ArgumentException("The name change cannot be scheduled in the future", nameof(effectiveDate)); } var e = new CompanyNameChangedEvent(this.Id, newName, effectiveDate); RaiseEvent(e); }
public void ChangeName(string newName, DateTime effectiveDate, Guid userId) { if (string.IsNullOrEmpty(newName)) { throw new ArgumentException("The new Company name must be specified", nameof(newName)); } if (effectiveDate > DateTime.Now) { throw new ArgumentException("The name change cannot be scheduled in the future", nameof(effectiveDate)); } if (effectiveDate < RegistrationDate.ToLocalTime()) { throw new ArgumentException("Cannot change the company name to an effective date before the registration date", nameof(effectiveDate)); } var e = new CompanyNameChangedEvent(this.Id, newName, effectiveDate, userId); RaiseEvent(e); }
public void ApplyEvent(CompanyNameChangedEvent evt) { this.CompanyName = evt.CompanyName; }