using CommunityToolkit.Mvvm.ComponentModel; using ivf_tl_Entity.Entity.balance; using ivf_tl_Entity.Enums; using ivf_tl_Manage.Converts; using ivf_tl_Manage.Win; using ivf_tl_Service.HttpProvider; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; namespace ivf_tl_Manage.ViewModels { public partial class MarkDetailViewModel : BaseViewModel { private MarkProvider _markProvider = null; public AppData Appdata { get; set; } public MarkDetailViewModel(BaseViewModel parentViewModel, long id) { base.NavName = KeyToStringConvert.GetLanguageStringByKey("0162"); base.NavList.Clear(); foreach (var item in parentViewModel.NavList) { base.NavList.Add(item); } base.NavList.Add(this); this.DishId = id; if (_markProvider == null) _markProvider = AppData.Instance.GetMarkProvider(); dish = _markProvider.GetMarkResultByRecordIdApi(id); if (dish == null) { //new ToastMessageWindow(AppData.Instance.MainWindow, 1920, 65, "培养记录不存在").Show(); new ToastMessageWindow(AppData.Instance.MainWindow, 1920, 65, KeyToStringConvert.GetLanguageStringByKey("0339")).Show(); } else { Embryos = new ObservableCollection(dish.embryoList); if (DateTime.TryParse(dish.startTime, out DateTime date)) { Time = $"{date.Month}-{date.Day.ToString("D2")} {date.Hour.ToString("D2")}:{date.Minute.ToString("D2")}"; } } } [ObservableProperty] private string time; [ObservableProperty] private Dish dish; [ObservableProperty] private long dishId; [ObservableProperty] private ObservableCollection embryos = new ObservableCollection(); public void Order(MarkDetailOrderEnum markDetailOrderEnum, bool orderby) { if (markDetailOrderEnum == MarkDetailOrderEnum.OrderNumber) { if (orderby) Embryos = new ObservableCollection(Embryos.OrderBy(a => a.wellSn)); else Embryos = new ObservableCollection(Embryos.OrderByDescending(a => a.wellSn)); } if (markDetailOrderEnum == MarkDetailOrderEnum.OrderScore) { if (orderby) Embryos = new ObservableCollection(Embryos.OrderBy(a => a.score)); else Embryos = new ObservableCollection(Embryos.OrderByDescending(a => a.score)); } if (markDetailOrderEnum == MarkDetailOrderEnum.OrderLevel) { if (orderby) Embryos = new ObservableCollection(Embryos.OrderBy(a => a.blastocystLevel)); else Embryos = new ObservableCollection(Embryos.OrderByDescending(a => a.blastocystLevel)); } } } }