DFS_Shuo_Chen 2 months ago
parent
commit
78ae8a42cc
57 changed files with 1676 additions and 376 deletions
  1. BIN
      mCardSystem/.vs/ProjectEvaluation/mcardsystem.metadata.v9.bin
  2. BIN
      mCardSystem/.vs/ProjectEvaluation/mcardsystem.projects.v9.bin
  3. BIN
      mCardSystem/.vs/ProjectEvaluation/mcardsystem.strings.v9.bin
  4. BIN
      mCardSystem/.vs/mCardSystem/CopilotIndices/17.13.444.19527/CodeChunks.db
  5. BIN
      mCardSystem/.vs/mCardSystem/CopilotIndices/17.13.444.19527/SemanticSymbols.db
  6. BIN
      mCardSystem/.vs/mCardSystem/DesignTimeBuild/.dtbcache.v2
  7. BIN
      mCardSystem/.vs/mCardSystem/FileContentIndex/03c28c23-06ba-41fb-9deb-beec64bd2ec6.vsidx
  8. 0 0
      mCardSystem/.vs/mCardSystem/FileContentIndex/229137f5-d5c7-4955-8ffc-ad428f316730.vsidx
  9. BIN
      mCardSystem/.vs/mCardSystem/FileContentIndex/238da94e-2512-497e-9a46-4cbcd1e96ad5.vsidx
  10. BIN
      mCardSystem/.vs/mCardSystem/FileContentIndex/8d213089-7052-4c9d-943a-0098c1842192.vsidx
  11. BIN
      mCardSystem/.vs/mCardSystem/FileContentIndex/b99c2c63-9457-4b2f-8bd9-8110d42dd00a.vsidx
  12. BIN
      mCardSystem/.vs/mCardSystem/v17/.futdcache.v2
  13. BIN
      mCardSystem/.vs/mCardSystem/v17/.suo
  14. 189 149
      mCardSystem/.vs/mCardSystem/v17/DocumentLayout.backup.json
  15. 187 147
      mCardSystem/.vs/mCardSystem/v17/DocumentLayout.json
  16. 36 16
      mCardSystem/mCardSystem/CloudResponse.cs
  17. 9 2
      mCardSystem/mCardSystem/HttpService.cs
  18. 50 0
      mCardSystem/mCardSystem/Logger.cs
  19. 12 36
      mCardSystem/mCardSystem/LoginDlg.Designer.cs
  20. 22 11
      mCardSystem/mCardSystem/LoginDlg.cs
  21. 20 0
      mCardSystem/mCardSystem/Program.cs
  22. 69 9
      mCardSystem/mCardSystem/WebAPI.cs
  23. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/BouncyCastle.Cryptography.dll
  24. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/DFS.Infrastructure.dll
  25. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.DependencyInjection.Abstractions.dll
  26. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.DependencyInjection.dll
  27. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.Logging.Abstractions.dll
  28. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.Options.dll
  29. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.Primitives.dll
  30. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.IdentityModel.Abstractions.dll
  31. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.IdentityModel.JsonWebTokens.dll
  32. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.IdentityModel.Logging.dll
  33. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.IdentityModel.Tokens.dll
  34. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/System.IdentityModel.Tokens.Jwt.dll
  35. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Yitter.IdGenerator.dll
  36. 228 0
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/mCardSystem.deps.json
  37. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/mCardSystem.dll
  38. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/mCardSystem.exe
  39. BIN
      mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/mCardSystem.pdb
  40. 1 0
      mCardSystem/mCardSystem/mCardSystem.csproj
  41. 4 0
      mCardSystem/mCardSystem/obj/mCardSystem.csproj.nuget.dgspec.json
  42. 6 1
      mCardSystem/mCardSystem/obj/mCardSystem.csproj.nuget.g.targets
  43. 585 0
      mCardSystem/mCardSystem/obj/project.assets.json
  44. 15 2
      mCardSystem/mCardSystem/obj/project.nuget.cache
  45. BIN
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/apphost.exe
  46. 1 1
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.AssemblyInfo.cs
  47. 1 1
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.AssemblyInfoInputs.cache
  48. BIN
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.assets.cache
  49. BIN
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.csproj.AssemblyReference.cache
  50. 1 1
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.csproj.CoreCompileInputs.cache
  51. 13 0
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.csproj.FileListAbsolute.txt
  52. BIN
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.csproj.GenerateResource.cache
  53. 227 0
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.designer.deps.json
  54. BIN
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.dll
  55. BIN
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.pdb
  56. BIN
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/ref/mCardSystem.dll
  57. BIN
      mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/refint/mCardSystem.dll

BIN
mCardSystem/.vs/ProjectEvaluation/mcardsystem.metadata.v9.bin


BIN
mCardSystem/.vs/ProjectEvaluation/mcardsystem.projects.v9.bin


BIN
mCardSystem/.vs/ProjectEvaluation/mcardsystem.strings.v9.bin


BIN
mCardSystem/.vs/mCardSystem/CopilotIndices/17.13.444.19527/CodeChunks.db


BIN
mCardSystem/.vs/mCardSystem/CopilotIndices/17.13.444.19527/SemanticSymbols.db


BIN
mCardSystem/.vs/mCardSystem/DesignTimeBuild/.dtbcache.v2


BIN
mCardSystem/.vs/mCardSystem/FileContentIndex/03c28c23-06ba-41fb-9deb-beec64bd2ec6.vsidx


+ 0 - 0
mCardSystem/.vs/mCardSystem/FileContentIndex/1bad1969-612f-4bba-9db4-a9389157711d.vsidx → mCardSystem/.vs/mCardSystem/FileContentIndex/229137f5-d5c7-4955-8ffc-ad428f316730.vsidx


BIN
mCardSystem/.vs/mCardSystem/FileContentIndex/238da94e-2512-497e-9a46-4cbcd1e96ad5.vsidx


BIN
mCardSystem/.vs/mCardSystem/FileContentIndex/8d213089-7052-4c9d-943a-0098c1842192.vsidx


BIN
mCardSystem/.vs/mCardSystem/FileContentIndex/b99c2c63-9457-4b2f-8bd9-8110d42dd00a.vsidx


BIN
mCardSystem/.vs/mCardSystem/v17/.futdcache.v2


BIN
mCardSystem/.vs/mCardSystem/v17/.suo


+ 189 - 149
mCardSystem/.vs/mCardSystem/v17/DocumentLayout.backup.json

