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); }
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); }
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)); } }
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); }
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); }
public static bool Test(IDataBase dataBase, DataBaseFlags dataBaseFlags) { return(TestDataBaseStateFlags(dataBase, dataBaseFlags) && TestPublicFlags(dataBase, dataBaseFlags) && TestLockFlags(dataBase, dataBaseFlags)); }
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(); }));
public static Task <IDataBase[]> GetDataBasesAsync(this IDataBaseContext dataBaseContext, DataBaseFlags dataBaseFlags) { return(GetDataBasesAsync(dataBaseContext, dataBaseFlags, DefaultPredicate)); }
public DataBaseFilter(DataBaseFlags dataBaseFlags) { this.DataBaseFlags = dataBaseFlags; }
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)));
public TaskDbContext(DbContextOptions <TaskDbContext> options, IConfiguration configuration, DataBaseFlags db = DataBaseFlags.MSSQL) : base(options) { _db = db; _configuration = configuration; //Database.EnsureCreated(); }