Esempio n. 1
0
 public void SaveLastUpdateDailyDigestDate(string date)
 {
     try
     {
         lock (collisionLock)
         {
             bool ifDateAlreayAvailable = database.Table <LastUpdateDailyDigest>().Any(d => d.Email == Settings.Email);
             if (ifDateAlreayAvailable)
             {
                 //update the date
                 var lastUpdateDate = database.Table <LastUpdateDailyDigest>().First(x => x.Email == Settings.Email);
                 lastUpdateDate.DailyDigestLastUpdateDate = date;
                 database.Update(lastUpdateDate);
             }
             else
             {
                 //add new date
                 LastUpdateDailyDigest lastDailyDigestDate = new LastUpdateDailyDigest();
                 lastDailyDigestDate.Email = Settings.Email;
                 lastDailyDigestDate.DailyDigestLastUpdateDate = date;
                 database.Insert(lastDailyDigestDate);
             }
         }
     }
     catch (Exception ex)
     {
         Debug.WriteLine("SaveLastUpdateDailyDigestDate " + ex.Message);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// This function checks that if network is available or not. if its available, it hits DailyDigest api and store api's data into local db, if not available then it just get data from local db
        /// </summary>
        /// <returns></returns>
        public async Task <List <DailyDigest> > DatabaseOperation()
        {
            if (CrossConnectivity.Current.IsConnected)
            {
                var appActivityService = new AppActivityService();
                var activity           = await appActivityService.FetchAppActivityAsync();

                LastUpdateDailyDigest lastUpdateDailyDigestDate = DatabaseHelper.GetInstance().GetLastDailyDigestDate();
                if (lastUpdateDailyDigestDate == null || lastUpdateDailyDigestDate.DailyDigestLastUpdateDate != activity.First().digest_activity.last_updated)
                {
                    List <DailyDigestModel> items = await FetchAllDigestItems();

                    databaseHelper.AddDailyDigest(items);
                    var dailyDigestLocalData = databaseHelper.GetDailyDigest();
                    DatabaseHelper.GetInstance().SaveLastUpdateDailyDigestDate(activity.First().digest_activity.last_updated);
                    return(dailyDigestLocalData);
                }
                else
                {
                    var dailyDigestLocalData = databaseHelper.GetDailyDigest();
                    if (dailyDigestLocalData != null)
                    {
                        return(dailyDigestLocalData);
                    }
                    else
                    {
                        Debug.WriteLine("DailyDigest local data is empty on DailyDigestItemPage");
                        return(null);
                    }
                }
                //if (Settings.DailyDigest_LastUpdate != activity.First().digest_activity.last_updated)
                //{
                //    List<DailyDigestModel> items = await FetchAllDigestItems();
                //    databaseHelper.AddDailyDigest(items);
                //    var dailyDigestLocalData = databaseHelper.GetDailyDigest();
                //    Settings.DailyDigest_LastUpdate = activity.First().digest_activity.last_updated;
                //    return dailyDigestLocalData;
                //}
                //else
                //{
                //    var dailyDigestLocalData = databaseHelper.GetDailyDigest();
                //    if (dailyDigestLocalData != null)
                //    {
                //        return dailyDigestLocalData;
                //    }
                //    else
                //    {
                //        Debug.WriteLine("DailyDigest local data is empty on DailyDigestItemPage");
                //        return null;
                //    }
                //}
            }
            else
            {
                var dailyDigestLocalData = databaseHelper.GetDailyDigest();
                if (dailyDigestLocalData != null)
                {
                    return(dailyDigestLocalData);
                }
                else
                {
                    Debug.WriteLine("DailyDigest local data is empty on DailyDigestItemPage");
                    return(null);
                }
            }
        }