public IQueuedPresentation FindByTitle(string title)
        {
            IQueuedPresentation result = null;

            using (var conn = new SQLiteConnection(Database.DatabasePath))
            {
                using (var context = new DatabaseContext(conn))
                {
                    result = context.QueuedPresentation.FirstOrDefault(x => x.Title.ToLower() == title.ToLower());
                }
            }
            return(result);
        }
 public void Update(IQueuedPresentation entity)
 {
     using (var conn = new SQLiteConnection(Database.DatabasePath))
     {
         using (var context = new DatabaseContext(conn))
         {
             var queuedPresentation = context.QueuedPresentation.FirstOrDefault(x => x.Id == entity.Id);
             if (queuedPresentation != null)
             {
                 context.Entry(queuedPresentation).CurrentValues.SetValues(entity);
                 context.SaveChanges();
             }
         }
     }
 }
        public IQueuedPresentation Add(IQueuedPresentation entity)
        {
            var existing = FindByTitle(entity.Title);

            if (existing != null)
            {
                return(existing);
            }
            using (var conn = new SQLiteConnection(Database.DatabasePath))
            {
                using (var context = new DatabaseContext(conn))
                {
                    context.QueuedPresentation.Add((QueuedPresentation)entity);
                    context.SaveChanges();
                }
            }
            return(entity);
        }