コード例 #1
0
        private List <Drink> ConvertEditToDrink(DrinkViewModel viewModel)
        {
            var drinks = new List <Drink>();

            if (viewModel.CoffeeCount != 0)
            {
                drinks.Add(new Drink
                {
                    Time      = DateTime.Now,
                    DrinkType = DrinksEnum.COFFEE,
                    Amount    = viewModel.CoffeeCount
                });
            }

            if (viewModel.WaterCount != 0)
            {
                drinks.Add(new Drink
                {
                    Time      = DateTime.Now,
                    DrinkType = DrinksEnum.WATER,
                    Amount    = viewModel.WaterCount
                });
            }
            return(drinks);
        }
コード例 #2
0
        public MainViewModel()
        {
            Console.WriteLine("MainViewModel says Hello World! ");

            #region Commands
            NewCommand = new Command(
                execute: () =>
            {
                DrinkEdit = new DrinkViewModel();
                DrinkEdit.PropertyChanged += OnDrinkEditPropertyChanged;
                IsEditing = true;
                RefreshCanExecutes();
            },
                canExecute: () => { return(!IsEditing); });

            SubmitCommand = new Command(
                execute: () =>
            {
                DrinkEdit.PropertyChanged -= OnDrinkEditPropertyChanged;
                Drinks.Add(DrinkEdit);
                var temp = ConvertEditToDrink(DrinkEdit);
                if (temp.Count > 0)
                {
                    temp.ForEach(it => { App.Database.SaveItemAsync(it); });
                }
                DrinkEdit = null;
                IsEditing = false;
                RefreshCanExecutes();
            },
                canExecute: () =>
            {
                return(DrinkEdit != null &&
                       (DrinkEdit.CoffeeCount > 0 ||
                        DrinkEdit.WaterCount > 0));
            });

            CancelCommand = new Command(
                execute: () =>
            {
                DrinkEdit.PropertyChanged -= OnDrinkEditPropertyChanged;
                DrinkEdit = null;
                IsEditing = false;
                RefreshCanExecutes();
            },
                canExecute: () =>
            {
                return(IsEditing);
            });
            #endregion
        }