Continuo spostamento metodi nel repository Anag
This commit is contained in:
@@ -12,10 +12,16 @@ namespace MP.Data.Repository.Anag
|
||||
{
|
||||
public class AnagRepository : BaseRepository, IAnagRepository
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
public AnagRepository(IDbContextFactory<MoonProContext> ctxFactory) : base(ctxFactory)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<AnagCountersModel> AnagCountersGetNextAsync(string cntType)
|
||||
{
|
||||
@@ -189,20 +195,6 @@ namespace MP.Data.Repository.Anag
|
||||
return await ListValuesFiltAsync("AnagArticoli", "Tipo");
|
||||
}
|
||||
|
||||
#if false
|
||||
/// <inheritdoc />
|
||||
public async Task<List<string>> ArticleWithDossierAsync()
|
||||
{
|
||||
using var dbCtx = new MoonPro_FluxContext(_configuration);
|
||||
return await dbCtx
|
||||
.DbSetDossiers
|
||||
.AsNoTracking()
|
||||
.Select(i => i.CodArticolo)
|
||||
.Distinct()
|
||||
.ToListAsync();
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<int> ArticoliCountAsync()
|
||||
{
|
||||
@@ -236,6 +228,19 @@ namespace MP.Data.Repository.Anag
|
||||
return await query.OrderBy(x => x.CodArticolo).CountAsync();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<int> ArticoliCountUsedAsync()
|
||||
{
|
||||
await using var dbCtx = await CreateContextAsync();
|
||||
var result = await dbCtx
|
||||
.DbSetCounter
|
||||
.FromSqlRaw("EXEC stp_ART_CountUsed")
|
||||
.AsNoTracking()
|
||||
.ToListAsync();
|
||||
|
||||
return result.FirstOrDefault()?.NumCount ?? 0;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<bool> ArticoliDeleteRecordAsync(AnagArticoliModel currRec)
|
||||
{
|
||||
@@ -380,6 +385,36 @@ namespace MP.Data.Repository.Anag
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<List<AnagOperatoriModel>> OperatoriGetFiltAsync(string codGruppo)
|
||||
{
|
||||
List<AnagOperatoriModel> dbResult = new List<AnagOperatoriModel>();
|
||||
await using var dbCtx = await CreateContextAsync();
|
||||
if (codGruppo == "*")
|
||||
{
|
||||
dbResult = await dbCtx
|
||||
.DbOperatori
|
||||
.AsNoTracking()
|
||||
.OrderBy(x => x.MatrOpr)
|
||||
.ToListAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
dbResult = await dbCtx
|
||||
.DbSetGrp2Oper
|
||||
.Where(g => g.CodGruppo == codGruppo)
|
||||
.Join(dbCtx.DbOperatori,
|
||||
g => g.MatrOpr,
|
||||
m => m.MatrOpr,
|
||||
(g, m) => m
|
||||
)
|
||||
.AsNoTracking()
|
||||
.OrderBy(x => x.MatrOpr)
|
||||
.ToListAsync();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<Dictionary<int, int>> PODL_getDictOdlPodlAsync(List<int> missingIds)
|
||||
{
|
||||
@@ -388,14 +423,15 @@ namespace MP.Data.Repository.Anag
|
||||
|
||||
await using var dbCtx = await CreateContextAsync();
|
||||
return await dbCtx
|
||||
.DbSetPODL
|
||||
.AsNoTracking()
|
||||
.Where(x => missingIds.Contains(x.IdxOdl))
|
||||
.ToDictionaryAsync(x => x.IdxOdl, x => x.IdxPromessa);
|
||||
.DbSetPODL
|
||||
.AsNoTracking()
|
||||
.Where(x => missingIds.Contains(x.IdxOdl))
|
||||
.ToDictionaryAsync(x => x.IdxOdl, x => x.IdxPromessa);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupero dizionario traduzioni da cache o DB
|
||||
|
||||
/// </summary>
|
||||
/// <param name="lingua">Codice lingua</param>
|
||||
/// <returns>Dizionario di traduzioni</returns>
|
||||
@@ -413,5 +449,7 @@ namespace MP.Data.Repository.Anag
|
||||
.DistinctBy(t => t.Lemma, StringComparer.OrdinalIgnoreCase)
|
||||
.ToDictionary(t => t.Lemma, t => t.Traduzione, StringComparer.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,8 @@ namespace MP.Data.Repository.Anag
|
||||
{
|
||||
public interface IAnagRepository
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Stacca un nuovo counter x il tipo richiesto
|
||||
/// </summary>
|
||||
@@ -32,7 +34,7 @@ namespace MP.Data.Repository.Anag
|
||||
/// Delete record AnagraficaGruppi
|
||||
/// </summary>
|
||||
/// <param name="updRec">Record da eliminare</param>
|
||||
/// <returns>True se l'eliminazione è avvenuta</returns>
|
||||
/// <returns>True se l'eliminazione � avvenuta</returns>
|
||||
Task<bool> AnagGruppiDeleteAsync(AnagGruppiModel updRec);
|
||||
|
||||
/// <summary>
|
||||
@@ -42,7 +44,7 @@ namespace MP.Data.Repository.Anag
|
||||
Task<List<AnagGruppiModel>> AnagGruppiFaseAsync();
|
||||
|
||||
/// <summary>
|
||||
/// Gruppi x tipo modalità Async
|
||||
/// Gruppi x tipo modalit� Async
|
||||
/// </summary>
|
||||
/// <param name="tipoGruppo">Tipo di gruppo (es. REPARTO, FASE, AZIENDA)</param>
|
||||
/// <returns>Lista di modelli anagrafica gruppi</returns>
|
||||
@@ -58,7 +60,7 @@ namespace MP.Data.Repository.Anag
|
||||
/// Upsert record AnagraficaGruppi (solo codice/descrizione)
|
||||
/// </summary>
|
||||
/// <param name="updRec">Record da inserire o aggiornare</param>
|
||||
/// <returns>True se l'operazione è riuscita</returns>
|
||||
/// <returns>True se l'operazione � riuscita</returns>
|
||||
Task<bool> AnagGruppiUpsertAsync(AnagGruppiModel updRec);
|
||||
|
||||
/// <summary>
|
||||
@@ -78,7 +80,7 @@ namespace MP.Data.Repository.Anag
|
||||
/// Elenco codice articoli che abbiano dati Dossier
|
||||
/// </summary>
|
||||
/// <returns>Lista di codici articolo</returns>
|
||||
Task<List<string>> ArticleWithDossierAsync();
|
||||
Task<List<string>> ArticleWithDossierAsync();
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
@@ -96,6 +98,12 @@ namespace MP.Data.Repository.Anag
|
||||
/// <returns>Conteggio risultati ricerca</returns>
|
||||
Task<int> ArticoliCountSearchAsync(string tipoArt = "*", string azienda = "*", string searchVal = "");
|
||||
|
||||
/// <summary>
|
||||
/// Conteggio articoli IMPIEGATI (da stored stp_ART_getUsed) Async
|
||||
/// </summary>
|
||||
/// <returns>Conteggio articoli impiegati</returns>
|
||||
Task<int> ArticoliCountUsedAsync();
|
||||
|
||||
/// <summary>
|
||||
/// Eliminazione Record Articolo
|
||||
/// </summary>
|
||||
@@ -128,13 +136,7 @@ namespace MP.Data.Repository.Anag
|
||||
Task<List<AnagArticoliModel>> ArticoliGetUnusedAsync();
|
||||
|
||||
/// <summary>
|
||||
/// Elenco tabella Articoli IMPIEGATI (da stored stp_ART_getUsed) Async
|
||||
/// </summary>
|
||||
/// <returns>Lista di articoli impiegati</returns>
|
||||
Task<List<AnagArticoliModel>> ArticoliGetUsedAsync();
|
||||
|
||||
/// <summary>
|
||||
/// Elenco Articoli che sono in KIT Child
|
||||
/// Dizionario associazione ODL/PODL
|
||||
/// </summary>
|
||||
/// <returns>Lista di articoli in kit</returns>
|
||||
Task<List<AnagArticoliModel>> ArticoliInKitAsync();
|
||||
@@ -168,6 +170,13 @@ namespace MP.Data.Repository.Anag
|
||||
/// <returns>Lista di macchine</returns>
|
||||
Task<List<MacchineModel>> MacchineGetFiltAsync(string codGruppo);
|
||||
|
||||
/// <summary>
|
||||
/// Elenco operatori dato filtro gruppo
|
||||
/// </summary>
|
||||
/// <param name="codGruppo">Codice gruppo</param>
|
||||
/// <returns>Lista di operatori</returns>
|
||||
Task<List<AnagOperatoriModel>> OperatoriGetFiltAsync(string codGruppo);
|
||||
|
||||
/// <summary>
|
||||
/// Dizionario associazione ODL/PODL
|
||||
/// </summary>
|
||||
@@ -182,5 +191,6 @@ namespace MP.Data.Repository.Anag
|
||||
/// <returns>Dizionario di traduzioni</returns>
|
||||
Task<Dictionary<string, string>> VocabolarioGetLangAsync(string lingua);
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user