public async Task <IActionResult> RegisterAdmin([FromBody] Registration_VE model)
        {
            var userExists = await _userManager.FindByNameAsync(model.Username);

            if (userExists != null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new Response_VE {
                    Status = "Error", Message = "User already exists!"
                }));
            }

            Application_User user = new Application_User()
            {
                Email         = model.Email,
                SecurityStamp = Guid.NewGuid().ToString(),
                UserName      = model.Username
            };
            var result = await _userManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new Response_VE {
                    Status = "Error", Message = "User creation failed! Please check user details and try again."
                }));
            }

            if (!await _roleManager.RoleExistsAsync(User_Roles.Admin))
            {
                await _roleManager.CreateAsync(new IdentityRole(User_Roles.Admin));
            }
            if (!await _roleManager.RoleExistsAsync(User_Roles.User))
            {
                await _roleManager.CreateAsync(new IdentityRole(User_Roles.User));
            }

            if (await _roleManager.RoleExistsAsync(User_Roles.Admin))
            {
                await _userManager.AddToRoleAsync(user, User_Roles.Admin);
            }

            return(Ok(new Response_VE {
                Status = "Success", Message = "User created successfully!"
            }));
        }
        public async Task <IActionResult> Register([FromBody] Registration_VE model)
        {
            try
            {
                var userExists = await _userManager.FindByNameAsync(model.Username);

                if (userExists != null)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, new Response_VE {
                        Status = "Error", Message = "User already exists!"
                    }));
                }

                Application_User user = new Application_User()
                {
                    Email         = model.Email,
                    SecurityStamp = Guid.NewGuid().ToString(),
                    UserName      = model.Username
                };

                var result = await _userManager.CreateAsync(user, model.Password);

                if (!result.Succeeded)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, new Response_VE {
                        Status = "Error", Message = "User creation failed! Please check user details and try again."
                    }));
                }
                else
                {
                    var roleresult = await _userManager.AddToRoleAsync(user, "Customer");
                }
                return(Ok(new Response_VE {
                    Status = "Success", Message = "User created successfully!"
                }));
            }
            catch (Exception Exc)
            {
                throw Exc;
            }
        }