|
@@ -74,58 +74,19 @@ namespace HyperCube.Pages
|
|
|
bool loadButtonDisable { get; set; }
|
|
|
bool verifyButtonDisable { get; set; }
|
|
|
|
|
|
+ bool rejectReasonDisable { get; set; }
|
|
|
+
|
|
|
protected override async Task OnInitializedAsync()
|
|
|
{
|
|
|
- ///tmp
|
|
|
- await AppData.LoadArticles();
|
|
|
-
|
|
|
- _article = AppData.CurrentArticle ?? (new());
|
|
|
- _articleClone = AppData.CurrentArticleClone ?? (new());
|
|
|
-
|
|
|
_currentAccount = (AppData.CurrentAccount != null) ? AppData.CurrentAccount : await GetCurrentAcc();
|
|
|
_currentAccount.LoadRoles();
|
|
|
Console.WriteLine($"Desktop OnInitializedAsync, CurrentAccount: {_currentAccount.Name}");
|
|
|
|
|
|
- if (_currentAccount.Roles.Contains(Role.Admin))
|
|
|
- {
|
|
|
- loadButtonDisable = false;
|
|
|
- verifyButtonDisable = false;
|
|
|
-
|
|
|
- _articles = AppData.Articles;
|
|
|
- }
|
|
|
- else if (_currentAccount.Roles.Contains(Role.Expert))
|
|
|
- {
|
|
|
- loadButtonDisable = true;
|
|
|
- verifyButtonDisable = false;
|
|
|
-
|
|
|
- foreach (ArticleModel article in AppData.Articles.Values)
|
|
|
- {
|
|
|
- if (article.Status == ArticleStatus.AwatingVerify || article.Status == ArticleStatus.Verifying)
|
|
|
- _articles.Add(article.ID, article);
|
|
|
- }
|
|
|
-
|
|
|
- SwitchDesktopTab(1);
|
|
|
- }
|
|
|
- else if (_currentAccount.Roles.Contains(Role.Miner))
|
|
|
- {
|
|
|
- loadButtonDisable = false;
|
|
|
- verifyButtonDisable = true;
|
|
|
-
|
|
|
- foreach (ArticleModel article in AppData.Articles.Values)
|
|
|
- {
|
|
|
- if (article.Status == ArticleStatus.New || article.Status == ArticleStatus.Saved)
|
|
|
- _articles.Add(article.ID, article);
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- loadButtonDisable = true;
|
|
|
- verifyButtonDisable = true;
|
|
|
-
|
|
|
- _articles = AppData.Articles;
|
|
|
+ ///tmp
|
|
|
+ await LoadArticles();
|
|
|
|
|
|
- SwitchDesktopTab(2);
|
|
|
- }
|
|
|
+ _article = AppData.CurrentArticle ?? (new());
|
|
|
+ _articleClone = AppData.CurrentArticleClone ?? (new());
|
|
|
}
|
|
|
|
|
|
protected override void OnAfterRender(bool firstRender) => _counter = 1;
|
|
@@ -450,7 +411,7 @@ namespace HyperCube.Pages
|
|
|
_articleClone = (ArticleModel)_article.Clone();
|
|
|
|
|
|
/// reloading articles
|
|
|
- await AppData.LoadArticles();
|
|
|
+ await LoadArticles();
|
|
|
|
|
|
_counter = 1;
|
|
|
|
|
@@ -617,7 +578,7 @@ namespace HyperCube.Pages
|
|
|
_articleClone = (ArticleModel)_article.Clone();
|
|
|
|
|
|
/// reloading articles
|
|
|
- await AppData.LoadArticles();
|
|
|
+ await LoadArticles();
|
|
|
|
|
|
_modalLoading.Close();
|
|
|
|
|
@@ -673,6 +634,59 @@ namespace HyperCube.Pages
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ void Rejected_OnChange()
|
|
|
+ {
|
|
|
+ rejectReasonDisable = !_verificationPoint.Rejected;
|
|
|
+ }
|
|
|
+
|
|
|
+ async Task LoadArticles()
|
|
|
+ {
|
|
|
+ /// reloading articles
|
|
|
+ await AppData.LoadArticles();
|
|
|
+
|
|
|
+ ///updating local articles and UI on role claims
|
|
|
+ if (_currentAccount.Roles.Contains(Role.Admin))
|
|
|
+ {
|
|
|
+ loadButtonDisable = false;
|
|
|
+ verifyButtonDisable = false;
|
|
|
+
|
|
|
+ _articles = AppData.Articles;
|
|
|
+ }
|
|
|
+ else if (_currentAccount.Roles.Contains(Role.Expert))
|
|
|
+ {
|
|
|
+ loadButtonDisable = true;
|
|
|
+ verifyButtonDisable = false;
|
|
|
+
|
|
|
+ foreach (ArticleModel article in AppData.Articles.Values)
|
|
|
+ {
|
|
|
+ if (article.Status == ArticleStatus.AwatingVerify || article.Status == ArticleStatus.Verifying)
|
|
|
+ _articles.Add(article.ID, article);
|
|
|
+ }
|
|
|
+
|
|
|
+ SwitchDesktopTab(1);
|
|
|
+ }
|
|
|
+ else if (_currentAccount.Roles.Contains(Role.Miner))
|
|
|
+ {
|
|
|
+ loadButtonDisable = false;
|
|
|
+ verifyButtonDisable = true;
|
|
|
+
|
|
|
+ foreach (ArticleModel article in AppData.Articles.Values)
|
|
|
+ {
|
|
|
+ if (article.Status == ArticleStatus.New || article.Status == ArticleStatus.Saved)
|
|
|
+ _articles.Add(article.ID, article);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ loadButtonDisable = true;
|
|
|
+ verifyButtonDisable = true;
|
|
|
+
|
|
|
+ _articles = AppData.Articles;
|
|
|
+
|
|
|
+ SwitchDesktopTab(2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async Task<string> CalculateHashSum(MemoryStream ms)
|
|
|
{
|
|
|
MD5CryptoServiceProvider md5Provider = new();
|