示例#1
0
        public async Task UpdateAsync(EvlogUser user)
        {
            var dao = await users.FindByIdAsync($"{user.Id}");

            dao.FullName = user.Profile?.FullName;
            await users.UpdateAsync(dao);
        }
示例#2
0
 public async Task AddAsync(EvlogUser evlogUser)
 {
     var dao = new EvlogWebUserDM
     {
         UserName       = evlogUser.Email,
         Email          = evlogUser.Email,
         LockoutEnabled = true,
         EmailConfirmed = evlogUser.IsConfirmed,
         FullName       = evlogUser.Profile?.FullName
     };
     await users.CreateAsync(dao); // TOOD: check the result
 }
        public async Task Handle(UserRegisteredForEvent message, CancellationToken cancellationToken)
        {
            var user = await users.GetByEmailAsync(message.UserEmail);

            if (user is null)
            {
                user = new EvlogUser(email: message.UserEmail, isConfirmed: false);
                await users.AddAsync(user);
            }
            else if (identityService.IsCurrentUserLoggedIn()) // TODO: Also check if a user "profile" exists
            {
                // TODO: Persist the registration
                await mediator.Publish(new EventRegistrationConfirmed(message.EventPostId, user.Id, user.Email));

                return;
            }

            await mediator.Send(new InitiateLogin(email : message.UserEmail, eventPostId : message.EventPostId));
        }