Ejemplo n.º 1
0
 public void SaveLastMeditationDate(string date)
 {
     try
     {
         lock (collisionLock)
         {
             bool ifDateAlreayAvailable = database.Table <LastUpdateMeditation>().Any(d => d.Email == Settings.Email);
             if (ifDateAlreayAvailable)
             {
                 //update the date
                 var lastUpdateDate = database.Table <LastUpdateMeditation>().First(x => x.Email == Settings.Email);
                 lastUpdateDate.MeditationLastUpdateDate = date;
                 database.Update(lastUpdateDate);
             }
             else
             {
                 //add new date
                 LastUpdateMeditation lastMeditationDate = new LastUpdateMeditation();
                 lastMeditationDate.Email = Settings.Email;
                 lastMeditationDate.MeditationLastUpdateDate = date;
                 database.Insert(lastMeditationDate);
             }
         }
     }
     catch (Exception ex)
     {
         Debug.WriteLine("SaveLastMeditationDate " + ex.Message);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// This function checks that if network is available or not. if its available, it hits Meditation 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 <Category> > DatabaseOperation()
        {
            if (CrossConnectivity.Current.IsConnected)
            {
                var appActivityService = new AppActivityService();
                var activity           = await appActivityService.FetchAppActivityAsync();

                LastUpdateMeditation lastUpdateMeditationDate = DatabaseHelper.GetInstance().GetLastMeditationDate();

                if (lastUpdateMeditationDate == null || lastUpdateMeditationDate.MeditationLastUpdateDate != activity.First().meditation_activity.last_updated)
                {
                    List <MeditationModel> items = await FetchAllMeditationData();

                    databaseHelper.AddMeditation(items);
                    DatabaseHelper.GetInstance().SaveLastMeditationDate(activity.First().meditation_activity.last_updated);
                    return(FetchAllMeditationCategories());
                }
                else
                {
                    return(FetchAllMeditationCategories());
                }
            }
            else
            {
                return(FetchAllMeditationCategories());
            }
        }