public static SmartDrawerDatabaseContext GetDbContext() { try { var dbContext = new SmartDrawerDatabaseContext(GetConnectionString()); dbContext.Database.Connection.Open(); return(dbContext); } catch (SqlException) { // connection to remote database failed (OpenAsync() raised an SqlException) return(null); } }
private static void AddMovementToInventory(SmartDrawerDatabaseContext ctx, Inventory newInventory, IEnumerable tags, MovementType movement, int drawerId) { /* foreach (string uid in tags) * { * var rfidTag = ctx.RfidTags.AddIfNotExisting(uid); * int shelveNumber = drawerId; * * newInventory.InventoryProducts.Add(ctx.InventoryProducts.Add(new InventoryProduct * { * InventoryId = newInventory.InventoryId, * RfidTag = rfidTag, * MovementType = (int)movement, * Shelve = shelveNumber * })); * } */ List <InventoryProduct> ListProdToAdd = new List <InventoryProduct>(); foreach (string uid in tags) { var rfidTag = ctx.RfidTags.AddIfNotExisting(uid); int shelveNumber = drawerId; ListProdToAdd.Add(new InventoryProduct { InventoryId = newInventory.InventoryId, RfidTag = rfidTag, MovementType = (int)movement, Shelve = shelveNumber }); } IEnumerable <InventoryProduct> LstProducts = ctx.InventoryProducts.AddRange(ListProdToAdd); foreach (InventoryProduct ip in LstProducts) { newInventory.InventoryProducts.Add(ip); } }