Files
2025-07-04 10:54:30 +02:00

127 lines
3.7 KiB
C#

using EgwCoreLib.Razor;
using Microsoft.AspNetCore.Components;
using MP.Data.DbModels;
using MP.Data.Services;
using System;
using System.Collections.Generic;
using System.Linq;
namespace MP.Land.Components
{
public partial class DbInfoMan
{
#region Protected Properties
[Inject]
protected LandDataService LDService { get; set; }
protected List<DbSizeModel> ListRecord { get; set; } = new List<DbSizeModel>();
#endregion Protected Properties
#region Protected Methods
protected override void OnParametersSet()
{
ReloadData();
}
protected void SortRequested(Sorter.SortCallBack e)
{
if (sortField == e.ParamName)
{
sortAsc = e.IsAscending;
}
sortField = e.ParamName;
RefreshDisplay();
}
#endregion Protected Methods
#region Private Fields
private bool sortAsc = true;
private string sortField = "";
#endregion Private Fields
#region Private Methods
private void RefreshDisplay()
{
// se ho ordinamento riordino...
if (!string.IsNullOrEmpty(sortField))
{
switch (sortField)
{
case "DbName":
if (sortAsc)
{
ListRecord = ListRecord.OrderBy(x => x.DbName).ToList();
}
else
{
ListRecord = ListRecord.OrderByDescending(x => x.DbName).ToList();
}
break;
case "DbSizeMb":
if (sortAsc)
{
ListRecord = ListRecord.OrderBy(x => x.DbSizeMb).ToList();
}
else
{
ListRecord = ListRecord.OrderByDescending(x => x.DbSizeMb).ToList();
}
break;
case "NumTable":
if (sortAsc)
{
ListRecord = ListRecord.OrderBy(x => x.NumTables).ToList();
}
else
{
ListRecord = ListRecord.OrderByDescending(x => x.NumTables).ToList();
}
break;
case "BigTable":
if (sortAsc)
{
ListRecord = ListRecord.OrderBy(x => x.BigTable).ToList();
}
else
{
ListRecord = ListRecord.OrderByDescending(x => x.BigTable).ToList();
}
break;
case "BigTableRows":
if (sortAsc)
{
ListRecord = ListRecord.OrderBy(x => x.BigTableRows).ToList();
}
else
{
ListRecord = ListRecord.OrderByDescending(x => x.BigTableRows).ToList();
}
break;
default:
ListRecord = ListRecord.OrderBy(x => x.DbName).ToList();
break;
}
}
}
private void ReloadData()
{
ListRecord = LDService.AllDbInfo();
}
#endregion Private Methods
}
}