partial void DeleteProductPlugin(ProductPlugin instance);
private void InsertOrUpdateProduct(DeploymentDataContext ctx, ProductDescription product) { var productEntity = (from p in ctx.Products where p.Name == product.Name where p.Version == product.Version.ToString() select p).FirstOrDefault() ?? MakeProductFromDescription(product); if (productEntity.Id <= 0) { ctx.Products.InsertOnSubmit(productEntity); ctx.SubmitChanges(); } DeleteProductPlugins(ctx, productEntity); foreach (var plugin in product.Plugins) { var existingPlugin = GetExistingPlugin(ctx, plugin.Name, plugin.Version); ProductPlugin prodPlugin = new ProductPlugin(); prodPlugin.PluginId = existingPlugin.Id; prodPlugin.ProductId = productEntity.Id; ctx.ProductPlugins.InsertOnSubmit(prodPlugin); } }
partial void UpdateProductPlugin(ProductPlugin instance);
partial void InsertProductPlugin(ProductPlugin instance);