public async Task HandleAsync(UserAssignedToProject @event) { var project = await projectRepository.GetAsync(@event.ProjectId); var user = await userRepository.GetAsync(@event.UserId); project.Users.Add(user); project.Version = @event.AggregateVersion; await projectRepository.Update(project); }
public void AssignUser(UserId userId, Guid roleId, int fte, DateTime startDate, DateTime endDate) { this.TeamMembers.Add(new TeamMember { UserId = userId, RoleId = roleId, FTE = fte, EndDate = endDate, StartDate = startDate }); this.IsNew = false; var @event = new UserAssignedToProject(this.Id, userId, roleId, fte, startDate, endDate); this.ApplyChange(@event); }
private void Apply(UserAssignedToProject @event) { }