private void FitbitDownload()
        {
            FitbitHelper fitbit = new FitbitHelper(_uow, _jobDetails.UserId);

            fitbit.Download(false);
            _jobDetails.MarkJobComplete();
            _uow.Complete();
        }
        /// <summary>
        /// Add (or update) fitbit user/access token details.
        /// </summary>
        /// <param name="userId">ASP.NET identity userId</param>
        /// <param name="accessToken">Fitbit access token.</param>
        public static void AddOrUpdateUser(IUnitOfWork uow, string userId, OAuth2AccessToken accessToken)
        {
            FitbitUser fitbitUser = uow.Metrics.GetFitbitUser(userId);

            if (fitbitUser == null)
            {
                // user doesn't exist in Fitbit table so create
                FitbitUser u = FitbitUser.Create(userId, accessToken);
                uow.Metrics.AddFitbitUser(u);

                DownloadQueue.CreateQueueJob(userId, enums.DownloadType.Fitbit).Save();
            }
            else
            {
                FitbitHelper helper = new FitbitHelper(uow, userId);
                helper.StoreFitbitToken(accessToken);
            }
        }
        /// <summary>
        /// Create Fitbit access client.
        /// </summary>
        /// <param name="userId">ASP.NET Identify userId</param>
        /// <returns></returns>
        private FitbitClient CreateFitbitClient(string userId)
        {
            OAuth2AccessToken token = _unitOfWork.Metrics.GetFitbitAccessToken(userId);

            return(new FitbitClient(FitbitHelper.GetFitbitAppCredentials(), token));
        }