using BBWY.Client.APIServices; using BBWY.Client.Models.APIModel.Response.PackTask; using GalaSoft.MvvmLight.Command; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Input; using WebSocketSharp; namespace BBWY.Client.Models.PackTask { public class PackItemModel : NotifyObject { private string itemName; public string ItemName { get => itemName; set { Set(ref itemName, value); } } private string selectUserId; /// /// Member.userId /// public string SelectUserId { get => selectUserId; set { Set(ref selectUserId, value); } } private long? selectId; /// /// 选中的Id /// public long? SelectId { get => selectId; set { Set(ref selectId, value); } } private string memberName; public string MemberName { get => memberName; set { Set(ref memberName, value); } } private int itemCount; public int ItemCount { get => itemCount; set { Set(ref itemCount, value); } } private ObservableCollection increateServiceList; public ObservableCollection IncreateServiceList { get => increateServiceList; set { Set(ref increateServiceList, value); } } private ObservableCollection memberList; public ObservableCollection MemberList { get => memberList; set { Set(ref memberList, value); } } private ObservableCollection consumableList; public ObservableCollection ConsumableList { get => consumableList; set { Set(ref consumableList, value); } } /// /// 工序服务 /// private ObservableCollection packServiceList; public ObservableCollection PackServiceList { get => packServiceList; set { Set(ref packServiceList, value); } } /// /// 设置列表的 是否编辑属性 /// public bool IsEnable { get; set; } public ICommand DeleteServiceCommand { get; set; } public PackItemModel() { DeleteServiceCommand = new RelayCommand(DeleteService); } private void DeleteService(object obj) { ObservableCollection list = obj as ObservableCollection; list.Remove(this); } /// /// 耗材类型 /// private ObservableCollection consumableTypeList; public ObservableCollection ConsumableTypeList { get => consumableTypeList; set { Set(ref consumableTypeList, value); } } /// /// 所有的耗材类型 /// public List AllConsumableTypeList { get; set; } private string consumableType; /// /// 耗材类型 /// public string ConsumableType { get => consumableType; set { Set(ref consumableType, value); OnConsumableTypeChanged(ConsumableType); } } void OnConsumableTypeChanged(string ConsumableType) { if (AllConsumableTypeList == null || AllConsumableTypeList.Count <= 0 || ConsumableType .IsNullOrEmpty()) { return;//ConsumableList } ConsumableItemList = AllConsumableTypeList.SingleOrDefault(a => a.ConsumableTypeName == ConsumableType)?.ConsumableList; if (ConsumableItemList == null || ConsumableItemList.Count <= 0 ) { return; } ConsumableItem = ConsumableItemList.FirstOrDefault()?.ConsumableName; } private string consumableItem; /// /// 耗材型号 /// public string ConsumableItem { get => consumableItem; set { Set(ref consumableItem, value); OnConsumableItemChanged(ConsumableItem); } } /// /// 统计耗材收费 /// public Action TotalConsumableFees { get; set; } void OnConsumableItemChanged(string consumableItem) { if (ConsumableItemList == null || ConsumableItemList.Count <= 0 || consumableItem .IsNullOrEmpty()) { return; } ConsumablePrice = ConsumableItemList.SingleOrDefault(c => c.ConsumableName == consumableItem).ConsumablePrice; if (TotalConsumableFees != null) TotalConsumableFees(); } /// /// 耗材型号 /// private ObservableCollection consumableItemList; public ObservableCollection ConsumableItemList { get => consumableItemList; set { Set(ref consumableItemList, value); } } private decimal consumablePrice; /// /// 耗材单价 /// public decimal ConsumablePrice { get => consumablePrice; set { Set(ref consumablePrice, value); } } private int taskCount; /// /// 耗材任务数 /// public int TaskCount { get => taskCount; set { Set(ref taskCount, value); OnConsumableItemChanged(ConsumableItem); } } } public class ConsumableItemModel : NotifyObject { /// /// 耗材id /// public long ConsumableId { get; set; } /// /// 耗材名称 /// public string ConsumableName { get; set; } /// /// 耗材价格 /// public decimal ConsumablePrice { get; set; } } }