public long SaveWorkplan(Workplan workplan) { using (var uow = ModelFactory.Create()) { var recipeRepo = uow.GetRepository <IProductRecipeEntityRepository>(); // Update all non-clone recipes of that workplan var affectedRecipes = recipeRepo.Linq .Where(r => r.WorkplanId == workplan.Id && r.Classification > 0).ToList(); var entity = RecipeStorage.SaveWorkplan(uow, workplan); foreach (var recipe in affectedRecipes) { recipe.Workplan = entity; } uow.SaveChanges(); foreach (var recipeEntity in affectedRecipes) { var recipe = Storage.LoadRecipe(recipeEntity.Id); RaiseRecipeChanged(recipe); } return(entity.Id); } }
public long SaveWorkplan(Workplan workplan) { using (var uow = ModelFactory.Create()) { var entity = RecipeStorage.SaveWorkplan(uow, workplan); uow.SaveChanges(); return(entity.Id); } }