コード例 #1
0
        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."));
        }
コード例 #2
0
        public async Task RegisterAdmin(string userId, CarAdmin admin)
        {
            if (userId != null)
            {
                admin.UserId = userId;

                await _carAdminRepository.CreateAdmin(admin);
            }
        }
コード例 #3
0
        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);
                        }
                    }
                }
            }
        }
コード例 #4
0
 public async Task UpdateAdmin(CarAdmin admin)
 {
     await _carAdminRepository.UpdateAdmin(admin);
 }
コード例 #5
0
 public async Task UpdateAdmin(CarAdmin admin)
 {
     _context.CarAdmins.Update(admin);
     await _context.SaveChangesAsync();
 }
コード例 #6
0
        public async Task CreateAdmin(CarAdmin admin)
        {
            await _context.CarAdmins.AddAsync(admin);

            await _context.SaveChangesAsync();
        }