AppVersion.Desktop.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System.Globalization;
  2. using InABox.Core;
  3. using Newtonsoft.Json;
  4. namespace InABox.Avalonia.Platform.Desktop
  5. {
  6. public class Desktop_AppVersion : IAppVersion
  7. {
  8. public Logger? Logger { get; set; }
  9. public string InstalledVersionNumber()
  10. {
  11. var comps = AppDomain.CurrentDomain.BaseDirectory.Split('\\').Reverse().ToArray();
  12. while (comps.Any())
  13. {
  14. var verfile = Path.Combine(string.Join('\\', comps.Reverse()), "version.txt");
  15. if (File.Exists(verfile))
  16. return File.ReadAllText(verfile);
  17. comps = comps.Skip(1).ToArray();
  18. }
  19. return "???";
  20. }
  21. public Task<bool> IsUsingLatestVersion()
  22. {
  23. return Task.FromResult(true);
  24. }
  25. public Task<AppInfo> GetLatestVersion(bool force)
  26. {
  27. var appInfo = new AppInfo();
  28. return Task.FromResult(appInfo);
  29. }
  30. public Task OpenAppInStore()
  31. {
  32. return Task.CompletedTask;
  33. }
  34. }
  35. }