@@ -3,45 +3,37 @@
   "WorkspaceRootPath": "C:\\bitbucket\\mCardSystem\\mCardSystem\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\webapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\webapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
     },
     {
       "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\webapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\webapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cloudresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cloudresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\tool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\tool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\homepage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\homepage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cardreader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cardreader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\httpservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\httpservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|C:\\bitbucket\\mCardSystem\\mCardSystem\\mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
     },
     {
       "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
-    {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cardcancel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cardcancel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
     {
       "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\issuecard.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\issuecard.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@@ -51,19 +43,35 @@
       "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\issuecard.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cloudresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cloudresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\tool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\tool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\httpservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\httpservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|C:\\bitbucket\\mCardSystem\\mCardSystem\\mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\logger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\logger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\homepage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\homepage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cardreader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cardreader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cardcancel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cardcancel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
     },
     {
       "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\toastnotification.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -85,186 +93,228 @@
       "DocumentGroups": [
         {
           "DockedWidth": 307,
-          "SelectedChildIndex": 5,
+          "SelectedChildIndex": 1,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "CardReader.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardReader.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\CardReader.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardReader.cs",
-              "RelativeToolTip": "mCardSystem\\CardReader.cs",
-              "ViewState": "AgIAAPAAAAAAAAAAAAAAwPgAAAA/AAAAAAAAAA==",
+              "DocumentIndex": 1,
+              "Title": "ChangePassword.cs [\u8BBE\u8BA1]",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\ChangePassword.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs [\u8BBE\u8BA1]",
+              "RelativeToolTip": "mCardSystem\\ChangePassword.cs [\u8BBE\u8BA1]",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T06:15:48.158Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-12-30T02:07:50.966Z",
+              "EditorCaption": " [\u8BBE\u8BA1]"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "CloudResponse.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CloudResponse.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\CloudResponse.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CloudResponse.cs",
-              "RelativeToolTip": "mCardSystem\\CloudResponse.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAARAAAAAAAAAA==",
+              "DocumentIndex": 0,
+              "Title": "WebAPI.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\WebAPI.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\WebAPI.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\WebAPI.cs",
+              "RelativeToolTip": "mCardSystem\\WebAPI.cs",
+              "ViewState": "AgIAAEIAAAAAAAAAAAA6wE4AAAAfAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-25T09:38:39.007Z",
+              "WhenOpened": "2025-12-25T09:33:57.723Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "LoginDlg.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\LoginDlg.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs*",
-              "RelativeToolTip": "mCardSystem\\LoginDlg.cs*",
-              "ViewState": "AgIAADAAAAAAAAAAAAArwDYAAAAFAAAAAAAAAA==",
+              "DocumentIndex": 8,
+              "Title": "IssueCard.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\IssueCard.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
+              "RelativeToolTip": "mCardSystem\\IssueCard.cs",
+              "ViewState": "AgIAAJIAAAAAAAAAAAAmwKEAAAARAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-25T09:45:43.598Z",
+              "WhenOpened": "2025-12-18T03:52:22.733Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "WebAPI.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\WebAPI.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\WebAPI.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\WebAPI.cs",
-              "RelativeToolTip": "mCardSystem\\WebAPI.cs",
-              "ViewState": "AgIAABgAAAAAAAAAAAAowB4AAAAQAAAAAAAAAA==",
+              "DocumentIndex": 6,
+              "Title": "Main.cs [\u8BBE\u8BA1]",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Main.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs [\u8BBE\u8BA1]",
+              "RelativeToolTip": "mCardSystem\\Main.cs [\u8BBE\u8BA1]",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-25T09:33:57.723Z",
+              "WhenOpened": "2025-12-26T10:04:49.223Z",
+              "EditorCaption": " [\u8BBE\u8BA1]"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "Main.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Main.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
+              "RelativeToolTip": "mCardSystem\\Main.cs",
+              "ViewState": "AgIAACEAAAAAAAAAAAAAwAwAAAAJAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-24T06:20:59.831Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 5,
-              "Title": "HomePage.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HomePage.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\HomePage.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HomePage.cs",
-              "RelativeToolTip": "mCardSystem\\HomePage.cs",
-              "ViewState": "AgIAAA4AAAAAAAAAAAD4vxgAAAApAAAAAAAAAA==",
+              "Title": "Program.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Program.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Program.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Program.cs",
+              "RelativeToolTip": "mCardSystem\\Program.cs",
+              "ViewState": "AgIAABMAAAAAAAAAAAAYwB0AAAAwAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T03:52:38.192Z",
+              "WhenOpened": "2025-12-17T03:12:41.93Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "LoginDlg.cs [\u8BBE\u8BA1]",
+              "DocumentIndex": 2,
+              "Title": "LoginDlg.cs",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs",
               "RelativeDocumentMoniker": "mCardSystem\\LoginDlg.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs [\u8BBE\u8BA1]*",
-              "RelativeToolTip": "mCardSystem\\LoginDlg.cs [\u8BBE\u8BA1]*",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs",
+              "RelativeToolTip": "mCardSystem\\LoginDlg.cs",
+              "ViewState": "AgIAAB4AAAAAAAAAAAAYwCsAAABCAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T09:46:52.091Z",
-              "EditorCaption": " [\u8BBE\u8BA1]"
+              "WhenOpened": "2025-12-25T09:45:43.598Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "Main.cs [\u8BBE\u8BA1]",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\Main.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs [\u8BBE\u8BA1]",
-              "RelativeToolTip": "mCardSystem\\Main.cs [\u8BBE\u8BA1]",
+              "DocumentIndex": 4,
+              "Title": "ChangePassword.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\ChangePassword.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
+              "RelativeToolTip": "mCardSystem\\ChangePassword.cs",
+              "ViewState": "AgIAAGUAAAAAAAAAAAA1wG8AAAAMAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T10:04:49.223Z",
-              "EditorCaption": " [\u8BBE\u8BA1]"
+              "WhenOpened": "2025-12-18T03:52:43.831Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "Tool.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Tool.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Tool.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Tool.cs",
+              "RelativeToolTip": "mCardSystem\\Tool.cs",
+              "ViewState": "AgIAAAsAAAAAAAAAAAAQwBkAAAAgAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-19T02:33:11.3Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 10,
-              "Title": "IssueCard.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\IssueCard.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
-              "RelativeToolTip": "mCardSystem\\IssueCard.cs",
-              "ViewState": "AgIAAKQAAAAAAAAAAAAmwK0AAAAbAAAAAAAAAA==",
+              "Title": "CloudResponse.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CloudResponse.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\CloudResponse.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CloudResponse.cs",
+              "RelativeToolTip": "mCardSystem\\CloudResponse.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAkwAsAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T03:52:22.733Z",
+              "WhenOpened": "2025-12-25T09:38:39.007Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 9,
-              "Title": "CardCancel.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardCancel.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\CardCancel.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardCancel.cs",
-              "RelativeToolTip": "mCardSystem\\CardCancel.cs",
-              "ViewState": "AgIAADoAAAAAAAAAAADgv0MAAAAaAAAAAAAAAA==",
+              "Title": "IssueCard.cs [\u8BBE\u8BA1]",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\IssueCard.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs [\u8BBE\u8BA1]",
+              "RelativeToolTip": "mCardSystem\\IssueCard.cs [\u8BBE\u8BA1]",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T03:52:52.665Z"
+              "WhenOpened": "2025-12-17T08:02:24.037Z",
+              "EditorCaption": " [\u8BBE\u8BA1]"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 7,
+              "DocumentIndex": 14,
+              "Title": "HomePage.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HomePage.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\HomePage.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HomePage.cs",
+              "RelativeToolTip": "mCardSystem\\HomePage.cs",
+              "ViewState": "AgIAABEAAAAAAAAAAAD4vx0AAAApAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-18T03:52:38.192Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
               "Title": "HttpService.cs",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HttpService.cs",
               "RelativeDocumentMoniker": "mCardSystem\\HttpService.cs",
               "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HttpService.cs",
               "RelativeToolTip": "mCardSystem\\HttpService.cs",
-              "ViewState": "AgIAAAoAAAAAAAAAAAArwBMAAABgAAAAAAAAAA==",
+              "ViewState": "AgIAAAoAAAAAAAAAAAAQwBMAAAByAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-12-25T09:36:22.597Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "Main.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\Main.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
-              "RelativeToolTip": "mCardSystem\\Main.cs",
-              "ViewState": "AgIAAA0AAAAAAAAAAAAYwBYAAAArAAAAAAAAAA==",
+              "DocumentIndex": 12,
+              "Title": "LoginDlg.cs [\u8BBE\u8BA1]",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\LoginDlg.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs [\u8BBE\u8BA1]",
+              "RelativeToolTip": "mCardSystem\\LoginDlg.cs [\u8BBE\u8BA1]",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-24T06:20:59.831Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-12-26T09:46:52.091Z",
+              "EditorCaption": " [\u8BBE\u8BA1]"
             },
             {
               "$type": "Document",
               "DocumentIndex": 13,
-              "Title": "Tool.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Tool.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\Tool.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Tool.cs",
-              "RelativeToolTip": "mCardSystem\\Tool.cs",
-              "ViewState": "AgIAAA4AAAAAAAAAAAAEwBkAAAAiAAAAAAAAAA==",
+              "Title": "Logger.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Logger.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Logger.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Logger.cs",
+              "RelativeToolTip": "mCardSystem\\Logger.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAABMAAAAwAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-19T02:33:11.3Z"
+              "WhenOpened": "2025-12-29T07:24:57.529Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "ChangePassword.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\ChangePassword.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
-              "RelativeToolTip": "mCardSystem\\ChangePassword.cs",
-              "ViewState": "AgIAADcAAAAAAAAAAAAMwEIAAAAfAAAAAAAAAA==",
+              "DocumentIndex": 15,
+              "Title": "CardReader.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardReader.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\CardReader.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardReader.cs",
+              "RelativeToolTip": "mCardSystem\\CardReader.cs",
+              "ViewState": "AgIAAPAAAAAAAAAAAAAAwPgAAAA/AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T03:52:43.831Z"
+              "WhenOpened": "2025-12-18T06:15:48.158Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 11,
-              "Title": "IssueCard.cs [\u8BBE\u8BA1]",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\IssueCard.cs",
-              "ToolTip": "C:\\bitbucket\\\u8F66\u8F7D\u673A\\\u5F00\u53D1\\mCardSystem\\mCardSystem\\IssueCard.cs [\u8BBE\u8BA1]",
-              "RelativeToolTip": "..\\..\\\u8F66\u8F7D\u673A\\\u5F00\u53D1\\mCardSystem\\mCardSystem\\IssueCard.cs [\u8BBE\u8BA1]",
+              "DocumentIndex": 16,
+              "Title": "CardCancel.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardCancel.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\CardCancel.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardCancel.cs",
+              "RelativeToolTip": "mCardSystem\\CardCancel.cs",
+              "ViewState": "AgIAADoAAAAAAAAAAADgv0MAAAAaAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-17T08:02:24.037Z"
+              "WhenOpened": "2025-12-18T03:52:52.665Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 14,
+              "DocumentIndex": 17,
               "Title": "Microsoft.Common.CurrentVersion.targets",
               "DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
               "RelativeDocumentMoniker": "..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
@@ -272,23 +322,12 @@
               "RelativeToolTip": "..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
               "ViewState": "AgIAAOUUAAAAAAAAAAASwPMUAAAEAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
-              "WhenOpened": "2025-12-22T08:59:50.374Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 15,
-              "Title": "Program.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Program.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\Program.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Program.cs",
-              "RelativeToolTip": "mCardSystem\\Program.cs",
-              "ViewState": "AgIAAHkAAAAAAAAAAAAIwIIAAABcAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-17T03:12:41.93Z"
+              "WhenOpened": "2025-12-22T08:59:50.374Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 16,
+              "DocumentIndex": 18,
               "Title": "ToastNotification.cs",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ToastNotification.cs",
               "RelativeDocumentMoniker": "mCardSystem\\ToastNotification.cs",
@@ -296,11 +335,12 @@
               "RelativeToolTip": "mCardSystem\\ToastNotification.cs",
               "ViewState": "AgIAAEIAAAAAAAAAAAArwEsAAAAeAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-19T07:51:51.356Z"
+              "WhenOpened": "2025-12-19T07:51:51.356Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 17,
+              "DocumentIndex": 19,
               "Title": "Main.Designer.cs",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.Designer.cs",
               "RelativeDocumentMoniker": "mCardSystem\\Main.Designer.cs",
@@ -313,12 +353,12 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 18,
+              "DocumentIndex": 20,
               "Title": "LoginDlg.resx",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.resx",
               "RelativeDocumentMoniker": "mCardSystem\\LoginDlg.resx",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.resx*",
-              "RelativeToolTip": "mCardSystem\\LoginDlg.resx*",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.resx",
+              "RelativeToolTip": "mCardSystem\\LoginDlg.resx",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001005|",
               "WhenOpened": "2025-12-17T08:07:28.92Z",
               "EditorCaption": ""

+ 187 - 147
mCardSystem/.vs/mCardSystem/v17/DocumentLayout.json

@@ -2,18 +2,6 @@
   "Version": 1,
   "WorkspaceRootPath": "C:\\bitbucket\\mCardSystem\\mCardSystem\\",
   "Documents": [
-    {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\homepage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\homepage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
-    },
     {
       "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@@ -23,24 +11,28 @@
       "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\webapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cloudresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cloudresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cardreader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cardreader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\tool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\tool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\httpservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\httpservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cardcancel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cardcancel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|C:\\bitbucket\\mCardSystem\\mCardSystem\\mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\main.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\issuecard.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -51,19 +43,35 @@
       "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\issuecard.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\changepassword.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cloudresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cloudresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\tool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\tool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\httpservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\httpservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|C:\\bitbucket\\mCardSystem\\mCardSystem\\mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\logindlg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\logger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\logger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\homepage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\homepage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cardreader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cardreader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\cardcancel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|solutionrelative:mcardsystem\\cardcancel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
     },
     {
       "AbsoluteMoniker": "D:0:0:{EE96F1AA-15E2-49A7-89AD-222A27655465}|mCardSystem\\mCardSystem.csproj|c:\\bitbucket\\mcardsystem\\mcardsystem\\mcardsystem\\toastnotification.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -85,43 +93,93 @@
       "DocumentGroups": [
         {
           "DockedWidth": 307,
-          "SelectedChildIndex": 4,
+          "SelectedChildIndex": 6,
           "Children": [
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "ChangePassword.cs [\u8BBE\u8BA1]",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\ChangePassword.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs [\u8BBE\u8BA1]",
+              "RelativeToolTip": "mCardSystem\\ChangePassword.cs [\u8BBE\u8BA1]",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T02:07:50.966Z",
+              "EditorCaption": " [\u8BBE\u8BA1]"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "WebAPI.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\WebAPI.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\WebAPI.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\WebAPI.cs",
+              "RelativeToolTip": "mCardSystem\\WebAPI.cs",
+              "ViewState": "AgIAAEIAAAAAAAAAAAA6wE4AAAAfAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-25T09:33:57.723Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
+              "Title": "IssueCard.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\IssueCard.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
+              "RelativeToolTip": "mCardSystem\\IssueCard.cs",
+              "ViewState": "AgIAAJIAAAAAAAAAAAAmwKEAAAARAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-18T03:52:22.733Z",
+              "EditorCaption": ""
+            },
             {
               "$type": "Document",
               "DocumentIndex": 6,
-              "Title": "CardReader.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardReader.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\CardReader.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardReader.cs",
-              "RelativeToolTip": "mCardSystem\\CardReader.cs",
-              "ViewState": "AgIAAPAAAAAAAAAAAAAAwPgAAAA/AAAAAAAAAA==",
+              "Title": "Main.cs [\u8BBE\u8BA1]",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Main.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs [\u8BBE\u8BA1]",
+              "RelativeToolTip": "mCardSystem\\Main.cs [\u8BBE\u8BA1]",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T06:15:48.158Z",
+              "WhenOpened": "2025-12-26T10:04:49.223Z",
+              "EditorCaption": " [\u8BBE\u8BA1]"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "Main.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Main.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
+              "RelativeToolTip": "mCardSystem\\Main.cs",
+              "ViewState": "AgIAACEAAAAAAAAAAAAAwAwAAAAJAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-24T06:20:59.831Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 5,
-              "Title": "CloudResponse.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CloudResponse.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\CloudResponse.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CloudResponse.cs",
-              "RelativeToolTip": "mCardSystem\\CloudResponse.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAARAAAAAAAAAA==",
+              "Title": "Program.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Program.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Program.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Program.cs",
+              "RelativeToolTip": "mCardSystem\\Program.cs",
+              "ViewState": "AgIAABMAAAAAAAAAAAAYwB0AAAAwAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-25T09:38:39.007Z",
+              "WhenOpened": "2025-12-17T03:12:41.93Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 0,
               "Title": "LoginDlg.cs",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs",
               "RelativeDocumentMoniker": "mCardSystem\\LoginDlg.cs",
               "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs",
               "RelativeToolTip": "mCardSystem\\LoginDlg.cs",
-              "ViewState": "AgIAADAAAAAAAAAAAAArwDYAAAAFAAAAAAAAAA==",
+              "ViewState": "AgIAAB4AAAAAAAAAAAAYwC4AAAAjAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-12-25T09:45:43.598Z",
               "EditorCaption": ""
@@ -129,142 +187,134 @@
             {
               "$type": "Document",
               "DocumentIndex": 4,
-              "Title": "WebAPI.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\WebAPI.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\WebAPI.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\WebAPI.cs",
-              "RelativeToolTip": "mCardSystem\\WebAPI.cs",
-              "ViewState": "AgIAABgAAAAAAAAAAAAowB4AAAAQAAAAAAAAAA==",
+              "Title": "ChangePassword.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\ChangePassword.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
+              "RelativeToolTip": "mCardSystem\\ChangePassword.cs",
+              "ViewState": "AgIAAGUAAAAAAAAAAAA1wG8AAAAMAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-25T09:33:57.723Z",
+              "WhenOpened": "2025-12-18T03:52:43.831Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "HomePage.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HomePage.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\HomePage.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HomePage.cs",
-              "RelativeToolTip": "mCardSystem\\HomePage.cs",
-              "ViewState": "AgIAAA4AAAAAAAAAAAD4vxkAAAA0AAAAAAAAAA==",
+              "DocumentIndex": 3,
+              "Title": "Tool.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Tool.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Tool.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Tool.cs",
+              "RelativeToolTip": "mCardSystem\\Tool.cs",
+              "ViewState": "AgIAAAsAAAAAAAAAAAAQwBkAAAAgAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T03:52:38.192Z",
+              "WhenOpened": "2025-12-19T02:33:11.3Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "LoginDlg.cs [\u8BBE\u8BA1]",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\LoginDlg.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs [\u8BBE\u8BA1]",
-              "RelativeToolTip": "mCardSystem\\LoginDlg.cs [\u8BBE\u8BA1]",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T09:46:52.091Z",
-              "EditorCaption": " [\u8BBE\u8BA1]"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "Main.cs [\u8BBE\u8BA1]",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\Main.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs [\u8BBE\u8BA1]",
-              "RelativeToolTip": "mCardSystem\\Main.cs [\u8BBE\u8BA1]",
+              "DocumentIndex": 10,
+              "Title": "CloudResponse.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CloudResponse.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\CloudResponse.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CloudResponse.cs",
+              "RelativeToolTip": "mCardSystem\\CloudResponse.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAkwAsAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T10:04:49.223Z",
-              "EditorCaption": " [\u8BBE\u8BA1]"
+              "WhenOpened": "2025-12-25T09:38:39.007Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "IssueCard.cs",
+              "DocumentIndex": 9,
+              "Title": "IssueCard.cs [\u8BBE\u8BA1]",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
               "RelativeDocumentMoniker": "mCardSystem\\IssueCard.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
-              "RelativeToolTip": "mCardSystem\\IssueCard.cs",
-              "ViewState": "AgIAAKQAAAAAAAAAAAAmwK0AAAAbAAAAAAAAAA==",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs [\u8BBE\u8BA1]",
+              "RelativeToolTip": "mCardSystem\\IssueCard.cs [\u8BBE\u8BA1]",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T03:52:22.733Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-12-17T08:02:24.037Z",
+              "EditorCaption": " [\u8BBE\u8BA1]"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 9,
-              "Title": "CardCancel.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardCancel.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\CardCancel.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardCancel.cs",
-              "RelativeToolTip": "mCardSystem\\CardCancel.cs",
-              "ViewState": "AgIAADoAAAAAAAAAAADgv0MAAAAaAAAAAAAAAA==",
+              "DocumentIndex": 14,
+              "Title": "HomePage.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HomePage.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\HomePage.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HomePage.cs",
+              "RelativeToolTip": "mCardSystem\\HomePage.cs",
+              "ViewState": "AgIAABEAAAAAAAAAAAD4vx0AAAApAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T03:52:52.665Z"
+              "WhenOpened": "2025-12-18T03:52:38.192Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 7,
+              "DocumentIndex": 11,
               "Title": "HttpService.cs",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HttpService.cs",
               "RelativeDocumentMoniker": "mCardSystem\\HttpService.cs",
               "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\HttpService.cs",
               "RelativeToolTip": "mCardSystem\\HttpService.cs",
-              "ViewState": "AgIAAAoAAAAAAAAAAAArwBMAAABgAAAAAAAAAA==",
+              "ViewState": "AgIAAAoAAAAAAAAAAAAQwBMAAAByAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-12-25T09:36:22.597Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "Main.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\Main.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.cs",
-              "RelativeToolTip": "mCardSystem\\Main.cs",
-              "ViewState": "AgIAAA0AAAAAAAAAAAAYwBYAAAArAAAAAAAAAA==",
+              "DocumentIndex": 12,
+              "Title": "LoginDlg.cs [\u8BBE\u8BA1]",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\LoginDlg.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.cs [\u8BBE\u8BA1]",
+              "RelativeToolTip": "mCardSystem\\LoginDlg.cs [\u8BBE\u8BA1]",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-24T06:20:59.831Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-12-26T09:46:52.091Z",
+              "EditorCaption": " [\u8BBE\u8BA1]"
             },
             {
               "$type": "Document",
               "DocumentIndex": 13,
-              "Title": "Tool.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Tool.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\Tool.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Tool.cs",
-              "RelativeToolTip": "mCardSystem\\Tool.cs",
-              "ViewState": "AgIAAA4AAAAAAAAAAAAEwBkAAAAiAAAAAAAAAA==",
+              "Title": "Logger.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Logger.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\Logger.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Logger.cs",
+              "RelativeToolTip": "mCardSystem\\Logger.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAABMAAAAwAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-19T02:33:11.3Z"
+              "WhenOpened": "2025-12-29T07:24:57.529Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "ChangePassword.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\ChangePassword.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ChangePassword.cs",
-              "RelativeToolTip": "mCardSystem\\ChangePassword.cs",
-              "ViewState": "AgIAADcAAAAAAAAAAAAMwEIAAAAfAAAAAAAAAA==",
+              "DocumentIndex": 15,
+              "Title": "CardReader.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardReader.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\CardReader.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardReader.cs",
+              "RelativeToolTip": "mCardSystem\\CardReader.cs",
+              "ViewState": "AgIAAPAAAAAAAAAAAAAAwPgAAAA/AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-18T03:52:43.831Z"
+              "WhenOpened": "2025-12-18T06:15:48.158Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 11,
-              "Title": "IssueCard.cs [\u8BBE\u8BA1]",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\IssueCard.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\IssueCard.cs",
-              "ToolTip": "C:\\bitbucket\\\u8F66\u8F7D\u673A\\\u5F00\u53D1\\mCardSystem\\mCardSystem\\IssueCard.cs [\u8BBE\u8BA1]",
-              "RelativeToolTip": "..\\..\\\u8F66\u8F7D\u673A\\\u5F00\u53D1\\mCardSystem\\mCardSystem\\IssueCard.cs [\u8BBE\u8BA1]",
+              "DocumentIndex": 16,
+              "Title": "CardCancel.cs",
+              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardCancel.cs",
+              "RelativeDocumentMoniker": "mCardSystem\\CardCancel.cs",
+              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\CardCancel.cs",
+              "RelativeToolTip": "mCardSystem\\CardCancel.cs",
+              "ViewState": "AgIAADoAAAAAAAAAAADgv0MAAAAaAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-17T08:02:24.037Z"
+              "WhenOpened": "2025-12-18T03:52:52.665Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 14,
+              "DocumentIndex": 17,
               "Title": "Microsoft.Common.CurrentVersion.targets",
               "DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
               "RelativeDocumentMoniker": "..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
@@ -272,23 +322,12 @@
               "RelativeToolTip": "..\\..\\..\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
               "ViewState": "AgIAAOUUAAAAAAAAAAASwPMUAAAEAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
-              "WhenOpened": "2025-12-22T08:59:50.374Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 15,
-              "Title": "Program.cs",
-              "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Program.cs",
-              "RelativeDocumentMoniker": "mCardSystem\\Program.cs",
-              "ToolTip": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Program.cs",
-              "RelativeToolTip": "mCardSystem\\Program.cs",
-              "ViewState": "AgIAAHkAAAAAAAAAAAAIwIIAAABcAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-17T03:12:41.93Z"
+              "WhenOpened": "2025-12-22T08:59:50.374Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 16,
+              "DocumentIndex": 18,
               "Title": "ToastNotification.cs",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\ToastNotification.cs",
               "RelativeDocumentMoniker": "mCardSystem\\ToastNotification.cs",
@@ -296,11 +335,12 @@
               "RelativeToolTip": "mCardSystem\\ToastNotification.cs",
               "ViewState": "AgIAAEIAAAAAAAAAAAArwEsAAAAeAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-19T07:51:51.356Z"
+              "WhenOpened": "2025-12-19T07:51:51.356Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 17,
+              "DocumentIndex": 19,
               "Title": "Main.Designer.cs",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\Main.Designer.cs",
               "RelativeDocumentMoniker": "mCardSystem\\Main.Designer.cs",
@@ -313,7 +353,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 18,
+              "DocumentIndex": 20,
               "Title": "LoginDlg.resx",
               "DocumentMoniker": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\LoginDlg.resx",
               "RelativeDocumentMoniker": "mCardSystem\\LoginDlg.resx",

+ 36 - 16
mCardSystem/mCardSystem/CloudResponse.cs

@@ -7,32 +7,52 @@ using System.Threading.Tasks;
 namespace mCardSystem
 {
 
-    public class Response
+    public class LoginResponse
     {
         public bool isSuccess { get; set; }
         public int code { get; set; }
         public string message { get; set; }
-        public string data { get; set; }
+        public Login data { get; set; }
+
     }
 
     public class CloudResponse<T>
+    {
+        public bool success { get; set; }
+        public string code { get; set; }
+        public string msg { get; set; }
+        public T data { get; set; }
+    }
+    public class CloudResponse
+    {
+        public bool isSuccess { get; set; }
+        public int code { get; set; }
+        public string message { get; set; }
+        public string data { get; set; }
+    }
+
+
+    public class APIResponse
+    {
+        public bool success { get; set; }
+        public string code { get; set; }
+        public string msg { get; set; }
+        public string data { get; set; }
+
+        public APIResponse()
         {
-            public bool success { get; set; }
-            public string code { get; set; }
-            public string msg { get; set; }
-            public T data { get; set; }
-        }
-        public class CloudResponse
-        {
-            public bool success { get; set; }
-            public string code { get; set; }
-            public string msg { get; set; }
-            public string data { get; set; }
+            success = false;
+            code = string.Empty;
+            msg = string.Empty;
+            data = string.Empty;
         }
-        public class Login
+    }
+
+    public class Login
         {
-            public string Token { get; set; }
-        }
+            public string token { get; set; }
+            public string buid { get; set; }
+    }
         public class Upload
         {
             public long Id { get; set; }

+ 9 - 2
mCardSystem/mCardSystem/HttpService.cs

@@ -17,7 +17,7 @@ namespace mCardSystem
             return true;
         }
 
-        public static string Post(string jsondata, string url, int timeout, string Authorization = "")
+        public static string Post(string jsondata, string url, int timeout, string Authorization = "", string buid = "")
         {
             string result = "";//返回结果
 
@@ -43,7 +43,14 @@ namespace mCardSystem
 
                 request.Method = "POST";
                 request.Timeout = timeout * 1000;
-                request.Headers.Add("access-token", Authorization);
+                if(Authorization!="")
+                {
+                    request.Headers.Add("access-token", Authorization);
+                }
+                if(buid != "")
+                {
+                    request.Headers.Add("buid", buid);
+                }
 
                 ////设置代理服务器
                 //WebProxy proxy = new WebProxy();                          //定义一个网关对象

+ 50 - 0
mCardSystem/mCardSystem/Logger.cs

@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace mCardSystem
+{
+
+    using System;
+    using System.IO;
+    using System.Linq;
+
+    public static class Logger
+    {
+        private static readonly string LogDirectory = "log";
+
+        static Logger()
+        {
+            if (!Directory.Exists(LogDirectory))
+            {
+                Directory.CreateDirectory(LogDirectory);
+            }
+        }
+
+        public static void WriteLog(string message)
+        {
+            string fileName = $"{DateTime.Now:yyyy-MM-dd}.log";
+            string filePath = Path.Combine(LogDirectory, fileName);
+            string logEntry = $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] {message}{Environment.NewLine}";
+
+            File.AppendAllText(filePath, logEntry);
+        }
+
+        public static void CleanOldLogs()
+        {
+            DirectoryInfo dirInfo = new DirectoryInfo(LogDirectory);
+            DateTime twoMonthsAgo = DateTime.Now.AddMonths(-2);
+
+            foreach (FileInfo file in dirInfo.GetFiles("*.log"))
+            {
+                if (file.CreationTime < twoMonthsAgo)
+                {
+                    file.Delete();
+                }
+            }
+        }
+    }
+
+}

+ 12 - 36
mCardSystem/mCardSystem/LoginDlg.Designer.cs

@@ -32,9 +32,7 @@
             label1 = new AntdUI.Label();
             label2 = new AntdUI.Label();
             label3 = new AntdUI.Label();
-            label4 = new AntdUI.Label();
             button_login = new AntdUI.Button();
-            input1 = new AntdUI.Input();
             Account = new AntdUI.Input();
             Password = new AntdUI.Input();
             pageHeader1 = new AntdUI.PageHeader();
@@ -46,7 +44,7 @@
             // 
             label1.Font = new Font("Microsoft YaHei UI", 18F, FontStyle.Bold, GraphicsUnit.Point, 134);
             label1.ForeColor = Color.White;
-            label1.Location = new Point(189, 13);
+            label1.Location = new Point(175, 13);
             label1.Margin = new Padding(3, 4, 3, 4);
             label1.Name = "label1";
             label1.Size = new Size(191, 47);
@@ -57,7 +55,7 @@
             // 
             label2.Font = new Font("微软雅黑", 13.8F, FontStyle.Bold);
             label2.ForeColor = Color.FromArgb(56, 172, 222);
-            label2.Location = new Point(110, 167);
+            label2.Location = new Point(96, 114);
             label2.Margin = new Padding(3, 4, 3, 4);
             label2.Name = "label2";
             label2.Size = new Size(86, 49);
@@ -68,56 +66,38 @@
             // 
             label3.Font = new Font("微软雅黑", 13.8F, FontStyle.Bold);
             label3.ForeColor = Color.FromArgb(56, 172, 222);
-            label3.Location = new Point(110, 231);
+            label3.Location = new Point(96, 178);
             label3.Margin = new Padding(3, 4, 3, 4);
             label3.Name = "label3";
             label3.Size = new Size(86, 49);
             label3.TabIndex = 1;
             label3.Text = "密码:";
             // 
-            // label4
-            // 
-            label4.Font = new Font("微软雅黑", 13.8F, FontStyle.Bold);
-            label4.ForeColor = Color.FromArgb(56, 172, 222);
-            label4.Location = new Point(73, 110);
-            label4.Margin = new Padding(3, 4, 3, 4);
-            label4.Name = "label4";
-            label4.Size = new Size(112, 49);
-            label4.TabIndex = 1;
-            label4.Text = "油站编码:";
-            // 
             // button_login
             // 
             button_login.BackColor = Color.FromArgb(56, 172, 222);
-            button_login.Location = new Point(164, 321);
+            button_login.Location = new Point(175, 264);
             button_login.Margin = new Padding(3, 4, 3, 4);
             button_login.Name = "button_login";
-            button_login.Size = new Size(230, 52);
+            button_login.Size = new Size(205, 52);
             button_login.TabIndex = 2;
             button_login.Text = "登录";
             button_login.Type = AntdUI.TTypeMini.Info;
             button_login.Click += button_login_Click;
             // 
-            // input1
-            // 
-            input1.Location = new Point(189, 117);
-            input1.Name = "input1";
-            input1.Size = new Size(242, 40);
-            input1.TabIndex = 4;
-            // 
             // Account
             // 
-            Account.Location = new Point(189, 176);
+            Account.Location = new Point(175, 123);
             Account.Name = "Account";
-            Account.Size = new Size(242, 40);
+            Account.Size = new Size(205, 40);
             Account.TabIndex = 4;
             // 
             // Password
             // 
-            Password.Location = new Point(189, 240);
+            Password.Location = new Point(175, 187);
             Password.Name = "Password";
             Password.PasswordChar = '*';
-            Password.Size = new Size(242, 40);
+            Password.Size = new Size(205, 40);
             Password.TabIndex = 4;
             // 
             // pageHeader1
@@ -128,7 +108,7 @@
             pageHeader1.Dock = DockStyle.Top;
             pageHeader1.Location = new Point(0, 0);
             pageHeader1.Name = "pageHeader1";
-            pageHeader1.Size = new Size(549, 70);
+            pageHeader1.Size = new Size(516, 70);
             pageHeader1.TabIndex = 5;
             pageHeader1.Text = "";
             // 
@@ -139,7 +119,7 @@
             button_close.Dock = DockStyle.Right;
             button_close.Icon = (Image)resources.GetObject("button_close.Icon");
             button_close.IconRatio = 1.5F;
-            button_close.Location = new Point(495, 0);
+            button_close.Location = new Point(462, 0);
             button_close.Name = "button_close";
             button_close.Size = new Size(54, 70);
             button_close.TabIndex = 2;
@@ -150,13 +130,11 @@
             // 
             AutoScaleDimensions = new SizeF(8F, 20F);
             AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(549, 408);
+            ClientSize = new Size(516, 370);
             Controls.Add(pageHeader1);
             Controls.Add(Password);
             Controls.Add(Account);
-            Controls.Add(input1);
             Controls.Add(button_login);
-            Controls.Add(label4);
             Controls.Add(label3);
             Controls.Add(label2);
             Font = new Font("Microsoft YaHei UI", 10.5F, FontStyle.Regular, GraphicsUnit.Point, 134);
@@ -175,9 +153,7 @@
         private AntdUI.Label label1;
         private AntdUI.Label label2;
         private AntdUI.Label label3;
-        private AntdUI.Label label4;
         private AntdUI.Button button_login;
-        private AntdUI.Input input1;
         private AntdUI.Input Account;
         private AntdUI.Input Password;
         private AntdUI.PageHeader pageHeader1;

+ 22 - 11
mCardSystem/mCardSystem/LoginDlg.cs

@@ -25,26 +25,37 @@ namespace mCardSystem
 
             string Account = this.Account.Text;
             string Password = this.Password.Text;
-            bool success = false;
 
-            string Token = WebAPI.ClientLogin(Account, Password);
-            if (Token != "")
+            APIResponse res = WebAPI.ClientLogin(Account, Password);
+          
+            if (res.success)
             {
-                success = true;
-            }
+                bool getkey = false;
+                while (!getkey)
+                {
+                    APIResponse resk = WebAPI.GetSecretKey();
+
+                    if(resk.success)
+                    {
+                        getkey = true;
+                    }
+                    else
+                    {
+                        if (Tool.ShowAntdModalConfirm(this, "获取密钥失败,是否重试?") != DialogResult.OK)
+                        {
+                            getkey = true;
+                            return;
+                        }
+                    }
+                }
 
 
-            //if (txtUsername.Text == "admin" && txtPassword.Text == "123456")
-            if (success)
-            {
-                // 登录成功,设置DialogResult为OK并关闭对话框
                 this.DialogResult = DialogResult.OK;
                 this.Close();
             }
             else
             {
-                //MessageBox.Show("用户名或密码错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
-                Tool.ShowAntdModal(this, "用户名或密码错误");
+                Tool.ShowAntdModal(this, "登录失败,"+res.msg);
             }
         }
 

+ 20 - 0
mCardSystem/mCardSystem/Program.cs

@@ -8,6 +8,9 @@ namespace mCardSystem
 {
     internal static class Program
     {
+        private static DateTime lastCleanDate = DateTime.Today;
+
+
         /// <summary>
         ///  The main entry point for the application.
         /// </summary>
@@ -16,6 +19,11 @@ namespace mCardSystem
         {
             // To customize application configuration such as set high DPI settings or default font,
             // see https://aka.ms/applicationconfiguration.
+
+
+            System.Threading.Timer checkTimer = new System.Threading.Timer(CheckAndCleanLogs, null, TimeSpan.Zero, TimeSpan.FromMinutes(1));
+
+
             ApplicationConfiguration.Initialize();
            
             // 显示登录对话框
@@ -27,6 +35,18 @@ namespace mCardSystem
             }
         }
 
+        private static void CheckAndCleanLogs(object state)
+        {
+            // 检查日期是否改变
+            if (DateTime.Today > lastCleanDate)
+            {
+                Logger.CleanOldLogs();
+                lastCleanDate = DateTime.Today;
+            }
+        }
+
+
+
         [DllImport("mwrf32.dll", EntryPoint = "rf_init", SetLastError = true,
        CharSet = CharSet.Auto, ExactSpelling = false,
        CallingConvention = CallingConvention.StdCall)]

+ 69 - 9
mCardSystem/mCardSystem/WebAPI.cs

@@ -6,13 +6,17 @@ using System.Threading.Tasks;
 using Microsoft.Win32;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
+using DFS.Infrastructure;
+using DFS.Infrastructure.Extension.SM;
 
 namespace mCardSystem
 {
     public class WebAPI
     {
         public static string token;
-        public static string CloudsUrl = "http://10.153.140.4:5076/";
+        public static string buid;
+        public static string skey;
+        public static string CloudsUrl = "http://10.153.140.3:5076/";
 
 
         /// <summary>
@@ -21,21 +25,37 @@ namespace mCardSystem
         /// <param name="userName"></param>
         /// <param name="password"></param>
         /// <returns></returns>
-        public static string ClientLogin(string userName, string password)
+        public static APIResponse ClientLogin(string userName, string password)
         {
             try
             {
                 string jsonData = "{\"account\": \"" + userName + "\",\"password\": \"" + password + "\"}";
                 string responseResult = HttpService.Post(jsonData, CloudsUrl + "api/auth/login", 60);
 
-                if(responseResult == "" || responseResult == null)
+                APIResponse res = new APIResponse();
+
+                if (responseResult == "" || responseResult == null)
                 {
-                    return "";
+                    res.msg = "无法获取登录信息,请检查网络或配置";
+                    return res;
                 }
 
-                Response rootObject = JsonConvert.DeserializeObject<Response>(responseResult);
-                token = "Bearer " + rootObject.data;
-                return rootObject.data;
+                JObject obj = JObject.Parse(responseResult);
+                if((bool)obj["isSuccess"] == true)
+                {
+                    LoginResponse rootObject = JsonConvert.DeserializeObject<LoginResponse>(responseResult);
+                    token = "Bearer " + rootObject.data.token;
+                    buid = rootObject.data.buid;
+
+                   
+                    res.success = true;
+                    return res;
+                }
+                else
+                {
+                    res.msg = obj["message"].ToString();
+                    return res;
+                }
             }
             catch (Exception ex)
             {
@@ -44,6 +64,46 @@ namespace mCardSystem
         }
 
 
+        public static APIResponse GetSecretKey()
+        {
+            try
+            {
+                string jsonData = "";
+                string responseResult = HttpService.Post(jsonData, CloudsUrl + "api/Auth/GetEnterpriseSecretKey", 60,token,buid);
+
+                APIResponse res = new APIResponse();
+
+                if (responseResult == "" || responseResult == null)
+                {
+                    res.msg = "无法获取信息,请检查网络或配置";
+                    return res;
+                }
+
+                JObject obj = JObject.Parse(responseResult);
+                if((bool)obj["isSuccess"] == true)
+                {
+                    CloudResponse rootObject = JsonConvert.DeserializeObject<CloudResponse>(responseResult);
+                    
+                    string key = rootObject.data;
+
+                    string enckey = "54CD806F28AF7FAF61A48DF82DF17C96";
+                    skey = enckey.SM4Decrypt_ECB(key);
+
+
+                    res.success = true;
+                    return res;
+                }
+                else
+                {
+                    res.msg = obj["message"].ToString();
+                    return res;
+                }
+            }
+            catch (Exception ex)
+            {
+                return null;
+            }
+        }
 
         /// <summary>
         /// 
@@ -59,9 +119,9 @@ namespace mCardSystem
                 //string jsonData = "{\"token\": \"" + _ + "\"}";
                 string responseResult = HttpService.Get(CloudsUrl + "api/admin/auth/refresh?token=" + _);
                 CloudResponse<Login> rootObject = JsonConvert.DeserializeObject<CloudResponse<Login>>(responseResult);
-                token = "Bearer " + rootObject.data.Token;
+                token = "Bearer " + rootObject.data.token;
                 //UserName = rootObject.data
-                return rootObject.data.Token;
+                return rootObject.data.token;
             }
             catch (Exception ex)
             {

BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/BouncyCastle.Cryptography.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/DFS.Infrastructure.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.DependencyInjection.Abstractions.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.DependencyInjection.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.Logging.Abstractions.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.Options.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.Extensions.Primitives.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.IdentityModel.Abstractions.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.IdentityModel.JsonWebTokens.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.IdentityModel.Logging.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Microsoft.IdentityModel.Tokens.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/System.IdentityModel.Tokens.Jwt.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/Yitter.IdGenerator.dll


+ 228 - 0
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/mCardSystem.deps.json

@@ -9,6 +9,7 @@
       "mCardSystem/1.0.0": {
         "dependencies": {
           "AntdUI": "2.2.3",
+          "DFS.Infrastructure": "8.0.0",
           "Newtonsoft.Json": "13.0.4"
         },
         "runtime": {
@@ -23,6 +24,122 @@
           }
         }
       },
+      "BouncyCastle.Cryptography/2.3.1": {
+        "runtime": {
+          "lib/net6.0/BouncyCastle.Cryptography.dll": {
+            "assemblyVersion": "2.0.0.0",
+            "fileVersion": "2.3.1.17862"
+          }
+        }
+      },
+      "DFS.Infrastructure/8.0.0": {
+        "dependencies": {
+          "BouncyCastle.Cryptography": "2.3.1",
+          "Microsoft.Extensions.DependencyInjection": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Options": "8.0.2",
+          "Microsoft.IdentityModel.Tokens": "7.5.2",
+          "System.IdentityModel.Tokens.Jwt": "7.5.2",
+          "Yitter.IdGenerator": "1.0.14"
+        },
+        "runtime": {
+          "lib/net8.0/DFS.Infrastructure.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.0.0"
+          }
+        }
+      },
+      "Microsoft.Extensions.DependencyInjection/8.0.0": {
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        }
+      },
+      "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.324.11423"
+          }
+        }
+      },
+      "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.324.11423"
+          }
+        }
+      },
+      "Microsoft.Extensions.Options/8.0.2": {
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Primitives": "8.0.0"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Options.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.224.6711"
+          }
+        }
+      },
+      "Microsoft.Extensions.Primitives/8.0.0": {
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Abstractions/7.5.2": {
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.JsonWebTokens/7.5.2": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Tokens": "7.5.2"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Logging/7.5.2": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Abstractions": "7.5.2"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Logging.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Tokens/7.5.2": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Logging": "7.5.2"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Tokens.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
       "Newtonsoft.Json/13.0.4": {
         "runtime": {
           "lib/net6.0/Newtonsoft.Json.dll": {
@@ -30,6 +147,26 @@
             "fileVersion": "13.0.4.30916"
           }
         }
+      },
+      "System.IdentityModel.Tokens.Jwt/7.5.2": {
+        "dependencies": {
+          "Microsoft.IdentityModel.JsonWebTokens": "7.5.2",
+          "Microsoft.IdentityModel.Tokens": "7.5.2"
+        },
+        "runtime": {
+          "lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
+      "Yitter.IdGenerator/1.0.14": {
+        "runtime": {
+          "lib/netstandard2.0/Yitter.IdGenerator.dll": {
+            "assemblyVersion": "1.0.14.0",
+            "fileVersion": "1.0.14.0"
+          }
+        }
       }
     }
   },
@@ -46,12 +183,103 @@
       "path": "antdui/2.2.3",
       "hashPath": "antdui.2.2.3.nupkg.sha512"
     },
+    "BouncyCastle.Cryptography/2.3.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-buwoISwecYke3CmgG1AQSg+sNZjJeIb93vTAtJiHZX35hP/teYMxsfg0NDXGUKjGx6BKBTNKc77O2M3vKvlXZQ==",
+      "path": "bouncycastle.cryptography/2.3.1",
+      "hashPath": "bouncycastle.cryptography.2.3.1.nupkg.sha512"
+    },
+    "DFS.Infrastructure/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-mM0br4D8urZrRqDdOSwVBmZ+xAOaWrYJrihkotRrdmUtUKiDFqsBy6Hg8jkNuilU1W6TfOfuvgkUUH9K24KKNw==",
+      "path": "dfs.infrastructure/8.0.0",
+      "hashPath": "dfs.infrastructure.8.0.0.nupkg.sha512"
+    },
+    "Microsoft.Extensions.DependencyInjection/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==",
+      "path": "microsoft.extensions.dependencyinjection/8.0.0",
+      "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512"
+    },
+    "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fGLiCRLMYd00JYpClraLjJTNKLmMJPnqxMaiRzEBIIvevlzxz33mXy39Lkd48hu1G+N21S7QpaO5ZzKsI6FRuA==",
+      "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.1",
+      "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512"
+    },
+    "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-RIFgaqoaINxkM2KTOw72dmilDmTrYA0ns2KW4lDz4gZ2+o6IQ894CzmdL3StM2oh7QQq44nCWiqKqc4qUI9Jmg==",
+      "path": "microsoft.extensions.logging.abstractions/8.0.1",
+      "hashPath": "microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512"
+    },
+    "Microsoft.Extensions.Options/8.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
+      "path": "microsoft.extensions.options/8.0.2",
+      "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512"
+    },
+    "Microsoft.Extensions.Primitives/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
+      "path": "microsoft.extensions.primitives/8.0.0",
+      "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Abstractions/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-xXFP4PUcI/l4n3hpw4TXbvONNTQ9WflyMxUx03qNJXSd7dVtxbFrL+B9+IevMwzvktZjTVfMdDlzQoTzdtN1bA==",
+      "path": "microsoft.identitymodel.abstractions/7.5.2",
+      "hashPath": "microsoft.identitymodel.abstractions.7.5.2.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.JsonWebTokens/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gH3c88+YdT5QI6Rw2nnwjDUxzLgPPPbjMvUwvJrITyNAV3L5aswqxKIlmyQhaqltjGBGrMsCZCKwampWEMDN2w==",
+      "path": "microsoft.identitymodel.jsonwebtokens/7.5.2",
+      "hashPath": "microsoft.identitymodel.jsonwebtokens.7.5.2.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Logging/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-FpMJ2i1e8Z+1rAchYQiawk0ChwYv6CNtCQDtMzwzkZtUWQYmkrkLXzl3qniOT8FFQck7bPKhQJY6nU7P7tojwQ==",
+      "path": "microsoft.identitymodel.logging/7.5.2",
+      "hashPath": "microsoft.identitymodel.logging.7.5.2.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Tokens/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VFLS4Ajy5jadM/YV9x3FA4pHHwbEWTjkbN/RtShqVH8eI8j6UDg5522ogTx1iMLJKQdL9QbfxXx4d1+w1eCDgQ==",
+      "path": "microsoft.identitymodel.tokens/7.5.2",
+      "hashPath": "microsoft.identitymodel.tokens.7.5.2.nupkg.sha512"
+    },
     "Newtonsoft.Json/13.0.4": {
       "type": "package",
       "serviceable": true,
       "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
       "path": "newtonsoft.json/13.0.4",
       "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
+    },
+    "System.IdentityModel.Tokens.Jwt/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-taMjs3z9+tTYNhdD5g5XU89gMcqX7PSI6oji7yZXK8E4T1XjsZR5yDLdIqC1PVKYL5FAlrNWBNBaLshuESYHlw==",
+      "path": "system.identitymodel.tokens.jwt/7.5.2",
+      "hashPath": "system.identitymodel.tokens.jwt.7.5.2.nupkg.sha512"
+    },
+    "Yitter.IdGenerator/1.0.14": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-F4nOJ7Geq41vgNWX9E6/vkxRzFInACGpDp4Kad2mA2WIKhEwgPyE9FpulBAuEmDByrfHHz6mOII3IIeLJAh91g==",
+      "path": "yitter.idgenerator/1.0.14",
+      "hashPath": "yitter.idgenerator.1.0.14.nupkg.sha512"
     }
   }
 }

BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/mCardSystem.dll


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/mCardSystem.exe


BIN
mCardSystem/mCardSystem/bin/x86/Debug/net8.0-windows/mCardSystem.pdb


+ 1 - 0
mCardSystem/mCardSystem/mCardSystem.csproj

@@ -16,6 +16,7 @@
 
   <ItemGroup>
     <PackageReference Include="AntdUI" Version="2.2.3" />
+    <PackageReference Include="DFS.Infrastructure" Version="8.0.0" />
     <PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
   </ItemGroup>
 

+ 4 - 0
mCardSystem/mCardSystem/obj/mCardSystem.csproj.nuget.dgspec.json

@@ -55,6 +55,10 @@
               "target": "Package",
               "version": "[2.2.3, )"
             },
+            "DFS.Infrastructure": {
+              "target": "Package",
+              "version": "[8.0.0, )"
+            },
             "Newtonsoft.Json": {
               "target": "Package",
               "version": "[13.0.4, )"

+ 6 - 1
mCardSystem/mCardSystem/obj/mCardSystem.csproj.nuget.g.targets

@@ -1,2 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <Import Project="$(NuGetPackageRoot)microsoft.extensions.options\8.0.2\buildTransitive\net6.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\8.0.2\buildTransitive\net6.0\Microsoft.Extensions.Options.targets')" />
+    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.1\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.1\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
+  </ImportGroup>
+</Project>

+ 585 - 0
mCardSystem/mCardSystem/obj/project.assets.json

@@ -18,6 +18,188 @@
           "Microsoft.WindowsDesktop.App.WindowsForms"
         ]
       },
