public void GetNotificationRoles_returns_full_list_with_all_roles() { // Given var expectedRoles = new List <int> { 1, 2, 3, 4, 6, 7, 8 }; var adminRegistrationModel = new AdminRegistrationModel( "Test", "Name", "*****@*****.**", 1, null, true, true, "PRN", 0, true, true, true, true, true, true, true, true ); // When var result = adminRegistrationModel.GetNotificationRoles(); // Then result.Should().BeEquivalentTo(expectedRoles); }
public async Task <IActionResult> Registration(AdminRegistrationModel model) { if (ModelState.IsValid) { var user = _user.GetByLogin(model.Login); if (user == null) { user = _user.GetAll().FirstOrDefault(x => x.Email == model.Email); } if (user == null) { _user.Registration(model.Login, model.Email, model.Password); await AuthenticateAsync(model.Login); // аутентификация return(RedirectToAction("Index", "Admin")); } else { ModelState.AddModelError("", "Некорректные логин или почта"); } } return(View(model)); }
public int RegisterAdmin( AdminRegistrationModel registrationModel, bool registerJourneyContainsTermsAndConditions ) { var currentTime = clockService.UtcNow; var values = new { forename = registrationModel.FirstName, surname = registrationModel.LastName, email = registrationModel.Email, password = registrationModel.PasswordHash, centreID = registrationModel.Centre, categoryId = registrationModel.CategoryId, centreAdmin = registrationModel.IsCentreAdmin, isCentreManager = registrationModel.IsCentreManager, approved = registrationModel.Approved, active = registrationModel.Active, contentCreator = registrationModel.IsContentCreator, contentManager = registrationModel.IsContentManager, importOnly = registrationModel.ImportOnly, trainer = registrationModel.IsTrainer, supervisor = registrationModel.IsSupervisor, nominatedSupervisor = registrationModel.IsNominatedSupervisor, tcAgreed = registerJourneyContainsTermsAndConditions ? currentTime : (DateTime?)null, }; using var transaction = new TransactionScope(); var adminUserId = connection.QuerySingle <int>( @"INSERT INTO AdminUsers ( Forename, Surname, Email, Password, CentreId, CategoryId, CentreAdmin, IsCentreManager, Approved, Active, ContentCreator, ContentManager, ImportOnly, Trainer, Supervisor, NominatedSupervisor, TCAgreed ) OUTPUT Inserted.AdminID VALUES ( @forename, @surname, @email, @password, @centreId, @categoryId, @centreAdmin, @isCentreManager, @approved, @active, @contentCreator, @contentManager, @importOnly, @trainer, @supervisor, @nominatedSupervisor, @tcAgreed )", values ); connection.Execute( @"INSERT INTO NotificationUsers (NotificationId, AdminUserId) SELECT N.NotificationId, @adminUserId FROM Notifications N INNER JOIN NotificationRoles NR ON N.NotificationID = NR.NotificationID WHERE RoleID IN @roles AND AutoOptIn = 1", new { adminUserId, roles = registrationModel.GetNotificationRoles() } ); transaction.Complete(); return(adminUserId); }