//POST: /api/AvioAdmin/Register public async Task <Object> PostAvioAdmin(AvioAdminModel body) { Console.WriteLine("post pozvan"); var avioAdmin = new AvioAdmin() { UserName = body.UserName, Email = body.Email, Name = body.Name, Lastname = body.Lastname, Grad = body.Grad, NazivAviokompanije = body.NazivAviokompanije, BrojPasosa = body.BrojPasosa.ToString(), PhoneNumber = body.BrojTelefona.ToString(), PromenioPassword = false, TipKorisnika = body.TipKorisnika }; try { var result = await _userManager.CreateAsync(avioAdmin, body.Password); if (result.Errors.Any()) { var test = result.Errors.ToList(); //return BadRequest(new { message = test[0].Description}); return(Ok(result)); } return(Ok(result)); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> CreateAvioAdmin([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, "AvioAdmin"); AvioAdmin admin = new AvioAdmin() { UserId = user.Id, AvioCompanyId = (await AvioService.GetCompanyByName(adminDTO.CompanyName)).AvioCompanyId }; if (admin.AvioCompanyId > 0) { await AvioAdminService.RegisterAdmin(user.Id, admin); return(Ok(200)); } else { return(BadRequest("Avio company not found.")); } } } return(BadRequest("Admin already exists.")); } return(BadRequest("No sufficient data provided.")); }
public async Task RegisterAdmin(string userId, AvioAdmin admin) { if (userId != null) { admin.UserId = userId; await _avioAdminRepository.CreateAdmin(admin); } }
//GET: api/GetUserProfile public async Task <Object> GetUserProfile() { var claims = User.Claims; var ListClaims = claims.ToList(); if (ListClaims.Count != 0) { var prvi = ListClaims.First(); //string userId = User.Claims.First(c => c.Type == "UserID").Value; string userId = prvi.Value; var user = await _userManager.FindByIdAsync(userId); // ovde dobro radi if (user.TipKorisnika == "AvioAdmin") { AvioAdmin admin = user as AvioAdmin; return(new { user.UserName, user.Email, user.Name, user.Lastname, user.Grad, user.PhoneNumber, user.BrojPasosa, user.TipKorisnika, admin.NazivAviokompanije }); } else { return(new { user.UserName, user.Email, user.Name, user.Lastname, user.Grad, user.PhoneNumber, user.BrojPasosa, user.TipKorisnika }); } } else { return("Ni jedan korisnik nije ulogovan"); } }
public static async Task AddDefaultAvioCompanyAdmins(IServiceProvider serviceProvider, IConfiguration configuration) { var adminService = serviceProvider.GetRequiredService <AvioAdminService>(); var roleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >(); var userManager = serviceProvider.GetRequiredService <UserManager <RegularUser> >(); string[,] admins = { { "mmagic_avio", "*****@*****.**", "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, "AvioAdmin"); AvioAdmin admin = new AvioAdmin() { UserId = user.Id, AvioCompanyId = long.Parse(admins[i, 2]) }; await adminService.RegisterAdmin(user.Id, admin); } } } } }
public async Task UpdateAdmin(AvioAdmin admin) { _context.AvioAdmins.Update(admin); await _context.SaveChangesAsync(); }
public async Task CreateAdmin(AvioAdmin admin) { await _context.AvioAdmins.AddAsync(admin); await _context.SaveChangesAsync(); }
public async Task UpdateAdmin(AvioAdmin admin) { await _avioAdminRepository.UpdateAdmin(admin); }