+      "BouncyCastle.Cryptography/2.3.1": {
+        "type": "package",
+        "compile": {
+          "lib/net6.0/BouncyCastle.Cryptography.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net6.0/BouncyCastle.Cryptography.dll": {
+            "related": ".xml"
+          }
+        }
+      },
+      "DFS.Infrastructure/8.0.0": {
+        "type": "package",
+        "dependencies": {
+          "BouncyCastle.Cryptography": "2.3.1",
+          "Microsoft.Extensions.DependencyInjection": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Options": "8.0.2",
+          "Microsoft.IdentityModel.Tokens": "7.5.2",
+          "System.IdentityModel.Tokens.Jwt": "7.5.2",
+          "Yitter.IdGenerator": "1.0.14"
+        },
+        "compile": {
+          "lib/net8.0/DFS.Infrastructure.dll": {}
+        },
+        "runtime": {
+          "lib/net8.0/DFS.Infrastructure.dll": {}
+        }
+      },
+      "Microsoft.Extensions.DependencyInjection/8.0.0": {
+        "type": "package",
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
+        },
+        "compile": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+            "related": ".xml"
+          }
+        },
+        "build": {
+          "buildTransitive/net6.0/_._": {}
+        }
+      },
+      "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
+        "type": "package",
+        "compile": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+            "related": ".xml"
+          }
+        },
+        "build": {
+          "buildTransitive/net6.0/_._": {}
+        }
+      },
+      "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
+        "type": "package",
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        },
+        "compile": {
+          "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+            "related": ".xml"
+          }
+        },
+        "build": {
+          "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
+        }
+      },
+      "Microsoft.Extensions.Options/8.0.2": {
+        "type": "package",
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Primitives": "8.0.0"
+        },
+        "compile": {
+          "lib/net8.0/Microsoft.Extensions.Options.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Options.dll": {
+            "related": ".xml"
+          }
+        },
+        "build": {
+          "buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {}
+        }
+      },
+      "Microsoft.Extensions.Primitives/8.0.0": {
+        "type": "package",
+        "compile": {
+          "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+            "related": ".xml"
+          }
+        },
+        "build": {
+          "buildTransitive/net6.0/_._": {}
+        }
+      },
+      "Microsoft.IdentityModel.Abstractions/7.5.2": {
+        "type": "package",
+        "compile": {
+          "lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": {
+            "related": ".xml"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.JsonWebTokens/7.5.2": {
+        "type": "package",
+        "dependencies": {
+          "Microsoft.IdentityModel.Tokens": "7.5.2"
+        },
+        "compile": {
+          "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
+            "related": ".xml"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Logging/7.5.2": {
+        "type": "package",
+        "dependencies": {
+          "Microsoft.IdentityModel.Abstractions": "7.5.2"
+        },
+        "compile": {
+          "lib/net8.0/Microsoft.IdentityModel.Logging.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Logging.dll": {
+            "related": ".xml"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Tokens/7.5.2": {
+        "type": "package",
+        "dependencies": {
+          "Microsoft.IdentityModel.Logging": "7.5.2"
+        },
+        "compile": {
+          "lib/net8.0/Microsoft.IdentityModel.Tokens.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Tokens.dll": {
+            "related": ".xml"
+          }
+        }
+      },
       "Newtonsoft.Json/13.0.4": {
         "type": "package",
         "compile": {
@@ -30,6 +212,32 @@
             "related": ".xml"
           }
         }
+      },
+      "System.IdentityModel.Tokens.Jwt/7.5.2": {
+        "type": "package",
+        "dependencies": {
+          "Microsoft.IdentityModel.JsonWebTokens": "7.5.2",
+          "Microsoft.IdentityModel.Tokens": "7.5.2"
+        },
+        "compile": {
+          "lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": {
+            "related": ".xml"
+          }
+        }
+      },
+      "Yitter.IdGenerator/1.0.14": {
+        "type": "package",
+        "compile": {
+          "lib/netstandard2.0/Yitter.IdGenerator.dll": {}
+        },
+        "runtime": {
+          "lib/netstandard2.0/Yitter.IdGenerator.dll": {}
+        }
       }
     }
   },
@@ -61,6 +269,343 @@
         "logo.png"
       ]
     },
