/// <summary> /// Loads its datatable from disk /// </summary> public virtual void LoadFromDisk() { List <Guid> toDeleteIDs = new List <Guid>(); foreach (DBStorageItem item in Items.Values) { toDeleteIDs.Add(item.ID); } foreach (Guid id in toDeleteIDs) { Items.Remove(id); } DataTable.Rows.Clear(); DataAdapter.Fill(DataTable); foreach (DataRow row in DataTable.Rows) { DBStorageItem newItem = (DBStorageItem)ClassTypeConstructor.Invoke(new object[] { null }); newItem._bindedRow = row; newItem.Load(); Items.Add(newItem.ID, newItem); } }
/// <summary> /// Deletes item from storage /// </summary> /// <param name="item">Provided item</param> internal void Delete(DBStorageItem item) { Items.Remove(item.ID); item._bindedRow.Delete(); }