//using RiskProf.Files.Domain;
//using Kit.Helpers.SQLite;

//namespace Kit.Helpers.DbEmbedded.Repository
//{
//    public class SqlFileVersionInfo
//    {
//        public SqlFileVersionInfo()
//        {
//            Type = string.Empty;
//            Version = 0;
//        }

//        public string Type { get; set; }
//        public long Version { get; set; }
//    }

//    public interface ISqlFileVersionRepository
//    {
//        SqlFileVersionInfo? Get(SQLiteFile file);
//        void Set(SQLiteFile file, SqlFileVersionInfo info);
//    }

//    public class SqlFileVersionRepository : ISqlFileVersionRepository
//    {
//        public SqlFileVersionRepository()
//        {
//        }

//        private const string _createIfNotExists = "create table if not exists fileVersion(type text, version integer); ";

//        public SqlFileVersionInfo? Get(SQLiteFile file)
//        {
//            return file.PrepareExecute<SqlFileVersionInfo>(_createIfNotExists + "select type, version from fileVersion")
//                .AsSqlText()
//                .AddConverter((record, list) =>
//                {
//                    list.Add(new SqlFileVersionInfo
//                    {
//                        Type = record.Get<string>("type"),
//                        Version = record.Get<long>("version"),
//                    });
//                })
//                .ExecuteSelectMany()
//                .SingleOrDefault();
//        }

//        public void Set(SQLiteFile file, SqlFileVersionInfo info)
//        {
//            file.PrepareExecute(_createIfNotExists + "delete from fileVersion; insert into fileVersion (type, version) values (@type, @version)")
//                .AsSqlText()
//                .AddParameter("type", info.Type)
//                .AddParameter("version", info.Version)
//                .ExecuteNonQuery();
//        }
//    }
//}