Merge remote-tracking branch 'gitlab.seriate/DataLayer' into feature/ModificheDaDB

This commit is contained in:
Emmanuele Sassi
2023-06-15 13:00:10 +02:00
@@ -2,6 +2,7 @@
using NLog;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using static EgtBEAMWALL.Core.ConstBeam;
@@ -328,6 +329,37 @@ namespace EgtBEAMWALL.DataLayer.Controllers
}
return answ;
}
/// <summary>
/// Elenco progetti
/// </summary>
/// <param name="dtStart">Inizio periodo estrazione</param>
/// <param name="dtEnd">Fine periodo estrazione</param>
/// <param name="numRecord">Num max record da recuperare</param>
/// <param name="OnlyActive">Solo i record attivi (senza cancellazione logica)</param>
/// <returns></returns>
public List<Core.ProjFileM> GetLastDesc(DateTime dtStart, DateTime dtEnd, int numRecord, bool OnlyActive)
{
List<Core.ProjFileM> answ = new List<Core.ProjFileM>();
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
{
// se numRecord = 0 --> passo tutti
if (numRecord == 0)
{
numRecord = localDbCtx.ProjList.Count();
}
// retrieve
var dbRes = localDbCtx
.ProjList
.Where(x => (x.DtCreated >= dtStart && x.DtCreated <= dtEnd) && (!OnlyActive || x.IsActive))
.OrderByDescending(x => x.ProjId)
.Take(numRecord)
.ToList();
// conversione
answ = dbRes.Select(x => coreConv(x)).ToList();
}
return answ;
}
/// <summary>
/// Fornisce nuovo indice VUOTO da usare (allocando sul DB)