SPEC Reparti:

- OK editing
- ok add
This commit is contained in:
Samuele Locatelli
2025-04-16 07:40:41 +02:00
parent de68e33118
commit da4613bf8c
12 changed files with 336 additions and 173 deletions
+147 -92
View File
@@ -83,6 +83,31 @@ namespace MP.Data.Controllers
return AnagGruppiGetTipo("AZIENDA");
}
/// <summary>
/// Delete record AnagraficaGruppi
/// </summary>
/// <returns></returns>
public bool AnagGruppiDelete(AnagGruppiModel updRec)
{
bool answ = false;
using (var dbCtx = new MoonProContext(_configuration))
{
var dbRec = dbCtx
.DbSetAnagGruppi
.AsNoTracking()
.Where(x => x.CodGruppo == updRec.CodGruppo)
.FirstOrDefault();
// se trovato aggiorno descrizione (resto immutato x sicurezza!)
if (dbRec != null)
{
dbCtx.DbSetAnagGruppi.Remove(dbRec);
}
var numRes = dbCtx.SaveChanges();
answ = numRes != 0;
}
return answ;
}
/// <summary>
/// Elenco Gruppi tipo Fasi
/// </summary>
@@ -91,6 +116,45 @@ namespace MP.Data.Controllers
{
return AnagGruppiGetTipo("FASE");
}
/// <summary>
/// Elenco Gruppi
/// </summary>
/// <returns></returns>
public List<AnagGruppiModel> AnagGruppiGetAll()
{
List<AnagGruppiModel> dbResult = new List<AnagGruppiModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
.DbSetAnagGruppi
.AsNoTracking()
.OrderBy(x => x.CodGruppo)
.ToList();
}
return dbResult;
}
/// <summary>
/// Gruppi x tipo
/// </summary>
/// <param name="tipoGruppo"></param>
/// <returns></returns>
public List<AnagGruppiModel> AnagGruppiGetTipo(string tipoGruppo)
{
List<AnagGruppiModel> dbResult = new List<AnagGruppiModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
.DbSetAnagGruppi
.Where(x => x.TipoGruppo == tipoGruppo)
.AsNoTracking()
.OrderBy(x => x.CodGruppo)
.ToList();
}
return dbResult;
}
/// <summary>
/// Elenco Gruppi tipo REPARTO (x associazione Macchine-Operatori)
/// </summary>
@@ -138,44 +202,36 @@ namespace MP.Data.Controllers
return dbResult;
}
/// <summary>
/// Elenco Gruppi
/// Upsert record AnagraficaGruppi (solo codice/descrizione)
/// </summary>
/// <param name="updRec"></param>
/// <returns></returns>
public List<AnagGruppiModel> AnagGruppiGetAll()
public bool AnagGruppiUpsert(AnagGruppiModel updRec)
{
List<AnagGruppiModel> dbResult = new List<AnagGruppiModel>();
bool answ = false;
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
var dbRec = dbCtx
.DbSetAnagGruppi
.AsNoTracking()
.OrderBy(x => x.CodGruppo)
.ToList();
.Where(x => x.CodGruppo == updRec.CodGruppo)
.FirstOrDefault();
// se trovato aggiorno descrizione (resto immutato x sicurezza!)
if (dbRec != null)
{
dbRec.DescrGruppo = updRec.DescrGruppo;
dbCtx.Entry(dbRec).State = EntityState.Modified;
}
// altrimenti aggiungo
else
{
dbCtx.DbSetAnagGruppi.Add(updRec);
}
var numRes = dbCtx.SaveChanges();
answ = numRes != 0;
}
return dbResult;
}
/// <summary>
/// Gruppi x tipo
/// </summary>
/// <param name="tipoGruppo"></param>
/// <returns></returns>
public List<AnagGruppiModel> AnagGruppiGetTipo(string tipoGruppo)
{
List<AnagGruppiModel> dbResult = new List<AnagGruppiModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
.DbSetAnagGruppi
.Where(x => x.TipoGruppo == tipoGruppo)
.AsNoTracking()
.OrderBy(x => x.CodGruppo)
.ToList();
}
return dbResult;
return answ;
}
/// <summary>
@@ -196,26 +252,6 @@ namespace MP.Data.Controllers
return dbResult;
}
/// <summary>
/// Elenco operatori
/// </summary>
/// <returns></returns>
public List<AnagOperatoriModel> ElencoOperatori()
{
List<AnagOperatoriModel> dbResult = new List<AnagOperatoriModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
.DbOperatori
.Where(s => s.MatrOpr > 0)
.AsNoTracking()
.OrderBy(x => x.MatrOpr)
.ToList();
}
return dbResult;
}
/// <summary>
/// Elenco valori ammessi x Stati commessa (es Yacht Baglietto)
/// </summary>
@@ -628,6 +664,25 @@ namespace MP.Data.Controllers
return ListLinkFilt("SpecLink");
}
/// <summary>
/// Elenco operatori
/// </summary>
/// <returns></returns>
public List<AnagOperatoriModel> ElencoOperatori()
{
List<AnagOperatoriModel> dbResult = new List<AnagOperatoriModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
.DbOperatori
.Where(s => s.MatrOpr > 0)
.AsNoTracking()
.OrderBy(x => x.MatrOpr)
.ToList();
}
return dbResult;
}
/// <summary>
/// Aggiunta record EventList
/// </summary>
@@ -1247,49 +1302,6 @@ namespace MP.Data.Controllers
return dbResult;
}
/// <summary>
/// Elenco da tabella Operatori filtro x gruppo
/// </summary>
/// <param name="codGruppo"></param>
/// <returns></returns>
public List<AnagOperatoriModel> OperatoriGetFilt(string codGruppo)
{
List<AnagOperatoriModel> dbResult = new List<AnagOperatoriModel>();
try
{
using (var dbCtx = new MoonProContext(_configuration))
{
if (codGruppo == "*")
{
dbResult = dbCtx
.DbOperatori
.AsNoTracking()
.OrderBy(x => x.MatrOpr)
.ToList();
}
else
{
dbResult = dbCtx
.DbSetGrp2Oper
.Where(g => g.CodGruppo == codGruppo)
.Join(dbCtx.DbOperatori,
g => g.MatrOpr,
m => m.MatrOpr,
(g, m) => m
)
.AsNoTracking()
.OrderBy(x => x.MatrOpr)
.ToList();
}
}
}
catch (Exception exc)
{
Log.Error($"Eccezione in OperatoriGetFilt{Environment.NewLine}{exc}");
}
return dbResult;
}
/// <summary>
/// Elenco id Macchine che abbiano dati FLuxLog, nel periodo indicato
/// </summary>
@@ -1549,6 +1561,49 @@ namespace MP.Data.Controllers
return dbResult;
}
/// <summary>
/// Elenco da tabella Operatori filtro x gruppo
/// </summary>
/// <param name="codGruppo"></param>
/// <returns></returns>
public List<AnagOperatoriModel> OperatoriGetFilt(string codGruppo)
{
List<AnagOperatoriModel> dbResult = new List<AnagOperatoriModel>();
try
{
using (var dbCtx = new MoonProContext(_configuration))
{
if (codGruppo == "*")
{
dbResult = dbCtx
.DbOperatori
.AsNoTracking()
.OrderBy(x => x.MatrOpr)
.ToList();
}
else
{
dbResult = dbCtx
.DbSetGrp2Oper
.Where(g => g.CodGruppo == codGruppo)
.Join(dbCtx.DbOperatori,
g => g.MatrOpr,
m => m.MatrOpr,
(g, m) => m
)
.AsNoTracking()
.OrderBy(x => x.MatrOpr)
.ToList();
}
}
}
catch (Exception exc)
{
Log.Error($"Eccezione in OperatoriGetFilt{Environment.NewLine}{exc}");
}
return dbResult;
}
/// <summary>
/// Elenco parametri validi x una data macchina
/// </summary>