+    "BouncyCastle.Cryptography/2.3.1": {
+      "sha512": "buwoISwecYke3CmgG1AQSg+sNZjJeIb93vTAtJiHZX35hP/teYMxsfg0NDXGUKjGx6BKBTNKc77O2M3vKvlXZQ==",
+      "type": "package",
+      "path": "bouncycastle.cryptography/2.3.1",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "LICENSE.md",
+        "README.md",
+        "bouncycastle.cryptography.2.3.1.nupkg.sha512",
+        "bouncycastle.cryptography.nuspec",
+        "lib/net461/BouncyCastle.Cryptography.dll",
+        "lib/net461/BouncyCastle.Cryptography.xml",
+        "lib/net6.0/BouncyCastle.Cryptography.dll",
+        "lib/net6.0/BouncyCastle.Cryptography.xml",
+        "lib/netstandard2.0/BouncyCastle.Cryptography.dll",
+        "lib/netstandard2.0/BouncyCastle.Cryptography.xml",
+        "packageIcon.png"
+      ]
+    },
+    "DFS.Infrastructure/8.0.0": {
+      "sha512": "mM0br4D8urZrRqDdOSwVBmZ+xAOaWrYJrihkotRrdmUtUKiDFqsBy6Hg8jkNuilU1W6TfOfuvgkUUH9K24KKNw==",
+      "type": "package",
+      "path": "dfs.infrastructure/8.0.0",
+      "files": [
+        ".nupkg.metadata",
+        "dfs.infrastructure.8.0.0.nupkg.sha512",
+        "dfs.infrastructure.nuspec",
+        "lib/net8.0/DFS.Infrastructure.dll"
+      ]
+    },
+    "Microsoft.Extensions.DependencyInjection/8.0.0": {
+      "sha512": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==",
+      "type": "package",
+      "path": "microsoft.extensions.dependencyinjection/8.0.0",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "Icon.png",
+        "LICENSE.TXT",
+        "PACKAGE.md",
+        "THIRD-PARTY-NOTICES.TXT",
+        "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets",
+        "buildTransitive/net462/_._",
+        "buildTransitive/net6.0/_._",
+        "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
+        "lib/net462/Microsoft.Extensions.DependencyInjection.dll",
+        "lib/net462/Microsoft.Extensions.DependencyInjection.xml",
+        "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll",
+        "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml",
+        "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll",
+        "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml",
+        "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll",
+        "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml",
+        "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
+        "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
+        "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
+        "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
+        "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
+        "microsoft.extensions.dependencyinjection.nuspec",
+        "useSharedDesignerContext.txt"
+      ]
+    },
+    "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
+      "sha512": "fGLiCRLMYd00JYpClraLjJTNKLmMJPnqxMaiRzEBIIvevlzxz33mXy39Lkd48hu1G+N21S7QpaO5ZzKsI6FRuA==",
+      "type": "package",
+      "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.1",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "Icon.png",
+        "LICENSE.TXT",
+        "PACKAGE.md",
+        "THIRD-PARTY-NOTICES.TXT",
+        "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
+        "buildTransitive/net462/_._",
+        "buildTransitive/net6.0/_._",
+        "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
+        "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+        "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+        "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+        "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+        "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+        "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+        "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+        "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+        "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+        "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+        "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+        "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+        "microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512",
+        "microsoft.extensions.dependencyinjection.abstractions.nuspec",
+        "useSharedDesignerContext.txt"
+      ]
+    },
+    "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
+      "sha512": "RIFgaqoaINxkM2KTOw72dmilDmTrYA0ns2KW4lDz4gZ2+o6IQ894CzmdL3StM2oh7QQq44nCWiqKqc4qUI9Jmg==",
+      "type": "package",
+      "path": "microsoft.extensions.logging.abstractions/8.0.1",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "Icon.png",
+        "LICENSE.TXT",
+        "PACKAGE.md",
+        "THIRD-PARTY-NOTICES.TXT",
+        "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
+        "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
+        "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll",
+        "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+        "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets",
+        "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets",
+        "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets",
+        "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
+        "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets",
+        "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll",
+        "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml",
+        "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll",
+        "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml",
+        "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll",
+        "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml",
+        "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll",
+        "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml",
+        "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
+        "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
+        "microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512",
+        "microsoft.extensions.logging.abstractions.nuspec",
+        "useSharedDesignerContext.txt"
+      ]
+    },
+    "Microsoft.Extensions.Options/8.0.2": {
+      "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
+      "type": "package",
+      "path": "microsoft.extensions.options/8.0.2",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "Icon.png",
+        "LICENSE.TXT",
+        "PACKAGE.md",
+        "THIRD-PARTY-NOTICES.TXT",
+        "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll",
+        "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+        "buildTransitive/net461/Microsoft.Extensions.Options.targets",
+        "buildTransitive/net462/Microsoft.Extensions.Options.targets",
+        "buildTransitive/net6.0/Microsoft.Extensions.Options.targets",
+        "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets",
+        "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets",
+        "lib/net462/Microsoft.Extensions.Options.dll",
+        "lib/net462/Microsoft.Extensions.Options.xml",
+        "lib/net6.0/Microsoft.Extensions.Options.dll",
+        "lib/net6.0/Microsoft.Extensions.Options.xml",
+        "lib/net7.0/Microsoft.Extensions.Options.dll",
+        "lib/net7.0/Microsoft.Extensions.Options.xml",
+        "lib/net8.0/Microsoft.Extensions.Options.dll",
+        "lib/net8.0/Microsoft.Extensions.Options.xml",
+        "lib/netstandard2.0/Microsoft.Extensions.Options.dll",
+        "lib/netstandard2.0/Microsoft.Extensions.Options.xml",
+        "lib/netstandard2.1/Microsoft.Extensions.Options.dll",
+        "lib/netstandard2.1/Microsoft.Extensions.Options.xml",
+        "microsoft.extensions.options.8.0.2.nupkg.sha512",
+        "microsoft.extensions.options.nuspec",
+        "useSharedDesignerContext.txt"
+      ]
+    },
+    "Microsoft.Extensions.Primitives/8.0.0": {
+      "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
+      "type": "package",
+      "path": "microsoft.extensions.primitives/8.0.0",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "Icon.png",
+        "LICENSE.TXT",
+        "PACKAGE.md",
+        "THIRD-PARTY-NOTICES.TXT",
+        "buildTransitive/net461/Microsoft.Extensions.Primitives.targets",
+        "buildTransitive/net462/_._",
+        "buildTransitive/net6.0/_._",
+        "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
+        "lib/net462/Microsoft.Extensions.Primitives.dll",
+        "lib/net462/Microsoft.Extensions.Primitives.xml",
+        "lib/net6.0/Microsoft.Extensions.Primitives.dll",
+        "lib/net6.0/Microsoft.Extensions.Primitives.xml",
+        "lib/net7.0/Microsoft.Extensions.Primitives.dll",
+        "lib/net7.0/Microsoft.Extensions.Primitives.xml",
+        "lib/net8.0/Microsoft.Extensions.Primitives.dll",
+        "lib/net8.0/Microsoft.Extensions.Primitives.xml",
+        "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
+        "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
+        "microsoft.extensions.primitives.8.0.0.nupkg.sha512",
+        "microsoft.extensions.primitives.nuspec",
+        "useSharedDesignerContext.txt"
+      ]
+    },
+    "Microsoft.IdentityModel.Abstractions/7.5.2": {
+      "sha512": "xXFP4PUcI/l4n3hpw4TXbvONNTQ9WflyMxUx03qNJXSd7dVtxbFrL+B9+IevMwzvktZjTVfMdDlzQoTzdtN1bA==",
+      "type": "package",
+      "path": "microsoft.identitymodel.abstractions/7.5.2",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "lib/net461/Microsoft.IdentityModel.Abstractions.dll",
+        "lib/net461/Microsoft.IdentityModel.Abstractions.xml",
+        "lib/net462/Microsoft.IdentityModel.Abstractions.dll",
+        "lib/net462/Microsoft.IdentityModel.Abstractions.xml",
+        "lib/net472/Microsoft.IdentityModel.Abstractions.dll",
+        "lib/net472/Microsoft.IdentityModel.Abstractions.xml",
+        "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll",
+        "lib/net6.0/Microsoft.IdentityModel.Abstractions.xml",
+        "lib/net8.0/Microsoft.IdentityModel.Abstractions.dll",
+        "lib/net8.0/Microsoft.IdentityModel.Abstractions.xml",
+        "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll",
+        "lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml",
+        "microsoft.identitymodel.abstractions.7.5.2.nupkg.sha512",
+        "microsoft.identitymodel.abstractions.nuspec"
+      ]
+    },
+    "Microsoft.IdentityModel.JsonWebTokens/7.5.2": {
+      "sha512": "gH3c88+YdT5QI6Rw2nnwjDUxzLgPPPbjMvUwvJrITyNAV3L5aswqxKIlmyQhaqltjGBGrMsCZCKwampWEMDN2w==",
+      "type": "package",
+      "path": "microsoft.identitymodel.jsonwebtokens/7.5.2",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "lib/net461/Microsoft.IdentityModel.JsonWebTokens.dll",
+        "lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml",
+        "lib/net462/Microsoft.IdentityModel.JsonWebTokens.dll",
+        "lib/net462/Microsoft.IdentityModel.JsonWebTokens.xml",
+        "lib/net472/Microsoft.IdentityModel.JsonWebTokens.dll",
+        "lib/net472/Microsoft.IdentityModel.JsonWebTokens.xml",
+        "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll",
+        "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.xml",
+        "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll",
+        "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.xml",
+        "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll",
+        "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml",
+        "microsoft.identitymodel.jsonwebtokens.7.5.2.nupkg.sha512",
+        "microsoft.identitymodel.jsonwebtokens.nuspec"
+      ]
+    },
+    "Microsoft.IdentityModel.Logging/7.5.2": {
+      "sha512": "FpMJ2i1e8Z+1rAchYQiawk0ChwYv6CNtCQDtMzwzkZtUWQYmkrkLXzl3qniOT8FFQck7bPKhQJY6nU7P7tojwQ==",
+      "type": "package",
+      "path": "microsoft.identitymodel.logging/7.5.2",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "lib/net461/Microsoft.IdentityModel.Logging.dll",
+        "lib/net461/Microsoft.IdentityModel.Logging.xml",
+        "lib/net462/Microsoft.IdentityModel.Logging.dll",
+        "lib/net462/Microsoft.IdentityModel.Logging.xml",
+        "lib/net472/Microsoft.IdentityModel.Logging.dll",
+        "lib/net472/Microsoft.IdentityModel.Logging.xml",
+        "lib/net6.0/Microsoft.IdentityModel.Logging.dll",
+        "lib/net6.0/Microsoft.IdentityModel.Logging.xml",
+        "lib/net8.0/Microsoft.IdentityModel.Logging.dll",
+        "lib/net8.0/Microsoft.IdentityModel.Logging.xml",
+        "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll",
+        "lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml",
+        "microsoft.identitymodel.logging.7.5.2.nupkg.sha512",
+        "microsoft.identitymodel.logging.nuspec"
+      ]
+    },
+    "Microsoft.IdentityModel.Tokens/7.5.2": {
+      "sha512": "VFLS4Ajy5jadM/YV9x3FA4pHHwbEWTjkbN/RtShqVH8eI8j6UDg5522ogTx1iMLJKQdL9QbfxXx4d1+w1eCDgQ==",
+      "type": "package",
+      "path": "microsoft.identitymodel.tokens/7.5.2",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "lib/net461/Microsoft.IdentityModel.Tokens.dll",
+        "lib/net461/Microsoft.IdentityModel.Tokens.xml",
+        "lib/net462/Microsoft.IdentityModel.Tokens.dll",
+        "lib/net462/Microsoft.IdentityModel.Tokens.xml",
+        "lib/net472/Microsoft.IdentityModel.Tokens.dll",
+        "lib/net472/Microsoft.IdentityModel.Tokens.xml",
+        "lib/net6.0/Microsoft.IdentityModel.Tokens.dll",
+        "lib/net6.0/Microsoft.IdentityModel.Tokens.xml",
+        "lib/net8.0/Microsoft.IdentityModel.Tokens.dll",
+        "lib/net8.0/Microsoft.IdentityModel.Tokens.xml",
+        "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll",
+        "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml",
+        "microsoft.identitymodel.tokens.7.5.2.nupkg.sha512",
+        "microsoft.identitymodel.tokens.nuspec"
+      ]
+    },
     "Newtonsoft.Json/13.0.4": {
       "sha512": "pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
       "type": "package",
@@ -90,11 +635,47 @@
         "newtonsoft.json.nuspec",
         "packageIcon.png"
       ]
