Wallet.razor.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using System.Threading.Tasks;
  2. using Microsoft.AspNetCore.Components;
  3. using HyperCube.Models;
  4. namespace HyperCube.Pages
  5. {
  6. public partial class Wallet
  7. {
  8. [Inject]
  9. public AppData AppData { get; set; }
  10. private AccountModel account = new();
  11. string myBalance = "";
  12. protected override async Task OnInitializedAsync()
  13. {
  14. account = AppData.CurrentAccount;
  15. if (Blockchain.GetMain() != null)
  16. myBalance = await account.GetBalance();
  17. }
  18. bool admin
  19. {
  20. get { return account.Roles.Contains(Role.Admin); }
  21. set
  22. {
  23. if (!account.Roles.Contains(Role.Admin))
  24. {
  25. account.AddRole(Role.Admin);
  26. InsertRole(Role.Admin);
  27. }
  28. else
  29. {
  30. account.RemoveRole(Role.Admin);
  31. DeleteRole(Role.Admin);
  32. }
  33. }
  34. }
  35. bool initiator
  36. {
  37. get { return account.Roles.Contains(Role.Initiator); }
  38. set
  39. {
  40. if (!account.Roles.Contains(Role.Initiator))
  41. {
  42. account.AddRole(Role.Initiator);
  43. InsertRole(Role.Initiator);
  44. }
  45. else
  46. {
  47. account.RemoveRole(Role.Initiator);
  48. DeleteRole(Role.Initiator);
  49. }
  50. }
  51. }
  52. bool verifier
  53. {
  54. get { return account.Roles.Contains(Role.Verifier); }
  55. set
  56. {
  57. if (!account.Roles.Contains(Role.Verifier))
  58. {
  59. account.AddRole(Role.Verifier);
  60. InsertRole(Role.Verifier);
  61. }
  62. else
  63. {
  64. account.RemoveRole(Role.Verifier);
  65. DeleteRole(Role.Verifier);
  66. }
  67. }
  68. }
  69. bool requester
  70. {
  71. get { return account.Roles.Contains(Role.Requester); }
  72. set
  73. {
  74. if (!account.Roles.Contains(Role.Requester))
  75. {
  76. account.AddRole(Role.Requester);
  77. InsertRole(Role.Requester);
  78. }
  79. else
  80. {
  81. account.RemoveRole(Role.Requester);
  82. DeleteRole(Role.Requester);
  83. }
  84. }
  85. }
  86. private async Task InsertRole(Role role)
  87. {
  88. await MySQLConnector.Instance().SQLInsert($"insert into account_roles (account_uuid, role_id) values ('{account.UUID}', {(int)role})");
  89. }
  90. private async Task DeleteRole(Role role)
  91. {
  92. await MySQLConnector.Instance().SQLInsert($"delete from account_roles where account_uuid = '{account.UUID}' and role_id={(int)role}");
  93. }
  94. }
  95. }