public virtual CoreOptionsExtension UseDatabase(IndexedDbDatabaseModel indexedDbDatabaseModel) { var clone = Clone(); clone._indexedDbDatabaseModel = indexedDbDatabaseModel; return(clone); }
private IndexedDbDatabaseModel GetGridColumnDatabaseModelAttributeBased() { var indexedDbDatabaseModel = new IndexedDbDatabaseModel() .WithName("TestAttributes") .WithVersion(1); indexedDbDatabaseModel.AddStore <TableFieldDto>(); return(indexedDbDatabaseModel); }
/// <summary> /// Creates a new IndexedDbStore and adds it to the Database Model /// </summary> /// <param name="model"></param> /// <param name="name"></param> /// <returns></returns> public static IndexedDbStore AddStore(this IndexedDbDatabaseModel model, string name) { model.Stores ??= new List <IndexedDbStore>(); var store = new IndexedDbStore { Name = name }; model.Stores.Add(store); return(store); }
private void SetDbModel() { var option = _indexedDbDatabaseOptions.GetExtension <CoreOptionsExtension>(); if (option != null) { _indexedDbDatabaseModel = option.IndexedDbDatabaseModel; } else { throw new NullReferenceException("IndexedDB Database Model not configured. Add one in AddIndexedDbDatabase method"); } }
/// <summary> /// Adds a new store named TEntity.Name and adds Key and Indexes based on IndexedDbKey and IndexedDbIndex Attributes /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="model"></param> /// <returns></returns> public static IndexedDbStore AddStore <TEntity>(this IndexedDbDatabaseModel model) { model.Stores ??= new List <IndexedDbStore>(); var store = new IndexedDbStore { Name = typeof(TEntity).Name }; store.SetupFrom <TEntity>(); model.Stores.Add(store); return(store); }
/// <summary> /// Creates a new IndexedDbStore and adds it to the Database Model /// </summary> /// <param name="model"></param> /// <param name="name"></param> /// <returns></returns> public static IndexedDbStore AddStore(this IndexedDbDatabaseModel model, string name) { if (model.Stores == null) { model.Stores = new List <IndexedDbStore>(); } var store = new IndexedDbStore(); store.Name = name; model.Stores.Add(store); return(store); }
/// <summary> /// Adds a new store and adds Key and Indexes based on IndexedDbKey and IndexedDbIndex Attributes /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="model"></param> /// <param name="storeName"></param> /// <returns></returns> public static IndexedDbStore AddStore <TEntity>(this IndexedDbDatabaseModel model, string storeName) { if (model.Stores == null) { model.Stores = new List <IndexedDbStore>(); } var store = new IndexedDbStore(); store.Name = storeName; store.SetupFrom <TEntity>(); model.Stores.Add(store); return(store); }
public static IndexedDbDatabaseModel GetDataRawDatabaseModel() { var indexedDbDatabaseModel = new IndexedDbDatabaseModel { Name = "DataRawDb", Version = 1, Stores = new List <IndexedDbStore> { new IndexedDbStore { Name = "dataraw", Key = new IndexedDbStoreParameter { KeyPath = "rowId", AutoIncrement = true }, Indexes = new List <IndexedDbIndex> { new IndexedDbIndex { Name = "rowId", Definition = new IndexedDbIndexParameter { Unique = true } }, new IndexedDbIndex { Name = "data", Definition = new IndexedDbIndexParameter { Unique = false } }, } }, }, DbModelId = 0 }; return(indexedDbDatabaseModel); }
private IndexedDbDatabaseModel GetSecurityDatabaseModelFluent() { var model = new IndexedDbDatabaseModel() .WithName("Security") .WithVersion(1) .WithModelId(0); model.AddStore("tableFieldDtos") .WithAutoIncrementingKey("tableFieldId") .AddUniqueIndex("tableFieldId") .AddIndex("attachedProperty") .AddIndex("fieldVisualName") .AddIndex("hide") .AddIndex("isLink") .AddIndex("memberOf") .AddIndex("tableName") .AddIndex("textAlignClass") .AddIndex("type") .AddIndex("width"); return(model); }
private IndexedDbDatabaseModel GetGridColumnDatabaseModel() { var indexedDbDatabaseModel = new IndexedDbDatabaseModel { Name = "GridColumnData", Version = 1, Stores = new List <IndexedDbStore> { new IndexedDbStore { Name = "TableFieldDtos", Key = new IndexedDbStoreParameter { KeyPath = "tableFieldId", AutoIncrement = true }, Indexes = new List <IndexedDbIndex> { new IndexedDbIndex { Name = "tableFieldId", Definition = new IndexedDbIndexParameter { Unique = true } }, new IndexedDbIndex { Name = "attachedProperty", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "fieldVisualName", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "hide", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "isLink", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "memberOf", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "tableName", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "textAlignClass", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "type", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "width", Definition = new IndexedDbIndexParameter { Unique = false } }, //new IndexedDbIndex //{ // Name = "TestParam", // Definition = new IndexedDbIndexParameter // { // Unique = false // } //} } } }, DbModelId = 0, UseKeyGenerator = true }; return(indexedDbDatabaseModel); }
private IndexedDbDatabaseModel GetSecurityDatabaseModel() { var indexedDbDatabaseModel = new IndexedDbDatabaseModel { Name = "Security", Version = 1, Stores = new List <IndexedDbStore> { new IndexedDbStore { Name = "tableFieldDtos", Key = new IndexedDbStoreParameter { KeyPath = "tableFieldId", AutoIncrement = true }, Indexes = new List <IndexedDbIndex> { new IndexedDbIndex { Name = "tableFieldId", Definition = new IndexedDbIndexParameter { Unique = true } }, new IndexedDbIndex { Name = "attachedProperty", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "fieldVisualName", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "hide", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "isLink", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "memberOf", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "tableName", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "textAlignClass", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "type", Definition = new IndexedDbIndexParameter { Unique = false } }, new IndexedDbIndex { Name = "width", Definition = new IndexedDbIndexParameter { Unique = false } } } } }, DbModelId = 0 }; return(indexedDbDatabaseModel); }
/// <summary> /// Sets Database ModelId. Defaults to 0 /// </summary> /// <param name="model"></param> /// <param name="id"></param> /// <returns></returns> public static IndexedDbDatabaseModel WithModelId(this IndexedDbDatabaseModel model, int id) { model.DbModelId = id; return(model); }
/// <summary> /// Sets Version of Database Model /// </summary> /// <param name="model"></param> /// <param name="version"></param> /// <returns></returns> public static IndexedDbDatabaseModel WithVersion(this IndexedDbDatabaseModel model, int version) { model.Version = version; return(model); }
/// <summary> /// Sets Name of Database Model /// </summary> /// <param name="model"></param> /// <param name="name"></param> /// <returns></returns> public static IndexedDbDatabaseModel WithName(this IndexedDbDatabaseModel model, string name) { model.Name = name; return(model); }
public new virtual IndexedDbOptionsBuilder <TContext> UseDatabase([NotNull] IndexedDbDatabaseModel indexedDbDatabaseModel) => WithOption(e => e.UseDatabase(indexedDbDatabaseModel));
/// <summary> /// Sets Database UseKeyGenerator Property to given value /// </summary> /// <param name="model"></param> /// <returns></returns> public static IndexedDbDatabaseModel UseKeyGenerator(this IndexedDbDatabaseModel model, bool value) { model.UseKeyGenerator = value; return(model); }