+    },
+    "System.IdentityModel.Tokens.Jwt/7.5.2": {
+      "sha512": "taMjs3z9+tTYNhdD5g5XU89gMcqX7PSI6oji7yZXK8E4T1XjsZR5yDLdIqC1PVKYL5FAlrNWBNBaLshuESYHlw==",
+      "type": "package",
+      "path": "system.identitymodel.tokens.jwt/7.5.2",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "lib/net461/System.IdentityModel.Tokens.Jwt.dll",
+        "lib/net461/System.IdentityModel.Tokens.Jwt.xml",
+        "lib/net462/System.IdentityModel.Tokens.Jwt.dll",
+        "lib/net462/System.IdentityModel.Tokens.Jwt.xml",
+        "lib/net472/System.IdentityModel.Tokens.Jwt.dll",
+        "lib/net472/System.IdentityModel.Tokens.Jwt.xml",
+        "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll",
+        "lib/net6.0/System.IdentityModel.Tokens.Jwt.xml",
+        "lib/net8.0/System.IdentityModel.Tokens.Jwt.dll",
+        "lib/net8.0/System.IdentityModel.Tokens.Jwt.xml",
+        "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll",
+        "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml",
+        "system.identitymodel.tokens.jwt.7.5.2.nupkg.sha512",
+        "system.identitymodel.tokens.jwt.nuspec"
+      ]
+    },
+    "Yitter.IdGenerator/1.0.14": {
+      "sha512": "F4nOJ7Geq41vgNWX9E6/vkxRzFInACGpDp4Kad2mA2WIKhEwgPyE9FpulBAuEmDByrfHHz6mOII3IIeLJAh91g==",
+      "type": "package",
+      "path": "yitter.idgenerator/1.0.14",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "lib/netstandard2.0/Yitter.IdGenerator.dll",
+        "yitter.idgenerator.1.0.14.nupkg.sha512",
+        "yitter.idgenerator.nuspec"
+      ]
     }
   },
   "projectFileDependencyGroups": {
     "net8.0-windows7.0": [
       "AntdUI >= 2.2.3",
+      "DFS.Infrastructure >= 8.0.0",
       "Newtonsoft.Json >= 13.0.4"
     ]
   },
