Создание метода выхода из системы с помощью метода контроллера входа (asp.net Web Api) - PullRequest
0 голосов
/ 16 ноября 2018

, если это неправильный вопрос, пожалуйста, скажите мне, но я новичок в WEB API, и я пытаюсь сделать это;Я хочу сделать метод выхода из системы с помощью этого метода входа.Я должен также удалить контент UserDevice.Весь мой кодовый блок ниже.Должен ли я сделать пустой контент UserDevice?Спасибо

[HttpPost]
    [Route("{guid}/login", Name = "PxLogin")]
    public IHttpActionResult Login(string guid, [FromBody] LoginRequest req)
    {
        Helpers.Logger.Log(JsonConvert.SerializeObject(req));

        LoginResult res = new LoginResult();

        if (IsUserRegistered(guid, req.User))
        {
            var account = _db.Accounts.SingleOrDefault(a => a.Guid == guid);

            if (account != null)
            {
                var client = Core.Common.Helper.CreateRestClient(guid);

                var request = new RestRequest("login", Method.POST);
                request.AddParameter("User", req.User); // replaces matching token in request.Resource
                request.AddParameter("Pass", req.Pass);
                request.AddParameter("Instance", req.Instance);

                var response = client.Execute(request);

                var jsonResponse = JsonConvert.DeserializeObject(response.Content);
                res = JsonConvert.DeserializeObject<LoginResult>(jsonResponse.ToString());

                if (res.IsLogin)
                {
                    var usr = _db.Users.FirstOrDefault(u => u.Account.Guid == guid && u.UserId == req.User);

                    if (usr != null)
                    {
                        if (usr.Language == null)
                        {
                            usr.Language = account.Language;
                        }

                        usr.LoginToken = res.Token;

                        if (!String.IsNullOrEmpty(req.DeviceId))
                        {
                            var userDevice = new UserDevice
                            {
                                AccountId = account.AccountId,
                                UserId = req.User,
                                DeviceType = req.Device,
                                DeviceToken = req.DeviceToken,
                                DeviceId = req.DeviceId
                            };

                            _db.UserDevices.AddOrUpdate(userDevice);
                        }
                        var loginRequest =
                            Encrypter.Encrypt(JsonConvert.SerializeObject(req), "abcdefghil");

                        usr.LoginRequest = loginRequest;

                        _db.SaveChanges();
                    }
                }
            }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...