CameraNameExHepler.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using PaintDotNet.Base.SettingModel;
  2. using PaintDotNet.Camera;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace PaintDotNet
  9. {
  10. public static class CameraNameExHepler
  11. {
  12. /// <summary>
  13. /// 获取相机名称(别名)
  14. /// </summary>
  15. public static string GetNameEx(this ICamera camera)
  16. {
  17. var name = camera.GetName();
  18. var ex = camera.GetExofName();
  19. if (!string.IsNullOrEmpty(ex))
  20. name = name + "(" + ex + ")";
  21. return name;
  22. }
  23. /// <summary>
  24. /// 获取相机的别名
  25. /// </summary>
  26. public static string GetExofName(this ICamera camera)
  27. {
  28. var sn = camera.GetSN();
  29. var ex = Startup.instance.configModel.CameraNameExList?.FirstOrDefault(s => s.Contains(sn));
  30. return ex != null ? ex.Replace(sn, "") : "";
  31. }
  32. public static void SetExofName(this ICamera camera, string ex)
  33. {
  34. var sn = camera.GetSN();
  35. Startup.instance.configModel.CameraNameExList.RemoveAll((s) => s.Contains(sn));
  36. if (!string.IsNullOrEmpty(ex))
  37. {
  38. Startup.instance.configModel.CameraNameExList.Add(sn + ex);
  39. ConfigModel.OnCameraNameExChanged?.Invoke();
  40. }
  41. }
  42. }
  43. }