@@ -153,6 +734,10 @@
             "target": "Package",
             "version": "[2.2.3, )"
           },
+          "DFS.Infrastructure": {
+            "target": "Package",
+            "version": "[8.0.0, )"
+          },
           "Newtonsoft.Json": {
             "target": "Package",
             "version": "[13.0.4, )"

+ 15 - 2
mCardSystem/mCardSystem/obj/project.nuget.cache

@@ -1,11 +1,24 @@
 {
   "version": 2,
-  "dgSpecHash": "WYGXRrusMCg=",
+  "dgSpecHash": "4KxrlHpXh9U=",
   "success": true,
   "projectFilePath": "C:\\bitbucket\\mCardSystem\\mCardSystem\\mCardSystem\\mCardSystem.csproj",
   "expectedPackageFiles": [
     "C:\\Users\\10049567\\.nuget\\packages\\antdui\\2.2.3\\antdui.2.2.3.nupkg.sha512",
-    "C:\\Users\\10049567\\.nuget\\packages\\newtonsoft.json\\13.0.4\\newtonsoft.json.13.0.4.nupkg.sha512"
+    "C:\\Users\\10049567\\.nuget\\packages\\bouncycastle.cryptography\\2.3.1\\bouncycastle.cryptography.2.3.1.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\dfs.infrastructure\\8.0.0\\dfs.infrastructure.8.0.0.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.1\\microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.1\\microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.identitymodel.abstractions\\7.5.2\\microsoft.identitymodel.abstractions.7.5.2.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\7.5.2\\microsoft.identitymodel.jsonwebtokens.7.5.2.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.identitymodel.logging\\7.5.2\\microsoft.identitymodel.logging.7.5.2.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\microsoft.identitymodel.tokens\\7.5.2\\microsoft.identitymodel.tokens.7.5.2.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\newtonsoft.json\\13.0.4\\newtonsoft.json.13.0.4.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\system.identitymodel.tokens.jwt\\7.5.2\\system.identitymodel.tokens.jwt.7.5.2.nupkg.sha512",
+    "C:\\Users\\10049567\\.nuget\\packages\\yitter.idgenerator\\1.0.14\\yitter.idgenerator.1.0.14.nupkg.sha512"
   ],
   "logs": []
 }

BIN
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/apphost.exe


+ 1 - 1
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.AssemblyInfo.cs

@@ -14,7 +14,7 @@ using System.Reflection;
 [assembly: System.Reflection.AssemblyCompanyAttribute("mCardSystem")]
 [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
 [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1f220217379f163d1095861c3c2ff31ac91e6e05")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+44e4120a748a583c84ae0f52da3d377fc41f850e")]
 [assembly: System.Reflection.AssemblyProductAttribute("mCardSystem")]
 [assembly: System.Reflection.AssemblyTitleAttribute("mCardSystem")]
 [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

+ 1 - 1
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.AssemblyInfoInputs.cache

@@ -1 +1 @@
-e15bb680576408b574e63f2a8d99b95edd15d9cfa210acd51455ebfbd33e6475
+d9bf36c6e1386c8b403e924941affdb38a3ff134b5188b9b18b58591b57a206c

BIN
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.assets.cache


BIN
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.csproj.AssemblyReference.cache


+ 1 - 1
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.csproj.CoreCompileInputs.cache

@@ -1 +1 @@
-df38138d9b7e8870f3cac37c34714dbcc649b24821c623cb8299acf255d6dcd5
+2539f6004dfb77a0e269925b12d4a75d09e9b91516ffae39c6fd1e44e7be6ace

+ 13 - 0
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.csproj.FileListAbsolute.txt

@@ -50,3 +50,16 @@ C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\obj\x86\Debug\net8.0-windows\re
 C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\obj\x86\Debug\net8.0-windows\mCardSystem.pdb
 C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\obj\x86\Debug\net8.0-windows\mCardSystem.genruntimeconfig.cache
 C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\obj\x86\Debug\net8.0-windows\ref\mCardSystem.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\BouncyCastle.Cryptography.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\DFS.Infrastructure.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.Extensions.DependencyInjection.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.Extensions.DependencyInjection.Abstractions.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.Extensions.Logging.Abstractions.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.Extensions.Options.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.Extensions.Primitives.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.IdentityModel.Abstractions.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.IdentityModel.JsonWebTokens.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.IdentityModel.Logging.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Microsoft.IdentityModel.Tokens.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\System.IdentityModel.Tokens.Jwt.dll
+C:\bitbucket\mCardSystem\mCardSystem\mCardSystem\bin\x86\Debug\net8.0-windows\Yitter.IdGenerator.dll

BIN
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.csproj.GenerateResource.cache


+ 227 - 0
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.designer.deps.json

@@ -14,6 +14,122 @@
           }
         }
       },
