public long Save(IProductRecipe recipe) { var saved = Storage.SaveRecipe(recipe); RaiseRecipeChanged(recipe); return(saved); }
private static void ValidateRecipe(IProductRecipe recipe) { if (recipe == null) { throw new ArgumentException("Recipe could not be found"); } }
public long SaveRecipe(IProductRecipe recipe) { ValidateHealthState(); var recipeId = RecipeManagement.Save(recipe); return(recipeId); }
/// <summary> /// Saves <see cref="ProductRecipe"/> to database and return the <see cref="ProductRecipeEntity"/> /// </summary> protected ProductRecipeEntity SaveRecipe(IUnitOfWork uow, IProductRecipe recipe) { var entity = RecipeStorage.SaveRecipe(uow, recipe); RecipeStrategies[recipe.GetType().Name].SaveRecipe(recipe, entity); return(entity); }
/// public long SaveRecipe(IProductRecipe recipe) { using (var uow = Factory.Create()) { SaveRecipe(uow, recipe); uow.SaveChanges(); return(recipe.Id); } }
public IProductRecipe ConvertRecipeBack(RecipeModel recipe, IProductRecipe productRecipe, IProductType productType) { productRecipe.Name = recipe.Name; productRecipe.Revision = recipe.Revision; productRecipe.State = recipe.State; // Only load workplan if it changed var workplanRecipe = productRecipe as IWorkplanRecipe; if (workplanRecipe != null && workplanRecipe.Workplan?.Id != recipe.WorkplanId) { workplanRecipe.Workplan = WorkplanManagement.LoadWorkplan(recipe.WorkplanId); } if (productRecipe.Product == null) { productRecipe.Product = productType; } EntryConvert.UpdateInstance(productRecipe, recipe.Properties, RecipeSerialization); // Do not update a clones classification if (productRecipe.Classification.HasFlag(RecipeClassification.Clone)) { return(productRecipe); } switch (recipe.Classification) { case RecipeClassificationModel.Unset: productRecipe.Classification = RecipeClassification.Unset; break; case RecipeClassificationModel.Default: productRecipe.Classification = RecipeClassification.Default; break; case RecipeClassificationModel.Alternative: productRecipe.Classification = RecipeClassification.Alternative; break; case RecipeClassificationModel.Intermediate: productRecipe.Classification = RecipeClassification.Intermediate; break; case RecipeClassificationModel.Part: productRecipe.Classification = RecipeClassification.Part; break; default: throw new ArgumentOutOfRangeException(); } return(productRecipe); }
/// <summary> /// Copy properties to recipe /// </summary> /// <param name="recipeEntity"></param> /// <param name="productRecipe"></param> public static void CopyToRecipe(ProductRecipeEntity recipeEntity, IProductRecipe productRecipe) { productRecipe.Id = recipeEntity.Id; productRecipe.Name = recipeEntity.Name; productRecipe.Classification = (RecipeClassification)recipeEntity.Classification; productRecipe.Revision = recipeEntity.Revision; productRecipe.State = (RecipeState)recipeEntity.State; productRecipe.Product = new ProductReference(recipeEntity.ProductId); var workplanRecipe = productRecipe as IWorkplanRecipe; if (workplanRecipe != null) { workplanRecipe.Workplan = LoadWorkplan(recipeEntity.Workplan); } }
/// <summary> /// Save recipe to given <see cref="IUnitOfWork"/> /// </summary> public static ProductRecipeEntity SaveRecipe(IUnitOfWork uow, IProductRecipe recipe) { var entity = uow.GetEntity <ProductRecipeEntity>(recipe); entity.Type = recipe.GetType().Name; entity.Revision = recipe.Revision; entity.Name = recipe.Name; entity.State = (int)recipe.State; entity.Classification = (int)recipe.Classification; entity.ProductId = recipe.Product.Id; var workplanRecipe = recipe as IWorkplanRecipe; if (workplanRecipe != null) { entity.WorkplanId = workplanRecipe.Workplan.Id; } return(entity); }
public override void LoadRecipe(IGenericColumns source, IProductRecipe target) { EntityMapper.ReadValue(source, target); }
public override void SaveRecipe(IProductRecipe source, IGenericColumns target) { EntityMapper.WriteValue(source, target); }
private IProductRecipe ReplaceOrigin(IProductRecipe recipe) { recipe.Origin = this; return(recipe); }