Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
        }