public async Task Handle_ProjectModifiedEvent_UpdatesProject() { // arrange var initialProject = this.CreateProject(); var message = new ProjectModified { Id = initialProject.Id, Version = 2, TimeStamp = DateTimeOffset.Now, Name = "New Project name", Description = "New Project description" }; var target = new ReadModelEventHandler(this.context.DbContext, this.context.Mapper); // act await target.Handle(message); // assert var project = this.context.DbContext.Projects.FirstOrDefault(p => p.Id == message.Id); Assert.NotNull(project); Assert.Equal(message.Version, project.Version); Assert.Equal(message.TimeStamp, project.TimeStamp); Assert.Equal(message.Name, project.Name); Assert.Equal(message.Description, project.Description); }
public async Task Handle(ProjectModified message) { message.ArgumentNotNull(nameof(message)); await this.UpdateProjectAsync(message); await this.dbContext.SaveChangesAsync(); }
public void SetProjectAttributes(string name, string description) { name.ArgumentNotNullOrEmpty(nameof(name)); description.ArgumentNotNull(nameof(description)); var e = new ProjectModified { Id = this.Id, Name = name, Description = description, }; this.ApplyChange(e); }
private void RaiseProjectModified(TimeTrackerDataSet.ProjectsRow projectEntry) { ProjectModified?.Invoke(this, new TimeTrackerEvent(projectEntry, null)); }
private void Apply(ProjectModified e) { this.Name = e.Name; this.Description = e.Description; }