//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;
            }
        }
Example #2
0
        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);
                        }
                    }
                }
            }
        }
Example #6
0
 public async Task UpdateAdmin(AvioAdmin admin)
 {
     _context.AvioAdmins.Update(admin);
     await _context.SaveChangesAsync();
 }
Example #7
0
        public async Task CreateAdmin(AvioAdmin admin)
        {
            await _context.AvioAdmins.AddAsync(admin);

            await _context.SaveChangesAsync();
        }
 public async Task UpdateAdmin(AvioAdmin admin)
 {
     await _avioAdminRepository.UpdateAdmin(admin);
 }