Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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));
        }