コード例 #1
0
 public async Task Init()
 {
     using (var context = new CalendarCacheContext())
     {
         await context.Database.EnsureCreatedAsync();
     }
 }
コード例 #2
0
        public async Task SaveCalendar(CalendarBase calendar)
        {
            var entity = ICalendarToEntity(calendar);

            using (var context = new CalendarCacheContext())
            {
                await context.CalendarCache.AddAsync(entity);

                await context.SaveChangesAsync();
            }
        }
コード例 #3
0
 /// <summary>
 /// This method checks if the calendar item is enabled for display.
 /// Add calendar entity to DB if the item doesn't exist.
 /// </summary>
 /// <param name="calendar">the calendar item to check</param>
 /// <returns>True if it doens't exist on cache or exists and enabled. False if disabled.</returns>
 public bool CheckIfEnabled(CalendarBase calendar)
 {
     using (var context = new CalendarCacheContext())
     {
         var match = from item in context.CalendarCache
                     where item.CalendarId == calendar.Id && item.UserId == calendar.UserId
                     select item;
         if (match.Any())
         {
             calendar.IsEnabled     = match.First().IsEnabled;
             calendar.OverrideColor = match.First().OverrideColor;
             return(match.First().IsEnabled);
         }
     }
     calendar.IsEnabled = true;
     return(true);
 }
コード例 #4
0
        /// <summary>
        /// Add or Update calendar.
        /// </summary>
        /// <param name="calendar">The calaendar item to Add or Update</param>
        /// <returns></returns>
        public async Task AddUpdateCalendarCache(CalendarBase calendar)
        {
            using (var context = new CalendarCacheContext())
            {
                var match = from item in context.CalendarCache
                            where item.CalendarId == calendar.Id && item.UserId == calendar.UserId
                            select item;

                if (match.Any())
                {
                    var entity = match.First();
                    entity.IsEnabled     = calendar.IsEnabled;
                    entity.OverrideColor = calendar.OverrideColor;
                    context.Update(entity);

                    await context.SaveChangesAsync();

                    return;
                }
            }

            await SaveCalendar(calendar);
        }