示例#1
0
        public override async Task Load(ProductViewModel product)
        {
            await base.Load(product);

            try
            {
                var workplans = await ProductServiceModel.GetWorkplans();

                _workplans.AddRange(workplans.Select(wm => new WorkplanViewModel(wm)));

                RecipeConductor = new RecipeConductor(DetailsFactory, _workplans, Product.Recipes);
                await RecipeConductor.Load();
            }
            catch (Exception e)
            {
                DialogManager.ShowMessageBox($"Error while receiving workplans. {e}",
                                             "Error while receiving workplans.");
            }
        }
示例#2
0
        private async Task AddRecipe(object obj)
        {
            var dialog = new AddRecipeDialogViewModel(ProductServiceModel, _workplans);
            await DialogManager.ShowDialogAsync(dialog);

            if (!dialog.Result)
            {
                return;
            }

            Product.Recipes.Add(dialog.RecipePrototype);
            var details = RecipeConductor.Items.Cast <IRecipeDetails>()
                          .FirstOrDefault(d => d.EditableObject == dialog.RecipePrototype);

            if (details != null)
            {
                RecipeConductor.ActivateItem(details);
            }
        }
示例#3
0
 public override Task Save() =>
 RecipeConductor.Save();
示例#4
0
 public override void CancelEdit()
 {
     RecipeConductor.CancelEdit();
     base.CancelEdit();
 }
示例#5
0
 public override void EndEdit()
 {
     RecipeConductor.EndEdit();
     base.EndEdit();
 }
示例#6
0
 public override void BeginEdit()
 {
     base.BeginEdit();
     RecipeConductor.BeginEdit();
 }