コード例 #1
0
 private static bool TestDataBaseStateFlags(IDataBase dataBase, DataBaseFlags dataBaseFlags)
 {
     if (dataBaseFlags.HasFlag(DataBaseFlags.NotLoaded) == true && dataBase.IsLoaded == true)
     {
         return(false);
     }
     if (dataBaseFlags.HasFlag(DataBaseFlags.Loaded) == true && dataBase.IsLoaded == false)
     {
         return(false);
     }
     return(true);
 }
コード例 #2
0
 private static bool TestPublicFlags(IDataBase dataBase, DataBaseFlags dataBaseFlags)
 {
     if (dataBaseFlags.HasFlag(DataBaseFlags.Private) == true && dataBase.AccessInfo.IsPrivate == false)
     {
         return(false);
     }
     if (dataBaseFlags.HasFlag(DataBaseFlags.Public) == true && dataBase.AccessInfo.IsPublic == false)
     {
         return(false);
     }
     return(true);
 }
コード例 #3
0
 public static void Validate(this DataBaseFlags dataBaseFlags)
 {
     if (dataBaseFlags.HasFlag(DataBaseFlags.Loaded) == true && dataBaseFlags.HasFlag(DataBaseFlags.NotLoaded) == true)
     {
         throw new ArgumentException("'DataBaseFlags.Loaded' and 'DataBaseFlags.NotLoaded' cannot be used together.", nameof(dataBaseFlags));
     }
     if (dataBaseFlags.HasFlag(DataBaseFlags.Public) == true && dataBaseFlags.HasFlag(DataBaseFlags.Private) == true)
     {
         throw new ArgumentException("'DataBaseFlags.Public' and 'DataBaseFlags.Private' cannot be used together.", nameof(dataBaseFlags));
     }
     if (dataBaseFlags.HasFlag(DataBaseFlags.Locked) == true && dataBaseFlags.HasFlag(DataBaseFlags.NotLocked) == true)
     {
         throw new ArgumentException("'DataBaseFlags.Locked' and 'DataBaseFlags.NotLocked' cannot be used together.", nameof(dataBaseFlags));
     }
 }
コード例 #4
0
 static bool TestFlags(IDataBase dataBase, DataBaseFlags dataBaseFlags)
 {
     if (TestDataBaseStateFlags(dataBase, dataBaseFlags) == false)
     {
         return(false);
     }
     if (TestDataBaseLockedFlags(dataBase, dataBaseFlags) == false)
     {
         return(false);
     }
     if (TestDataBaseAccessFlags(dataBase, dataBaseFlags) == false)
     {
         return(false);
     }
     return(true);
 }
コード例 #5
0
 public static bool Verify(this DataBaseFlags dataBaseFlags)
 {
     if (dataBaseFlags.HasFlag(DataBaseFlags.Loaded) == true && dataBaseFlags.HasFlag(DataBaseFlags.NotLoaded) == true)
     {
         return(false);
     }
     if (dataBaseFlags.HasFlag(DataBaseFlags.Public) == true && dataBaseFlags.HasFlag(DataBaseFlags.Private) == true)
     {
         return(false);
     }
     if (dataBaseFlags.HasFlag(DataBaseFlags.Locked) == true && dataBaseFlags.HasFlag(DataBaseFlags.NotLocked) == true)
     {
         return(false);
     }
     return(true);
 }
コード例 #6
0
 public static bool Test(IDataBase dataBase, DataBaseFlags dataBaseFlags)
 {
     return(TestDataBaseStateFlags(dataBase, dataBaseFlags) && TestPublicFlags(dataBase, dataBaseFlags) && TestLockFlags(dataBase, dataBaseFlags));
 }
コード例 #7
0
 public static Task <IDataBase[]> GetDataBasesAsync(this IDataBaseContext dataBaseContext, DataBaseFlags dataBaseFlags, Func <IDataBase, bool> predicate)
 {
     return(dataBaseContext.Dispatcher.InvokeAsync(() =>
     {
         var query = from item in dataBaseContext
                     where TestFlags(item, dataBaseFlags) && predicate(item)
                     select item;
         return query.ToArray();
     }));
コード例 #8
0
 public static Task <IDataBase[]> GetDataBasesAsync(this IDataBaseContext dataBaseContext, DataBaseFlags dataBaseFlags)
 {
     return(GetDataBasesAsync(dataBaseContext, dataBaseFlags, DefaultPredicate));
 }
コード例 #9
0
 public DataBaseFilter(DataBaseFlags dataBaseFlags)
 {
     this.DataBaseFlags = dataBaseFlags;
 }
コード例 #10
0
 public static Task <IDataBase> GetRandomDataBaseAsync(this IDataBaseContext dataBaseContext, DataBaseFlags dataBaseFlags, Func <IDataBase, bool> predicate)
 {
     return(dataBaseContext.Dispatcher.InvokeAsync(() => dataBaseContext.RandomOrDefault(item => TestFlags(item, dataBaseFlags) && predicate(item) == true)));
コード例 #11
0
 public TaskDbContext(DbContextOptions <TaskDbContext> options, IConfiguration configuration, DataBaseFlags db = DataBaseFlags.MSSQL) : base(options)
 {
     _db            = db;
     _configuration = configuration;
     //Database.EnsureCreated();
 }