public ConfirmationSenderService(IConfirmationCodeManager codeManager, IEmailManager emailManager, ICodeGenerator codeGenerator, INotificationTransportService notificationTransportService) { _codeManager = codeManager; _emailManager = emailManager; _codeGenerator = codeGenerator; _notificationTransportService = notificationTransportService; }
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(); }
public ConfirmationCodeService(IConfirmationCodeManager confirmationCodeManager, ICodeValidationRule codeValidationRule) { _confirmationCodeManager = confirmationCodeManager; _codeValidationRule = codeValidationRule; }