MarkDetailViewModel.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using CommunityToolkit.Mvvm.ComponentModel;
  2. using ivf_tl_Entity.Entity.balance;
  3. using ivf_tl_Entity.Enums;
  4. using ivf_tl_Manage.Converts;
  5. using ivf_tl_Manage.Win;
  6. using ivf_tl_Service.HttpProvider;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Collections.ObjectModel;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using System.Windows;
  14. namespace ivf_tl_Manage.ViewModels
  15. {
  16. public partial class MarkDetailViewModel : BaseViewModel
  17. {
  18. private MarkProvider _markProvider = null;
  19. public AppData Appdata { get; set; }
  20. public MarkDetailViewModel(BaseViewModel parentViewModel, long id)
  21. {
  22. base.NavName = KeyToStringConvert.GetLanguageStringByKey("0162");
  23. base.NavList.Clear();
  24. foreach (var item in parentViewModel.NavList)
  25. {
  26. base.NavList.Add(item);
  27. }
  28. base.NavList.Add(this);
  29. this.DishId = id;
  30. if (_markProvider == null) _markProvider = AppData.Instance.GetMarkProvider();
  31. dish = _markProvider.GetMarkResultByRecordIdApi(id);
  32. if (dish == null)
  33. {
  34. //new ToastMessageWindow(AppData.Instance.MainWindow, 1920, 65, "培养记录不存在").Show();
  35. new ToastMessageWindow(AppData.Instance.MainWindow, 1920, 65, KeyToStringConvert.GetLanguageStringByKey("0339")).Show();
  36. }
  37. else
  38. {
  39. Embryos = new ObservableCollection<Embryo>(dish.embryoList);
  40. if (DateTime.TryParse(dish.startTime, out DateTime date))
  41. {
  42. Time = $"{date.Month}-{date.Day.ToString("D2")} {date.Hour.ToString("D2")}:{date.Minute.ToString("D2")}";
  43. }
  44. }
  45. }
  46. [ObservableProperty]
  47. private string time;
  48. [ObservableProperty]
  49. private Dish dish;
  50. [ObservableProperty]
  51. private long dishId;
  52. [ObservableProperty]
  53. private ObservableCollection<Embryo> embryos = new ObservableCollection<Embryo>();
  54. public void Order(MarkDetailOrderEnum markDetailOrderEnum, bool orderby)
  55. {
  56. if (markDetailOrderEnum == MarkDetailOrderEnum.OrderNumber)
  57. {
  58. if (orderby)
  59. Embryos = new ObservableCollection<Embryo>(Embryos.OrderBy(a => a.wellSn));
  60. else
  61. Embryos = new ObservableCollection<Embryo>(Embryos.OrderByDescending(a => a.wellSn));
  62. }
  63. if (markDetailOrderEnum == MarkDetailOrderEnum.OrderScore)
  64. {
  65. if (orderby)
  66. Embryos = new ObservableCollection<Embryo>(Embryos.OrderBy(a => a.score));
  67. else
  68. Embryos = new ObservableCollection<Embryo>(Embryos.OrderByDescending(a => a.score));
  69. }
  70. if (markDetailOrderEnum == MarkDetailOrderEnum.OrderLevel)
  71. {
  72. if (orderby)
  73. Embryos = new ObservableCollection<Embryo>(Embryos.OrderBy(a => a.blastocystLevel));
  74. else
  75. Embryos = new ObservableCollection<Embryo>(Embryos.OrderByDescending(a => a.blastocystLevel));
  76. }
  77. }
  78. }
  79. }