+      "BouncyCastle.Cryptography/2.3.1": {
+        "runtime": {
+          "lib/net6.0/BouncyCastle.Cryptography.dll": {
+            "assemblyVersion": "2.0.0.0",
+            "fileVersion": "2.3.1.17862"
+          }
+        }
+      },
+      "DFS.Infrastructure/8.0.0": {
+        "dependencies": {
+          "BouncyCastle.Cryptography": "2.3.1",
+          "Microsoft.Extensions.DependencyInjection": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Options": "8.0.2",
+          "Microsoft.IdentityModel.Tokens": "7.5.2",
+          "System.IdentityModel.Tokens.Jwt": "7.5.2",
+          "Yitter.IdGenerator": "1.0.14"
+        },
+        "runtime": {
+          "lib/net8.0/DFS.Infrastructure.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.0.0"
+          }
+        }
+      },
+      "Microsoft.Extensions.DependencyInjection/8.0.0": {
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        }
+      },
+      "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.324.11423"
+          }
+        }
+      },
+      "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.324.11423"
+          }
+        }
+      },
+      "Microsoft.Extensions.Options/8.0.2": {
+        "dependencies": {
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Primitives": "8.0.0"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Options.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.224.6711"
+          }
+        }
+      },
+      "Microsoft.Extensions.Primitives/8.0.0": {
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Abstractions/7.5.2": {
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.JsonWebTokens/7.5.2": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Tokens": "7.5.2"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Logging/7.5.2": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Abstractions": "7.5.2"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Logging.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
+      "Microsoft.IdentityModel.Tokens/7.5.2": {
+        "dependencies": {
+          "Microsoft.IdentityModel.Logging": "7.5.2"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.IdentityModel.Tokens.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
       "Newtonsoft.Json/13.0.4": {
         "runtime": {
           "lib/net6.0/Newtonsoft.Json.dll": {
@@ -21,6 +137,26 @@
             "fileVersion": "13.0.4.30916"
           }
         }
+      },
+      "System.IdentityModel.Tokens.Jwt/7.5.2": {
+        "dependencies": {
+          "Microsoft.IdentityModel.JsonWebTokens": "7.5.2",
+          "Microsoft.IdentityModel.Tokens": "7.5.2"
+        },
+        "runtime": {
+          "lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": {
+            "assemblyVersion": "7.5.2.0",
+            "fileVersion": "7.5.2.50513"
+          }
+        }
+      },
+      "Yitter.IdGenerator/1.0.14": {
+        "runtime": {
+          "lib/netstandard2.0/Yitter.IdGenerator.dll": {
+            "assemblyVersion": "1.0.14.0",
+            "fileVersion": "1.0.14.0"
+          }
+        }
       }
     }
   },
@@ -32,12 +168,103 @@
       "path": "antdui/2.2.3",
       "hashPath": "antdui.2.2.3.nupkg.sha512"
     },
+    "BouncyCastle.Cryptography/2.3.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-buwoISwecYke3CmgG1AQSg+sNZjJeIb93vTAtJiHZX35hP/teYMxsfg0NDXGUKjGx6BKBTNKc77O2M3vKvlXZQ==",
+      "path": "bouncycastle.cryptography/2.3.1",
+      "hashPath": "bouncycastle.cryptography.2.3.1.nupkg.sha512"
+    },
+    "DFS.Infrastructure/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-mM0br4D8urZrRqDdOSwVBmZ+xAOaWrYJrihkotRrdmUtUKiDFqsBy6Hg8jkNuilU1W6TfOfuvgkUUH9K24KKNw==",
+      "path": "dfs.infrastructure/8.0.0",
+      "hashPath": "dfs.infrastructure.8.0.0.nupkg.sha512"
+    },
+    "Microsoft.Extensions.DependencyInjection/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==",
+      "path": "microsoft.extensions.dependencyinjection/8.0.0",
+      "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512"
+    },
+    "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fGLiCRLMYd00JYpClraLjJTNKLmMJPnqxMaiRzEBIIvevlzxz33mXy39Lkd48hu1G+N21S7QpaO5ZzKsI6FRuA==",
+      "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.1",
+      "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512"
+    },
+    "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-RIFgaqoaINxkM2KTOw72dmilDmTrYA0ns2KW4lDz4gZ2+o6IQ894CzmdL3StM2oh7QQq44nCWiqKqc4qUI9Jmg==",
+      "path": "microsoft.extensions.logging.abstractions/8.0.1",
+      "hashPath": "microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512"
+    },
+    "Microsoft.Extensions.Options/8.0.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
+      "path": "microsoft.extensions.options/8.0.2",
+      "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512"
+    },
+    "Microsoft.Extensions.Primitives/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
+      "path": "microsoft.extensions.primitives/8.0.0",
+      "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Abstractions/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-xXFP4PUcI/l4n3hpw4TXbvONNTQ9WflyMxUx03qNJXSd7dVtxbFrL+B9+IevMwzvktZjTVfMdDlzQoTzdtN1bA==",
+      "path": "microsoft.identitymodel.abstractions/7.5.2",
+      "hashPath": "microsoft.identitymodel.abstractions.7.5.2.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.JsonWebTokens/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-gH3c88+YdT5QI6Rw2nnwjDUxzLgPPPbjMvUwvJrITyNAV3L5aswqxKIlmyQhaqltjGBGrMsCZCKwampWEMDN2w==",
+      "path": "microsoft.identitymodel.jsonwebtokens/7.5.2",
+      "hashPath": "microsoft.identitymodel.jsonwebtokens.7.5.2.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Logging/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-FpMJ2i1e8Z+1rAchYQiawk0ChwYv6CNtCQDtMzwzkZtUWQYmkrkLXzl3qniOT8FFQck7bPKhQJY6nU7P7tojwQ==",
+      "path": "microsoft.identitymodel.logging/7.5.2",
+      "hashPath": "microsoft.identitymodel.logging.7.5.2.nupkg.sha512"
+    },
+    "Microsoft.IdentityModel.Tokens/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-VFLS4Ajy5jadM/YV9x3FA4pHHwbEWTjkbN/RtShqVH8eI8j6UDg5522ogTx1iMLJKQdL9QbfxXx4d1+w1eCDgQ==",
+      "path": "microsoft.identitymodel.tokens/7.5.2",
+      "hashPath": "microsoft.identitymodel.tokens.7.5.2.nupkg.sha512"
+    },
     "Newtonsoft.Json/13.0.4": {
       "type": "package",
       "serviceable": true,
       "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
       "path": "newtonsoft.json/13.0.4",
       "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
+    },
+    "System.IdentityModel.Tokens.Jwt/7.5.2": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-taMjs3z9+tTYNhdD5g5XU89gMcqX7PSI6oji7yZXK8E4T1XjsZR5yDLdIqC1PVKYL5FAlrNWBNBaLshuESYHlw==",
+      "path": "system.identitymodel.tokens.jwt/7.5.2",
+      "hashPath": "system.identitymodel.tokens.jwt.7.5.2.nupkg.sha512"
+    },
+    "Yitter.IdGenerator/1.0.14": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-F4nOJ7Geq41vgNWX9E6/vkxRzFInACGpDp4Kad2mA2WIKhEwgPyE9FpulBAuEmDByrfHHz6mOII3IIeLJAh91g==",
+      "path": "yitter.idgenerator/1.0.14",
+      "hashPath": "yitter.idgenerator.1.0.14.nupkg.sha512"
     }
   }
 }

BIN
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.dll


BIN
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/mCardSystem.pdb


BIN
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/ref/mCardSystem.dll


BIN
mCardSystem/mCardSystem/obj/x86/Debug/net8.0-windows/refint/mCardSystem.dll