using Microsoft.AspNetCore.Components; using Microsoft.CodeAnalysis.VisualBasic.Syntax; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; namespace WebDoorCreator.UI.Components.FilesMan { public partial class VocRefresh { [Inject] protected WebDoorCreatorService WDCService { get; set; } = null!; [Parameter] public string lang { get; set; } = ""; protected Dictionary>? vocLemmas { get; set; } = null; protected Dictionary vocLemmas2Dict { get; set; } = new Dictionary(); protected Dictionary>? vocLemmasTEMP { get; set; } = null; protected Dictionary vocLemmasTEMP2Dict { get; set; } = new Dictionary(); protected bool showList { get; set; } = true;//false; protected bool isLoading { get; set; } = false; protected async override Task OnParametersSetAsync() { var rawVoc = await WDCService.VocLemmaGetAll(); if (rawVoc != null) { vocLemmas = rawVoc.Where(x => x.Key == lang).ToDictionary(x => x.Key, x => x.Value); if (vocLemmas != null) { foreach (var kvp in vocLemmas) { foreach (var item in kvp.Value) { vocLemmas2Dict.Add(item.Key, item.Value); } } } } } #if false var s = dmp.diff_main(vocLemmas2Dict["11"], newText.Value); dmp.diff_cleanupSemantic(s); foreach (var diffes in s) { if (diffes.operation == Operation.DELETE) { diff.Add(diffes); } } #endif Dictionary> listVocLemmaTemp = new Dictionary>(); protected async Task refreshVoc() { isLoading = true; vocLemmasTEMP = null; await Task.Delay(1); list2Mod = await WDCService.VocLemmaInsertPrepare(@$"{defaultPath}"); if (list2Mod != null) { listVocLemmaTemp = await WDCService.VocLemmaTEMPGetAll(); if (listVocLemmaTemp != null) { vocLemmasTEMP = listVocLemmaTemp.Where(x => x.Key == lang).ToDictionary(x => x.Key, x => x.Value); if (vocLemmasTEMP != null) { foreach (var kvp in vocLemmasTEMP) { foreach (var item in kvp.Value) { vocLemmasTEMP2Dict.Add(item.Key, item.Value); } } } } } isLoading = false; showList = true; } List list2Mod = new List(); protected string result { get; set; } = "Not Done"; protected async Task saveVoc() { var done = await WDCService.VocLemmaInsert(); if (done) { result = "Done"; vocLemmas2Dict.Clear(); vocLemmasTEMP2Dict.Clear(); } } protected bool isReady2Save(string lemma) { bool isConf = false; var tempModTerm = Task.Run(async () => await WDCService.VocLemmaFindByKeys(lang, lemma)).Result; if (tempModTerm != null) { isConf = tempModTerm.IsConfSave; } return isConf; } protected string setBtnClass(bool isCon) { string answ = "btn-secondary"; if (isCon) { answ = "btn-success"; } return answ; } protected async Task setConf(string lemma) { var tempModTerm = await WDCService.VocLemmaFindByKeys(lang, lemma); if (tempModTerm != null) { var done = await WDCService.VocLemmaSetConf(tempModTerm.Lingua, tempModTerm.Lemma, !tempModTerm.IsConfSave); } } protected string defaultPath { get; set; } = ""; } }