public void Import(IProvisionSource source) { KPCContext.Log.DebugFormat("Importing data from {0} into DBContext.", source.GetType().Name); var store = source.Export(); if (store == null) { throw new DataStoreException("Given data source contains no data to import."); } if (sessionFactory == null) { InitializeSessionFactory(); } using (var importer = new DatabaseImporter(GetSession())) { // Note: Import order is important to maintain referential integrity of database importer.Import(store.Ingredients); importer.Import(store.IngredientForms); importer.Import(store.IngredientMetadata); importer.Import(store.NlpAnomalousIngredients); importer.Import(store.NlpDefaultPairings); importer.Import(store.NlpFormSynonyms); importer.Import(store.NlpIngredientSynonyms); importer.Import(store.NlpPrepNotes); importer.Import(store.NlpUnitSynonyms); importer.Import(store.Recipes); importer.Import(store.RecipeIngredients); importer.Import(store.RecipeMetadata); importer.Import(store.Menus); importer.Import(store.Favorites); importer.Import(store.QueuedRecipes); importer.Import(store.RecipeRatings); importer.Import(store.ShoppingLists); importer.Import(store.ShoppingListItems); } KPCContext.Log.DebugFormat("Done importing data from into DBContext."); }
public void Import(IProvisionSource source) { this.Adapter.Import(source); }
public void Import(IProvisionSource source) { KPCContext.Log.DebugFormat("Importing data from {0} into DBContext.", source.GetType().Name); var store = source.Export(); if (store == null) throw new DataStoreException("Given data source contains no data to import."); if (sessionFactory == null) InitializeSessionFactory(); using (var importer = new DatabaseImporter(GetSession())) { // Note: Import order is important to maintain referential integrity of database importer.Import(store.Ingredients); importer.Import(store.IngredientForms); importer.Import(store.IngredientMetadata); importer.Import(store.NlpAnomalousIngredients); importer.Import(store.NlpDefaultPairings); importer.Import(store.NlpFormSynonyms); importer.Import(store.NlpIngredientSynonyms); importer.Import(store.NlpPrepNotes); importer.Import(store.NlpUnitSynonyms); importer.Import(store.Recipes); importer.Import(store.RecipeIngredients); importer.Import(store.RecipeMetadata); importer.Import(store.Menus); importer.Import(store.Favorites); importer.Import(store.QueuedRecipes); importer.Import(store.RecipeRatings); importer.Import(store.ShoppingLists); importer.Import(store.ShoppingListItems); } KPCContext.Log.DebugFormat("Done importing data from into DBContext."); }
/// <summary> /// Imports data from another source into this context. /// </summary> /// <param name="source">Another KitchenPC context that provides the ability to export data.</param> public void Import(IProvisionSource source) { KPCContext.Log.DebugFormat("Importing data from {0} into StaticContext.", source.GetType().Name); InitializeStore(); // Call source.Export and populate local data store var data = source.Export(); var serializer = new XmlSerializer(data.GetType()); var file = CompressedStore ? "KPCData.gz" : "KPCData.xml"; var path = Path.Combine(DataDirectory, file); KPCContext.Log.DebugFormat("Serializing data to local file: {0}", path); using (var fileWriter = new FileStream(path, FileMode.Create)) { if (CompressedStore) { using (var writer = new GZipStream(fileWriter, CompressionLevel.Optimal)) { serializer.Serialize(writer, data); } } else { serializer.Serialize(fileWriter, data); } } KPCContext.Log.DebugFormat("Done importing data from into StaticContext."); }
public void Import(IProvisionSource source) { Adapter.Import(source); }