コード例 #1
0
 public ConfirmationSenderService(IConfirmationCodeManager codeManager, IEmailManager emailManager,
                                  ICodeGenerator codeGenerator, INotificationTransportService notificationTransportService)
 {
     _codeManager   = codeManager;
     _emailManager  = emailManager;
     _codeGenerator = codeGenerator;
     _notificationTransportService = notificationTransportService;
 }
コード例 #2
0
        public void Initialize()
        {
            _container = new Container();

            _container.Register <BookLibraryContext, BookLibraryContext>(Lifestyle.Singleton);
            _container.Register <IUserManager, UserManager>(Lifestyle.Singleton);
            _container.Register <IConfirmationCodeManager, ConfirmationCodeManager>(Lifestyle.Singleton);
            _container.Register <IEmailManager, EmailManager>(Lifestyle.Singleton);
            _container.Register <IPasswordPolicy, PasswordPolicy>();
            _container.Register <ICodeValidationRule, CodeValidationRule>();
            _container.Register <IConfirmationCodeService, ConfirmationCodeService>();
            _container.Register <IEmailConfirmationService, EmailConfirmationService>();
            _container.Register <IConfirmationSenderService, ConfirmationSenderService>();
            _container.Register <IPasswordHasher, PasswordHasher>();
            _container.Register <ICodeGenerator, CodeGenerator>();
            _container.Register <INotificationTransportService, NotificationTransportService>();

            _context = _container.GetInstance <BookLibraryContext>();
            var userBuilder = new UserBuilder();

            _userManager = _container.GetInstance <UserManager>();

            _confirmationCodeManager = _container.GetInstance <ConfirmationCodeManager>();

            _emailManager = _container.GetInstance <EmailManager>();

            var confirmationSenderService = _container.GetInstance <ConfirmationSenderService>();

            var randomUserDraftGenerator = new RandomUserDraftGenerator();
            var userDraft = randomUserDraftGenerator.GenerateUserDraft();

            var user = userBuilder.BuildUser(userDraft);

            user.Emails[0].IsConfirmed = true;
            user.ChangeEmailTo(userDraft.email);

            var registrationService = _container.GetInstance <RegistrationService>();

            registrationService.RegisterUser(user);

            confirmationSenderService.SendConfirmation(user.Email, ConfirmationCodeType.EmailConfirmation);

            confirmationSenderService.SendConfirmation(user.Email, ConfirmationCodeType.EmailConfirmation);

            _context.Codes.ToList()[1].IsActive = false;

            confirmationSenderService.SendConfirmation(user.Email, ConfirmationCodeType.EmailConfirmation);

            _context.Codes.ToList()[2].ExpirationDate = new DateTimeOffset(1971, 1, 1, 0, 0, 0, 0, TimeSpan.Zero);

            _context.SaveChanges();
        }
コード例 #3
0
 public ConfirmationCodeService(IConfirmationCodeManager confirmationCodeManager, ICodeValidationRule codeValidationRule)
 {
     _confirmationCodeManager = confirmationCodeManager;
     _codeValidationRule      = codeValidationRule;
 }