public IActionResult SetUserProfile(UserSerialize userSerialize)
        {
            Console.WriteLine("SetUserProfile-----------Start--");

            var idUserClaim = this.HttpContext.User.Claims.FirstOrDefault();


            if (idUserClaim != null)
            {
                int idUser = int.Parse(idUserClaim.Value);
                var user   = _repository.GetUserId(idUser);

                if (userSerialize.Name != user.Name)
                {
                    user.Name = userSerialize.Name;
                }
                if (userSerialize.Address != user.Address)
                {
                    user.Address = userSerialize.Address;
                }
                if (userSerialize.Email != user.Email)
                {
                    user.Email = userSerialize.Email;
                }
                if (userSerialize.Phone != user.Phone)
                {
                    user.Phone = userSerialize.Phone;
                }
                if (userSerialize.Password != user.Password)
                {
                    user.Password = userSerialize.Password;
                }
                // Console.WriteLine("User Profile get httpGet ok");
                _repository.SaveUser(user);
                //throw new NotImplementedException();

                return(Ok());
            }
            else
            {
                ModelState.AddModelError("User", "Данный Пользоватль Несуществует - обратитесь к Администратору ресурса");
                Console.WriteLine("User Profile get httpGet BadRequst");
                return(BadRequest(ModelState));
            }
            // throw new NotImplementedException();
        }
        public IActionResult GetUserProfile()
        {
            //int i=this.HttpContext.Request.Headers.Count;

            /*
             * foreach (var item in this.HttpContext.Request.Headers)
             * {
             *   Console.WriteLine(item.Value);
             *
             * }
             */


            // Console.WriteLine(this.HttpContext.Request.Headers.ToArray());
            var idUserClaim = this.HttpContext.User.Claims.FirstOrDefault();

            // Console.WriteLine("test Profile");

            // Console.WriteLine(""+this.HttpContext.ToString());
            // id  должен быть первым в cla
            //FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier);
            if (idUserClaim != null)
            {
                int           idUser        = int.Parse(idUserClaim.Value);
                var           user          = _repository.GetUserId(idUser);
                UserSerialize userSerialize = new UserSerialize();
                userSerialize.Name     = user.Name;
                userSerialize.Address  = user.Address;
                userSerialize.Email    = user.Email;
                userSerialize.Phone    = user.Phone;
                userSerialize.Password = user.Password;
                // Console.WriteLine("User Profile get httpGet ok");

                return(Ok(userSerialize));
            }
            else
            {
                ModelState.AddModelError("User", "Данный Пользоватль Несуществует - обратитесь к Администратору ресурса");
                Console.WriteLine("User Profile get httpGet BadRequst");
                return(BadRequest(ModelState));
            }
            // throw new NotImplementedException();
        }
        public IActionResult RegisterNewUser([FromBody] UserSerialize user)
        {
            Console.WriteLine("---------------------------");
            Console.WriteLine(user.Name);

            User newUser = new  User {
                Role = Role.User
            };

            //-----------------
            if (user.Password == null)
            {
                ModelState.AddModelError("Password", "Незадан Пароль");
            }
            newUser.Password = user.Password;

            //--------------------------------------------

            if (user.Phone == null)
            {
                ModelState.AddModelError("Phone", "Незадан Номер Телефона");
                return(BadRequest(ModelState));
            }
            if (_repository.ValidatePhoneUser(user.Phone))
            {
                newUser.Phone = user.Phone;
            }
            else
            {
                ModelState.AddModelError("Phone", "Такой Номер Телефона Уже Существует");
                return(BadRequest(ModelState));
            }
            //-------------------------------------------
            if (user.Email != null)
            {
                if (_repository.ValidateEmailUser(user.Email))
                {
                    newUser.Email = user.Email;
                }
                else
                {
                    ModelState.AddModelError("Email", "Такой Email Уже Существует");
                    return(BadRequest(ModelState));
                }
            }
            //-----------------------------
            newUser.Name    = user.Name;
            newUser.Address = user.Address;
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            _repository.CreateUser(newUser);

            return(Ok());

            // return Ok("Regiser new User");

            /*
             * // обработка частных случаев валидации
             * if (user.Age == 99)
             *  ModelState.AddModelError("Age", "Возраст не должен быть равен 99");
             *
             * if (user.Name == "admin")
             * {
             *  ModelState.AddModelError("Name", "Недопустимое имя пользователя - admin");
             * }
             * // если есть лшибки - возвращаем ошибку 400
             * if (!ModelState.IsValid)
             *  return BadRequest(ModelState);
             *
             * // если ошибок нет, сохраняем в базу данных
             * db.Users.Add(user);
             * await db.SaveChangesAsync();
             * return Ok(user);
             */

            // throw new NotImplementedException();
        }
        public async Task OnResponse(object sender, SessionEventArgs e)
        {
            if (e.HttpClient.Request.RequestUri.ToString().Contains("http://osapi.dmm.com/gadgets/makeRequest"))
            {
                // read response headers
                var response = e.HttpClient.Response;
                if (e.HttpClient.Request.Method == "POST")
                {
                    if (response.StatusCode == 200)
                    {
                        var test = JsonConvert.DeserializeObject <MakeRequest>(e.GetResponseBodyAsString().Result.Replace("throw 1; < don't be evil' >", ""));
                        _Token = JsonConvert.DeserializeObject <List <string> >(test.DmmInfo.Body)[2];
                    }
                }
            }

            if (e.HttpClient.Request.RequestUri.ToString().Contains("json-gateway.php"))
            {
                var data = e.GetResponseBodyAsString().Result;
                if (_Count == 0)
                {
                    _Uidkey = UidSerialize.FromJson(data)[1].AnythingArray[2].String;
                    //_Uidkey = JsonConvert.DeserializeObject<string[]>(test)[2];
                }
                else if (_Count == 1)
                {
                    await Application.Current.Dispatcher.BeginInvoke(new Action(() => _User.Value = UserSerialize.FromJson(data)[1].AnythingArray[2].WelcomeClass));
                }
                _Count++;
            }
        }