public void Handle(ProjectCreatedEvent domainEvent) { LogToConsole(domainEvent); dynamic eventData = JsonConvert.DeserializeObject(domainEvent.JsonPayload); var query = new GetUserQuery((Guid)eventData.OwnerId); dynamic user = JsonConvert.DeserializeObject(_bus.PublishQuery(query)); var newProject = new Project { Id = domainEvent.AggregateId, OwnerId = (Guid)eventData.OwnerId, OwnerName = (string)user.UserName, Title = (string)eventData.Title, Description = (string)eventData.Description }; _projectRepository.Add(newProject); }
public void Handle(TeamJoinedEvent domainEvent) { LogToConsole(domainEvent); dynamic eventData = JsonConvert.DeserializeObject(domainEvent.JsonPayload); var query = new GetUserQuery((Guid)eventData.UserId); dynamic user = JsonConvert.DeserializeObject(_bus.PublishQuery(query)); var newMembership = new TeamMembership { Id = Guid.NewGuid(), Approved = false, TeamId = domainEvent.AggregateId, UserId = (Guid)eventData.UserId, UserName = (string)user.UserName }; _teamMembershipRepository.Add(newMembership); }
public IActionResult Get(Guid id) { var query = new GetProjectQuery(id); var result = _bus.PublishQuery(query); if (result == null) { return(NotFound()); } var project = JsonConvert.DeserializeObject <ProjectViewModel>(result); return(Ok(project)); }