- Update gestione spostamento fasi con stored clona/sposta
- gestione abilitazione rapida azioni da stato sel
- ottimizzazione meccanismo preselezione cli/proj
This commit is contained in:
Samuele Locatelli
2024-10-03 10:04:19 +02:00
parent b072312a71
commit ac5c8b3880
10 changed files with 556 additions and 135 deletions
+121 -2
View File
@@ -427,6 +427,66 @@ namespace GPW.CORE.Data.Controllers
return answ;
}
/// <summary>
/// Esegue stored x DUPLICARE Fase (ancestor) tra progetti
/// </summary>
/// <param name="idxProjDest"></param>
/// <param name="idxFaseSrc"></param>
/// <returns></returns>
public bool AnagFasiDupFase(int idxProjDest, int idxFaseSrc)
{
bool fatto = false;
// cerco su DB recuperando set di dati....
using (GPWContext dbCtx = new GPWContext(_configuration))
{
try
{
var pIdxPrj = new SqlParameter("@idxProgetto", idxProjDest);
var pIdxFase = new SqlParameter("@Original_idxFase", idxFaseSrc);
var dbResult = dbCtx
.Database
.ExecuteSqlRaw("EXEC stp_AF_clonaFaseAnc @idxProgetto, @Original_idxFase", pIdxPrj, pIdxFase);
fatto = dbResult != 0;
}
catch (Exception exc)
{
Log.Error($"Errore in AnagFasiDupFase:{Environment.NewLine}{exc}");
}
}
return fatto;
}
/// <summary>
/// Esegue stored x DUPLICARE SottoFase in un altra Fase (ancestor)
/// </summary>
/// <param name="idxFaseDest"></param>
/// <param name="idxFaseSrc"></param>
/// <returns></returns>
public bool AnagFasiDupSubFase(int idxFaseDest, int idxFaseSrc)
{
bool fatto = false;
// cerco su DB recuperando set di dati....
using (GPWContext dbCtx = new GPWContext(_configuration))
{
try
{
var pIdxFaseDest = new SqlParameter("@idxFaseAncest", idxFaseDest);
var pIdxFaseSrc = new SqlParameter("@Original_idxFase", idxFaseSrc);
var dbResult = dbCtx
.Database
.ExecuteSqlRaw("EXEC stp_AF_clonaFase @idxFaseAncest, @Original_idxFase", pIdxFaseDest, pIdxFaseSrc);
fatto = dbResult != 0;
}
catch (Exception exc)
{
Log.Error($"Errore in AnagFasiDupSubFase:{Environment.NewLine}{exc}");
}
}
return fatto;
}
/// <summary>
/// Elenco FasiExpl dato chiave progetto
/// </summary>
@@ -485,6 +545,66 @@ namespace GPW.CORE.Data.Controllers
return result != 0;
}
/// <summary>
/// Esegue stored x spostare Fase (ancestor) tra progetti
/// </summary>
/// <param name="idxProjDest"></param>
/// <param name="idxFaseSrc"></param>
/// <returns></returns>
public bool AnagFasiMovFase(int idxProjDest, int idxFaseSrc)
{
bool fatto = false;
// cerco su DB recuperando set di dati....
using (GPWContext dbCtx = new GPWContext(_configuration))
{
try
{
var pIdxPrj = new SqlParameter("@idxProgetto", idxProjDest);
var pIdxFase = new SqlParameter("@Original_idxFase", idxFaseSrc);
var dbResult = dbCtx
.Database
.ExecuteSqlRaw("EXEC stp_AF_updateProgetto @idxProgetto, @Original_idxFase", pIdxPrj, pIdxFase);
fatto = dbResult != 0;
}
catch (Exception exc)
{
Log.Error($"Errore in AnagFasiMovFase:{Environment.NewLine}{exc}");
}
}
return fatto;
}
/// <summary>
/// Esegue stored x spostare SottoFase in un altra Fase (ancestor)
/// </summary>
/// <param name="idxFaseDest"></param>
/// <param name="idxFaseSrc"></param>
/// <returns></returns>
public bool AnagFasiMovSubFase(int idxFaseDest, int idxFaseSrc)
{
bool fatto = false;
// cerco su DB recuperando set di dati....
using (GPWContext dbCtx = new GPWContext(_configuration))
{
try
{
var pIdxFaseDest = new SqlParameter("@idxFaseAncest", idxFaseDest);
var pIdxFaseSrc = new SqlParameter("@Original_idxFase", idxFaseSrc);
var dbResult = dbCtx
.Database
.ExecuteSqlRaw("EXEC stp_AF_updateFaseAncest @idxFaseAncest, @Original_idxFase", pIdxFaseDest, pIdxFaseSrc);
fatto = dbResult != 0;
}
catch (Exception exc)
{
Log.Error($"Errore in AnagFasiMovSubFase:{Environment.NewLine}{exc}");
}
}
return fatto;
}
/// <summary>
/// Esecuzione upsert fase
/// </summary>
@@ -789,7 +909,6 @@ namespace GPW.CORE.Data.Controllers
return dbResult;
}
/// <summary>
/// Recupera elenco record da idx cliente
/// </summary>
@@ -806,7 +925,7 @@ namespace GPW.CORE.Data.Controllers
// recupero intero set....
dbResult = dbCtx
.DbSetAnagProgetti
.Where(x => x.IdxCliente==idxCliente)
.Where(x => x.IdxCliente == idxCliente)
.OrderBy(x => x.NomeProj)
.ToList();
}