public async Task CreateRecommendFromProject(ProjectCreatedintegrationEvent @event) { var fromUser = await _userService.GetBaseUserInfoAsync(@event.UserId); var contacts = await _contactService.GetContactsByUserId(@event.UserId); foreach (var contact in contacts) { var recommend = new ProjectRecommend() { FromUserId = @event.UserId, Company = @event.Company, Tags = @event.Tags, ProjectId = @event.ProjectId, PrjectAvatar = @event.PrjectAvatar, FinStage = @event.FinStage, RecommendTime = @event.CreateTime, CreatedTime = @event.CreateTime, Introduction = @event.Introduction, RecommendType = EnumRecommendType.Friend, FromUserAvatar = fromUser.Avatar, FromUserName = fromUser.Name, UserId = contact.UserId }; _dbContext.Recommends.Add(recommend); } await _dbContext.SaveChangesAsync(); }
public Task Handle(ProjectCreatedEvent notification, CancellationToken cancellationToken) { var @event = new ProjectCreatedintegrationEvent() { UserId = notification.Project.UserId, Company = notification.Project.Company, FinStage = notification.Project.FinStage, Introduction = notification.Project.Introduction, PrjectAvatart = notification.Project.Avatar, Tags = notification.Project.Tags, CreateTime = DateTime.Now, ProjectId = notification.Project.Id, }; _capPublisher.Publish("finbook.projectapi.projectcreated", @event); return(Task.CompletedTask); }