Files
Mapo-IOB/SMGen/Components/FilesList.razor.cs
T
2023-07-25 15:37:42 +02:00

73 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using System.Net.Http;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Components.Routing;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Web.Virtualization;
using Microsoft.JSInterop;
using SMGen;
using SMGen.Shared;
using SMGen.Components;
using SMGen.Data;
namespace SMGen.Components
{
public partial class FilesList
{
[Parameter]
public Dictionary<string, bool> FilesStatus { get; set; } = new Dictionary<string, bool>();
public Dictionary<string, bool> FilesStatusTemp { get; set; } = new Dictionary<string, bool>();
[Parameter]
public Dictionary<string, string> Files2Download { get; set; } = new Dictionary<string, string>();
[Parameter]
public EventCallback<bool> PagerResetReq { get; set; }
[Parameter]
public EventCallback<int> updateRecordCount { get; set; }
[Parameter]
public SelectSMIn2EvParams currFilter { get; set; } = null!;
private int currPage
{
get => currFilter.CurrPage;
set => currFilter.CurrPage = value;
}
private int numRecord
{
get => currFilter.NumRec;
set => currFilter.NumRec = value;
}
private int _totalCount { get; set; } = 0;
private int totalCount
{
get => _totalCount;
set
{
if (_totalCount != value)
{
_totalCount = value;
updateRecordCount.InvokeAsync(value);
}
}
}
protected override async Task OnParametersSetAsync()
{
await ReloadData();
}
protected async Task ReloadData()
{
await Task.Delay(1);
FilesStatusTemp = FilesStatus;
totalCount = FilesStatusTemp.Count;
FilesStatus = FilesStatusTemp.Skip(numRecord * (currPage - 1)).Take(numRecord).ToDictionary(x => x.Key, y => y.Value);
await InvokeAsync(() => StateHasChanged());
}
}
}