Example #1
0
        protected override async Task<bool> Save()
        {

            var dish = new Dish();
            dish.Id = Id;
            dish.DishGroup = SelecteDishGroup;
            dish.DishGroupId = SelecteDishGroup.Id;
            dish.Name = Name;
            dish.Price = Price;

            DishImage image = null;
            if (_imageWasChanged)
            {
                image = new DishImage();
                image.Image = GetImage();
            }
            else if (_dish?.DishImageId != null)
                {
                    image = new DishImage();
                    image.Id = _dish.DishImageId.Value;
                }
            

            List<DishIngredient> ingredients = null;
            if (DishIngredients.Any())
            {
                ingredients = DishIngredients.Select(t => new DishIngredient
                {
                    Id = t.Id,
                    DishId = Id,
                    IngredientId = t.IngredientId,
                    Weight = t.Weight
                }).ToList();
            }

            var result = await Repository.SaveDish(dish, image, ingredients);
            Id = dish.Id;

            if (result)
            {
                MessageBox.Show("Успешно сохранено", "Сохранение");
            }
            return result;
        }
Example #2
0
        private void SetData(List<IngredientPrice> ingredients, DishImage image, List<DishIngredientInfo> dishIngredients )
        {

            Ingredients = ingredients == null
                ? new ObservableCollection<IngredientPrice>()
                : new ObservableCollection<IngredientPrice>(ingredients);

            if (image?.Image != null)
            {
                Image = LoadImage(image.Image);
            }

            if (dishIngredients != null && dishIngredients.Any())
            {
                if (ingredients != null)
                {
                    foreach (var dishIngredientInfo in dishIngredients)
                    {
                        dishIngredientInfo.Ingredient =
                            ingredients.FirstOrDefault(t => t.Id == dishIngredientInfo.IngredientId);
                    }
                }

                DishIngredients = new ObservableCollection<DishIngredientInfo>(dishIngredients);
            }
            else
            {
                DishIngredients = new ObservableCollection<DishIngredientInfo>();
            }

            OnPropertyChanged(nameof(ResultCost));
        }