public Result <ItemTag> Create(ItemTag itemTag)
 {
     try
     {
         var sqliteConnection = new SQLiteConnection(_configurationAccessor.GetDatabaseConnectionString());
         using (var model = new EntityFramework.Model(sqliteConnection))
         {
             model.ItemTags.Add(itemTag);
             model.SaveChanges();
             return(Result.Ok(itemTag));
         }
     }
     catch (Exception ex)
     {
         return(Result.Fail <ItemTag>(ex.InnerException?.Message ?? ex.Message));
     }
 }
        public List <string> Get()
        {
            var sqliteConnection = new SQLiteConnection(_configurationAccessor.GetDatabaseConnectionString());

            using (var model = new EntityFramework.Model(sqliteConnection))
            {
                var localMediaContainers = model.MediaContainers.Where(mc => mc.SourceId == ImageSource.Local && mc.IsEnabled).Select(mc => mc.Id).ToList();
                var imageFiles           = model.ImageMetaDatas.Where(imd => localMediaContainers.Contains(imd.MediaContainerId)).Select(imd => imd.FullFileName).ToList();
                return(imageFiles.Select(i => System.IO.Path.GetDirectoryName(i)).ToList());
            }
        }
 public Result Create(IEnumerable <ImageMetaData> images)
 {
     try
     {
         var sqliteConnection = new SQLiteConnection(_configurationAccessor.GetDatabaseConnectionString());
         using (var model = new EntityFramework.Model(sqliteConnection))
         {
             model.ImageMetaDatas.AddRange(images);
             model.SaveChanges();
         }
         return(Result.Ok());
     }
     catch (Exception ex)
     {
         return(Result.Fail(ex.InnerException?.Message ?? ex.Message));
     }
 }