Example #1
0
 public ActionResult Update(UserDeviceDataModel userDeviceDataModel)
 {
     try
     {
         var data = userDeviceRepository.Update(userDeviceDataModel);
         return(Ok(new { success = true, successMessage = "Updated Successfully!" }));
     }
     catch (Exception ex)
     {
         return(Ok(new { success = false, errorMessage = ex.GetBaseException() }));
     }
 }
Example #2
0
        public virtual async Task <ResponseData> Login([FromBody] LoginViewModal modal)
        {
            Stopwatch stop = Stopwatch.StartNew();

            try
            {
                var auth = CreateAuth();
                auth.UserName = modal.UserName;
                auth.Password = modal.Password;
                var userAgent = Request.Headers["User-Agent"];
                if (string.IsNullOrEmpty(userAgent))
                {
                    this.GetResponse(err: new { Message = "User Agent not Exsist" });
                }
                if (string.IsNullOrEmpty(modal.DeviceId))
                {
                    return(this.GetResponse());
                }
                var user = await _auth.GetUser(auth);

                if (user == null)
                {
                    return(this.GetResponse());
                }
                var userDevice = user.DeviceList?.FirstOrDefault(m => m.DeviceId == modal.DeviceId);
                if (userDevice == null && _addDeviceIfNew)
                {
                    userDevice            = CreateDevice();
                    userDevice.UserId     = user.Id;
                    userDevice.DeviceId   = modal.DeviceId;
                    userDevice.DeviceName = userAgent;
                    await _device.Add(userDevice);
                }
                var getClaim = user.CreateClaim();
                var result   = EntityRepository.State.State.GetAuth(getClaim, userDevice);
                userDevice.AccessToken  = result.AccessToken;
                userDevice.RefreshToken = result.RefreshToken;
                await _device.Update(userDevice);

                return(this.GetResponse(result));
            }
            catch (Exception ext)
            {
                return(this.ExceptionResult(ext, stop));
            }
        }