public async Task <IActionResult> Login([FromBody] LoginDTO loginResourse)
        {
            if (loginResourse == null)
            {
                throw new ArgumentNullException(nameof(loginResourse));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //// первый вариант проверяем одним запросом но плохо не используем механизмы библиотеки
            //// второй вариант последовательно  FindByEmailAsync,FindByNameAsync  и проверки результатов var currUser = await _userManager.FindByEmailAsync(loginResourse.login);
            var currUser = await _userManager.Users.Where(u => u.Email == loginResourse.login |
                                                          u.UserName == loginResourse.login |
                                                          u.PhoneNumber == loginResourse.login).FirstOrDefaultAsync();

            if (currUser == null)
            {
                return(Unauthorized());
            }

            var resoult = await _signInManager.PasswordSignInAsync(currUser, loginResourse.password, false, false);

            if (!resoult.Succeeded)
            {
                return(Unauthorized());
            }

            var token = await _jwtgenerator.GenerateJwtToken(currUser);

            return(Ok(token));
        }