CustomerOrderItemViewModel.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
using System;
using System.Windows.Input;

namespace MyApp
{
    public class CustomerOrderItemViewModel : ObservableRecipient
    {
        public Dish Dish { get; set; }

        private bool _selected;

        public bool Selected
        {
            get => _numOrdered > 0;
            set
            {
                if (!value)
                {
                    NumOrdered = 0;
                }
                else if (0 == NumOrdered)
                {
                    NumOrdered = 1;
                }
                SetProperty(ref _selected, value);
            }
        }

        /// <summary>
        ///   回调事件,当客户点餐订单内容发生变化时被触发
        /// </summary>
        public Action OnOrderChangedCallback { get; set; }

        private int _numOrdered;

        public int NumOrdered
        {
            get => _numOrdered;
            set
            {
                bool orderIsChanged = SetProperty(ref _numOrdered, value);
                if (!orderIsChanged)
                {
                    return;
                }
                string details = $"行号={RowSerialNum} 菜名={Dish.Name} 份数={_numOrdered}";
                _ = Messenger.Send(new CustomerOrderChangedMessage(details));
            }
        }

        public int RowSerialNum { get; set; }

        public ICommand OrderAddCommand { get; private set; }

        public ICommand OrderDecCommand { get; private set; }

        private void OrderAdd()
后面还有 29 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。