using MP.Core.DTO; using MP.Data.DbModels; using System.Collections.Generic; using System.Threading.Tasks; namespace MP.Data.Repository.Anag { public interface IAnagRepository { #region Public Methods /// /// Stacca un nuovo counter x il tipo richiesto /// /// Tipo di contatore /// Modello del contatore aggiornato Task AnagCountersGetNextAsync(string cntType); /// /// Restituisce l'anagrafica EVENTI generalmente disponibile per OGNI macchina /// /// Nome Table x filtro (std: EvList) /// Nome Field x filtro (std: Common) /// Lista di eventi generali Task> AnagEventiGeneralAsync(string TableName = "EvList", string FieldName = "Common"); /// /// Elenco Gruppi tipo Azienda /// /// Lista di modelli anagrafica gruppi Task> AnagGruppiAziendeAsync(); /// /// Delete record AnagraficaGruppi /// /// Record da eliminare /// True se l'eliminazione � avvenuta Task AnagGruppiDeleteAsync(AnagGruppiModel updRec); /// /// Elenco Gruppi tipo Fasi /// /// Lista di modelli anagrafica gruppi Task> AnagGruppiFaseAsync(); /// /// Gruppi x tipo modalit� Async /// /// Tipo di gruppo (es. REPARTO, FASE, AZIENDA) /// Lista di modelli anagrafica gruppi Task> AnagGruppiGetTipoAsync(string tipoGruppo); /// /// Elenco Gruppi tipo REPARTO (x associazione Macchine-Operatori) in formato DTO con conteggi del numero record trovati /// /// Lista di DTO reparti con conteggio macchine e operatori Task> AnagGruppiRepartoDtoAsync(); /// /// Upsert record AnagraficaGruppi (solo codice/descrizione) /// /// Record da inserire o aggiornare /// True se l'operazione � riuscita Task AnagGruppiUpsertAsync(AnagGruppiModel updRec); /// /// Elenco valori ammessi x Stati commessa (es Yacht Baglietto) /// /// Lista di valori ammessi Task> AnagStatiCommAsync(); /// /// Elenco valori ammessi x Tipo articoli /// /// Lista di valori ammessi Task> AnagTipoArtLvAsync(); #if false /// /// Elenco codice articoli che abbiano dati Dossier /// /// Lista di codici articolo Task> ArticleWithDossierAsync(); #endif /// /// Conteggio num articoli Async /// /// Conteggio totale articoli Task ArticoliCountAsync(); /// /// Conteggio articoli data condizione ricerca /// /// Tipo articolo /// Azienda /// Valore di ricerca /// Conteggio risultati ricerca Task ArticoliCountSearchAsync(string tipoArt = "*", string azienda = "*", string searchVal = ""); /// /// Conteggio articoli IMPIEGATI (da stored stp_ART_getUsed) Async /// /// Conteggio articoli impiegati Task ArticoliCountUsedAsync(); /// /// Eliminazione Record Articolo /// /// Record da eliminare /// True se eliminato Task ArticoliDeleteRecordAsync(AnagArticoliModel currRec); /// /// Restituisce elenco articoli dato tipo (es KIT) /// /// Tipo articolo (es. KIT) /// Azienda (opzionale) /// Lista di articoli per tipo Task> ArticoliGetByTipoAsync(string tipo, string azienda = "*"); /// /// Elenco tabella Articoli da filtro /// /// Numero massimo di record /// Tipo articolo /// Azienda /// Valore di ricerca /// Lista di articoli cercati Task> ArticoliGetSearchAsync(int numRecord, string tipoArt = "*", string azienda = "*", string searchVal = ""); /// /// Elenco tabella Articoli NON IMPIEGATI (da stored stp_ART_getUsed) Async /// /// Lista di articoli non impiegati Task> ArticoliGetUnusedAsync(); /// /// Dizionario associazione ODL/PODL /// /// Lista di articoli in kit Task> ArticoliInKitAsync(); /// /// Update Record Articolo /// /// Record da aggiornare /// True se aggiornato Task ArticoliUpdateRecord(AnagArticoliModel editRec); /// /// Elenco valori ammessi x tabella/colonna Async /// /// Nome tabella /// Nome colonna /// Lista di valori ammessi Task> ListValuesFiltAsync(string tabName, string fieldName); /// /// Elenco Macchine dato operatore secondo gruppi (macchine/operatore) /// /// Matricola operatore /// Lista di macchine Task> MacchineByMatrOperAsync(int MatrOpr); /// /// Elenco da tabella Macchine filtro x gruppo /// /// Codice gruppo /// Lista di macchine Task> MacchineGetFiltAsync(string codGruppo); /// /// Elenco operatori dato filtro gruppo /// /// Codice gruppo /// Lista di operatori Task> OperatoriGetFiltAsync(string codGruppo); /// /// Dizionario associazione ODL/PODL /// /// Lista di ID mancanti /// Dizionario di associazione Task> PODL_getDictOdlPodlAsync(List missingIds); /// /// Recupero dizionario traduzioni da cache o DB /// /// Codice lingua /// Dizionario di traduzioni Task> VocabolarioGetLangAsync(string lingua); #endregion Public Methods } }