Example #1
0
 public UserInvitation(UserInvitationData data,
                       IUserInvitationDataSaver dataSaver,
                       IEmailAddressFactory emailAddressFactory)
 {
     _data                = data;
     _dataSaver           = dataSaver;
     _emailAddressFactory = emailAddressFactory;
 }
Example #2
0
 public User(UserData userData,
             IEmailAddressFactory emailAddressFactory,
             IUserDataSaver dataSaver,
             IEmailAddress emailAddress)
     : this(userData, emailAddressFactory, dataSaver)
 {
     _emailAddress = emailAddress;
 }
Example #3
0
 public User(UserData userData,
             IEmailAddressFactory emailAddressFactory,
             IUserDataSaver dataSaver)
 {
     _data = userData;
     _emailAddressFactory = emailAddressFactory;
     _dataSaver           = dataSaver;
 }
Example #4
0
 public UserInvitation(UserInvitationData data,
                       IUserInvitationDataSaver dataSaver,
                       IEmailAddressFactory emailAddressFactory,
                       IAccount account,
                       IEmailAddress emailAddress) : this(data, dataSaver, emailAddressFactory)
 {
     _account      = account;
     _emailAddress = emailAddress;
 }
 public UserInvitationFactory(IUserInvitationDataFactory dataFactory,
                              IUserInvitationDataSaver dataSaver,
                              SettingsFactory settingsFactory,
                              IEmailAddressFactory emailAddressFactory)
 {
     _dataFactory         = dataFactory;
     _dataSaver           = dataSaver;
     _settingsFactory     = settingsFactory;
     _emailAddressFactory = emailAddressFactory;
 }
Example #6
0
 public UserFactory(SettingsFactory settingsFactory,
                    IUserDataFactory dataFactory,
                    IUserDataSaver dataSaver,
                    IEmailAddressFactory emailAddressFactory)
 {
     _settingsFactory     = settingsFactory;
     _dataFactory         = dataFactory;
     _dataSaver           = dataSaver;
     _emailAddressFactory = emailAddressFactory;
 }
Example #7
0
        private async Task <IEmailAddress> GetEmailAddress(CoreSettings settings,
                                                           IEmailAddressFactory emailAddressFactory,
                                                           IEmailAddressSaver emailAddressSaver,
                                                           string address)
        {
            IEmailAddress result = await emailAddressFactory.GetByAddress(settings, address);

            if (result == null)
            {
                result = emailAddressFactory.Create(address);
                await emailAddressSaver.Create(settings, result);
            }
            return(result);
        }
Example #8
0
        private async Task <IUser> GetUser()
        {
            IUser         user;
            IEmailAddress emailAddress = null;

            using (ILifetimeScope scope = _container.BeginLifetimeScope())
            {
                string               subscriber          = User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value;
                IUserFactory         userFactory         = scope.Resolve <IUserFactory>();
                IEmailAddressFactory emailAddressFactory = scope.Resolve <IEmailAddressFactory>();
                SettingsFactory      settingsFactory     = scope.Resolve <SettingsFactory>();
                user = await userFactory.GetByReferenceId(settingsFactory.CreateAccount(_settings.Value), subscriber);

                if (user == null)
                {
                    string email = User.Claims.First(c => c.Type == ClaimTypes.Email).Value;
                    emailAddress = await emailAddressFactory.GetByAddress(settingsFactory.CreateAccount(_settings.Value), email);

                    if (emailAddress == null)
                    {
                        emailAddress = emailAddressFactory.Create(email);
                        IEmailAddressSaver emailAddressSaver = scope.Resolve <IEmailAddressSaver>();
                        await emailAddressSaver.Create(settingsFactory.CreateAccount(_settings.Value), emailAddress);
                    }
                    user      = userFactory.Create(subscriber, emailAddress);
                    user.Name = User.Claims.First(c => string.Equals(c.Type, "name", StringComparison.OrdinalIgnoreCase)).Value;
                    SetSuperUser(user);
                    IUserSaver userSaver = scope.Resolve <IUserSaver>();
                    await userSaver.Create(settingsFactory.CreateAccount(_settings.Value), user);
                }
                else
                {
                    user.Name = User.Claims.First(c => string.Equals(c.Type, "name", StringComparison.OrdinalIgnoreCase)).Value;
                    SetSuperUser(user);
                    IUserSaver userSaver = scope.Resolve <IUserSaver>();
                    await userSaver.Update(settingsFactory.CreateAccount(_settings.Value), user);
                }
            }
            return(user);
        }
 public CustomerService(IEmailAddressFactory emailAddressFactory, ICustomerRepository customerRepository)
 {
     this.emailAddressFactory = emailAddressFactory;
     this.customerRepository  = customerRepository;
 }