public async Task <IActionResult> CreateCarAdmin([FromBody] RegisterAdminDTO adminDTO) { if (ModelState.IsValid) { if (await AvioAdminService.AdminExists(adminDTO.Username)) { return(BadRequest("Admin already exists with that username!")); } if (await CarAdminService.AdminExists(adminDTO.Username)) { return(BadRequest("Admin already exists with that username!")); } if (adminDTO.Password != adminDTO.ConfirmPassword) { return(BadRequest("Password and confirmation password don't match!")); } RegularUser user = new RegularUser() { UserName = adminDTO.Username, Status = UserStatus.Activated }; var foundAdmin = await UserManager.FindByNameAsync(user.UserName) != null; if (!foundAdmin) { var createdAdmin = await UserManager.CreateAsync(user, adminDTO.Password); if (createdAdmin.Succeeded) { await UserManager.AddToRoleAsync(user, "CarAdmin"); CarAdmin admin = new CarAdmin() { UserId = user.Id, CarCompanyId = (await RentACarService.GetCompanyByName(adminDTO.CompanyName)).CarCompanyId }; if (admin.CarCompanyId > 0) { await CarAdminService.RegisterAdmin(user.Id, admin); return(Ok(200)); } else { return(BadRequest("Car company not found!")); } } } return(BadRequest("Admin already exists!")); } return(BadRequest("No sufficient data provided.")); }
public async Task RegisterAdmin(string userId, CarAdmin admin) { if (userId != null) { admin.UserId = userId; await _carAdminRepository.CreateAdmin(admin); } }
public static async Task AddDefaultCarCompanyAdmins(IServiceProvider serviceProvider, IConfiguration configuration) { var adminService = serviceProvider.GetRequiredService <CarAdminService>(); var roleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >(); var userManager = serviceProvider.GetRequiredService <UserManager <RegularUser> >(); string[,] admins = { { "mmagic_car", "*****@*****.**", "1", "Mmagic12!" } }; for (int i = 0; i < admins.GetLength(0); ++i) { var adminExists = await adminService.AdminExists(admins[i, 0]); if (!adminExists) { RegularUser user = new RegularUser() { UserName = admins[i, 0], Email = admins[i, 1], Status = UserStatus.Activated }; var foundAdmin = await userManager.FindByNameAsync(user.UserName) != null; if (!foundAdmin) { var createdAdmin = await userManager.CreateAsync(user, admins[i, 3]); if (createdAdmin.Succeeded) { await userManager.AddToRoleAsync(user, "CarAdmin"); CarAdmin admin = new CarAdmin() { UserId = user.Id, CarCompanyId = long.Parse(admins[i, 2]) }; await adminService.RegisterAdmin(user.Id, admin); } } } } }
public async Task UpdateAdmin(CarAdmin admin) { await _carAdminRepository.UpdateAdmin(admin); }
public async Task UpdateAdmin(CarAdmin admin) { _context.CarAdmins.Update(admin); await _context.SaveChangesAsync(); }
public async Task CreateAdmin(CarAdmin admin) { await _context.CarAdmins.AddAsync(admin); await _context.SaveChangesAsync(); }