private void CreateInsertBackup(DBBackUpPackage dbBackUpPackage, string fileName) { try { List<string> lines = new List<string>(); lines.Add("USE [SmartWorking]"); lines.Add("GO"); lines.Add("SET IDENTITY_INSERT [dbo].[Recipes] ON"); foreach (RecipePrimitive primitive in dbBackUpPackage.RecipeList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[Recipes] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[Drivers] ON"); foreach (DriverPrimitive primitive in dbBackUpPackage.DriverList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[Drivers] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[Buildings] ON"); foreach (BuildingPrimitive primitive in dbBackUpPackage.BuildingList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[Buildings] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[Contractors] ON"); foreach (ContractorPrimitive primitive in dbBackUpPackage.ContractorList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[Contractors] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[Clients] ON"); foreach (ClientPrimitive primitive in dbBackUpPackage.ClientList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[Clients] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[ClientBuildings] ON"); foreach (ClientBuildingPrimitive primitive in dbBackUpPackage.ClientBuildingList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[ClientBuildings] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[Cars] ON"); foreach (CarPrimitive primitive in dbBackUpPackage.CarList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[Cars] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[Materials] ON"); foreach (MaterialPrimitive primitive in dbBackUpPackage.MaterialList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[Materials] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[RecipeComponents] ON"); foreach (RecipeComponentPrimitive primitive in dbBackUpPackage.RecipeComponentList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[RecipeComponents] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[Orders] ON"); foreach (OrderPrimitive primitive in dbBackUpPackage.OrderList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[Orders] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[MaterialStocks] ON"); foreach (MaterialStockPrimitive primitive in dbBackUpPackage.MaterialStockList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[MaterialStocks] OFF"); lines.Add("SET IDENTITY_INSERT [dbo].[DeliveryNotes] ON"); foreach (DeliveryNotePrimitive primitive in dbBackUpPackage.DeliveryNoteList) { lines.Add(primitive.GetDBInsertQuery()); } lines.Add("SET IDENTITY_INSERT [dbo].[DeliveryNotes] OFF"); System.IO.File.WriteAllLines(fileName, lines); } catch (Exception) { //TODO: } }
public DBBackUpPackage GetBackUpData() { try { DBBackUpPackage result = new DBBackUpPackage(); using (var ctx = new SmartWorkingEntities()) { foreach (var entity in ctx.Buildings.AsEnumerable()) { result.BuildingList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.Cars.AsEnumerable()) { result.CarList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.ClientBuildings.AsEnumerable()) { result.ClientBuildingList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.Clients.AsEnumerable()) { result.ClientList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.Contractors.AsEnumerable()) { result.ContractorList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.DeliveryNotes.AsEnumerable()) { result.DeliveryNoteList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.Drivers.AsEnumerable()) { result.DriverList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.Materials.AsEnumerable()) { result.MaterialList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.MaterialStocks.AsEnumerable()) { result.MaterialStockList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.Orders.AsEnumerable()) { result.OrderList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.RecipeComponents.AsEnumerable()) { result.RecipeComponentList.Add(entity.GetPrimitive()); } foreach (var entity in ctx.Recipes.AsEnumerable()) { result.RecipeList.Add(entity.GetPrimitive()); } } return result; } catch (Exception e) { throw new FaultException<ExceptionDetail>(new ExceptionDetail(e), e.Message); } }