private string GetFormatiDocumento(string id) { string result = string.Empty; DocsPaDB.Query_DocsPAWS.Conservazione c = new DocsPaDB.Query_DocsPAWS.Conservazione(); List <DocsPaVO.FormatiDocumento.SupportedFileType> lista = new List <DocsPaVO.FormatiDocumento.SupportedFileType>(); lista = c.GetFormatiDocumentoPolicy(id); if (lista != null && lista.Count > 0) { for (int i = 0; i < lista.Count; i++) { DocsPaVO.FormatiDocumento.SupportedFileType file = lista[i]; result = result + file.FileExtension.ToUpper(); if (i < lista.Count - 1) { result = result + ", "; } } } else { result = "Tutti"; } return(result); }
private string GetCampiProfilati(string idPolicy, string idTemplate) { string result = string.Empty; if (!string.IsNullOrEmpty(idTemplate) && !idTemplate.Equals("0")) { DocsPaDB.Query_DocsPAWS.Conservazione c = new DocsPaDB.Query_DocsPAWS.Conservazione(); DocsPaVO.ProfilazioneDinamica.Templates template = c.GetTemplateDocumento(idPolicy, idTemplate); for (int i = 0; i < template.ELENCO_OGGETTI.Count; i++) { DocsPaVO.ProfilazioneDinamica.OggettoCustom ogg = (DocsPaVO.ProfilazioneDinamica.OggettoCustom)template.ELENCO_OGGETTI[i]; if (!string.IsNullOrEmpty(ogg.VALORE_DATABASE) || ogg.TIPO.DESCRIZIONE_TIPO.Equals("CasellaDiSelezione")) { string valore = ogg.VALORE_DATABASE; switch (ogg.TIPO.DESCRIZIONE_TIPO) { case "CasellaDiSelezione": valore = string.Empty; foreach (string v in ogg.VALORI_SELEZIONATI) { if (!string.IsNullOrEmpty(v)) { valore = valore + v + ","; } } if (valore.EndsWith(",")) { valore = valore.Remove(valore.Length - 1); } break; case "Contatore": case "Data": valore = ogg.VALORE_DATABASE.Replace("@", "-"); break; case "Corrispondente": if (!string.IsNullOrEmpty(ogg.VALORE_DATABASE)) { valore = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemID(ogg.VALORE_DATABASE).descrizione; } break; } if (!string.IsNullOrEmpty(result)) { result = result + "; "; } if (!string.IsNullOrEmpty(valore)) { result = result + ogg.DESCRIZIONE + "=" + valore; } } } } return(result); }
/// <summary> /// Costruisce il summary relativo all'istanza o documento in oggetto /// </summary> /// </summary> /// <param name="request"></param> /// <param name="context">distingue tra summary istanza/documento</param> /// <param name="idIstanza">id istanza attuale</param> /// <param name="idDoc">id documento (se richiesto)</param> /// <returns></returns> private string GetSummary(PrintReportRequest request, string context, string idIstanza, string idDoc) { string summary = string.Empty; RegistroConservazionePrintManager manager = new RegistroConservazionePrintManager(); //costruzione del summary nei due casi if (context == "istanza") { RegistroConservazioneSummary summaryData = manager.GetSummaryDataIst(idIstanza); string creationDate = summaryData.creationDate.Equals(DateTime.MinValue) ? string.Empty : summaryData.creationDate.ToString("dd/MM/yyyy"); string invioDate = summaryData.invioDate.Equals(DateTime.MinValue) ? string.Empty : summaryData.invioDate.ToString("dd/MM/yyyy"); summary = "ISTANZA - ID istanza: " + idIstanza + "\n\n"; summary += "Descrizione istanza: " + summaryData.descrizione + "\n"; summary += "Data di apertura: " + creationDate + "\n"; summary += "Data di invio al CS: " + invioDate + "\n"; summary += "Numero documenti: " + summaryData.numDoc + "\n"; summary += "Dimensioni complessive: " + manager.ConvertDocSize(summaryData.fileDim) + "\n"; logger.Debug(summary); } else if (context == "documento") { RegistroConservazioneSummary summaryData = manager.GetSummaryDataDoc(idDoc); string segnatura = new DocsPaDB.Query_DocsPAWS.Conservazione().getSegnatura_Id(idDoc); string creationDate = summaryData.creationDate.Equals(DateTime.MinValue) ? string.Empty : summaryData.creationDate.ToString("dd/MM/yyyy"); summary = "DOCUMENTO - ID/Segnatura documento: " + segnatura + "\n\n"; summary += "ID istanza: " + idIstanza + "\n"; summary += "Data creazione/protocollazione: " + creationDate + "\n"; summary += "Oggetto: " + summaryData.descrizione + "\n"; summary += "Codice fascicolo: " + summaryData.codiceFascicolo + "\n"; summary += "N. allegati: " + summaryData.numDoc + "\n"; summary += "Tipo file: " + summaryData.tipoFile + "\n"; summary += "Dimensioni file: " + manager.ConvertDocSize(summaryData.fileDim) + "\n"; logger.Debug(summary); } return(summary); }
public string GeneratePrintByRanges(string anno, string counterId, string numRepStart, string numRepEnd, string idRegistro, string dataStampa, bool ultimastampa) { string retVal = ""; logger.Info("START"); DocsPaDB.Query_DocsPAWS.Conservazione dbCons = new DocsPaDB.Query_DocsPAWS.Conservazione(); // uguale al metodo precedente tranne che per questo pezzo. //DocsPaVO.areaConservazione.StampaRegistro stReg = dbCons.getInfoStampaReperiorio(idDoc); DocsPaVO.areaConservazione.StampaRegistro stReg = new DocsPaVO.areaConservazione.StampaRegistro(); stReg.anno = anno; stReg.idRepertorio = counterId; stReg.numProtoStart = numRepStart; if (!string.IsNullOrEmpty(numRepEnd)) { stReg.numProtoEnd = numRepEnd; } stReg.idRegistro = idRegistro; stReg.dtaStampaTruncString = dataStampa; DocsPaDB.Query_DocsPAWS.RegistriRepertorioPrintManager manager = new DocsPaDB.Query_DocsPAWS.RegistriRepertorioPrintManager(); List <RegistroRepertorioPrint> reg1 = manager.GetRegistersToPrintByCounter(stReg.idRepertorio); foreach (RegistroRepertorioPrint print in reg1) { if (print.RegistryId == stReg.idRegistro || print.RFId == stReg.idRegistro) { logger.DebugFormat("Stampa del repertorio {0} della tipologia {5}, per l'anno {1}, su registro {2} o RF {3}, responsabile {4}", print.CounterDescription, stReg.anno, print.RegistryId, print.RFId, print.PrinterUser.userId, print.TipologyDescription); InfoUtente userInfo = new InfoUtente() { idAmministrazione = print.PrinterUser.idAmministrazione, idCorrGlobali = print.PrinterUser.systemId, idGruppo = print.PrinterRole.idGruppo, idPeople = print.PrinterUser.idPeople, userId = print.PrinterUser.userId }; //RepertorioPrintRange rpr = manager.GetRepertoriPrintRangesByYear(counterId, print.RegistryId, print.RFId, year); // Generazione filtri per la stampa List <FiltroRicerca> filters = null; string minX = stReg.numProtoStart; if (!ultimastampa) { string maxX = stReg.numProtoEnd; logger.DebugFormat("Limite inferiore {0}, superiore {1}", minX, maxX); filters = new List <FiltroRicerca>() { new FiltroRicerca() { argomento = "idCounter", valore = stReg.idRepertorio }, new FiltroRicerca() { argomento = "idRegistry", valore = print.RegistryId }, new FiltroRicerca() { argomento = "idRf", valore = print.RFId }, new FiltroRicerca() { argomento = "year", valore = stReg.anno }, new FiltroRicerca() { argomento = "lastPrintedNumber", valore = minX }, new FiltroRicerca() { argomento = "lastNumberToPrint", valore = maxX }, new FiltroRicerca() { argomento = "RECUPERO_evitaMod", valore = "true" } }; } else { logger.DebugFormat("Limite inferiore {0}", minX); filters = new List <FiltroRicerca>() { new FiltroRicerca() { argomento = "idCounter", valore = stReg.idRepertorio }, new FiltroRicerca() { argomento = "idRegistry", valore = print.RegistryId }, new FiltroRicerca() { argomento = "idRf", valore = print.RFId }, new FiltroRicerca() { argomento = "year", valore = stReg.anno }, new FiltroRicerca() { argomento = "lastPrintedNumber", valore = minX } }; } // Creazione della stampa FileDocumento fileDocument = BusinessLogic.Reporting.ReportGeneratorCommand.GetReport( new DocsPaVO.Report.PrintReportRequest() { UserInfo = userInfo, SearchFilters = filters, ReportType = DocsPaVO.Report.ReportTypeEnum.PDF, ReportKey = "StampaRegistriRepertori", ContextName = "StampaRegistriRepertori", AdditionalInformation = String.Format(" Stampa del repertorio per l'anno {0} dal n. {1} al n. {2} - stampa di recupero del giorno {3}. La presente stampa riporta tutte le registrazioni giornaliere di repertorio nell'intervallo indicato. Si è resa necessaria in quanto problematiche tecniche del sistema avevano inizialmente impedito la corretta stampa.", stReg.anno, minX, numRepEnd, dataStampa) }).Document; using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext()) { if (userInfo != null && string.IsNullOrEmpty(userInfo.dst)) { userInfo.dst = BusinessLogic.Utenti.UserManager.getSuperUserAuthenticationToken(); } // Reperimento del nome della tipologia string tipologia = manager.GetNomeTipologia(stReg.idRepertorio); // Creazione della scheda documento SchedaDocumento document = InitializeDocument(userInfo, print.RegistryId, print.RFId, stReg.anno, minX, numRepEnd, tipologia); document.oggetto.descrizione += " - RECUPERO"; Ruolo[] roles = new Ruolo[] { }; // Salvataggio del documento String docNumber = this.SaveDocument(userInfo, print.PrinterRole, document, fileDocument, out roles); if (String.IsNullOrEmpty(docNumber)) { throw new Exception("Errore durante la creazione della stampa"); } retVal = docNumber; // Aggiornamento del registro delle stampe e del prossimo numero da stampare if (!manager.UpdatePrinterManager(stReg.idRepertorio, minX, numRepEnd, docNumber, print.RegistryId, print.RFId, stReg.anno)) { throw new Exception("Errore durante l'aggiornamento dell'anagrafica delle stampe effettuate"); } int rights = 0; // Assegnazione della visibilità della stampa al responsabile di repertorio (se impostato) if (!BusinessLogic.utenti.RegistriRepertorioPrintManager.AssignDocumentVisibilityToResponsable(userInfo, docNumber, stReg.idRepertorio, print.RFId, print.RegistryId, out rights)) { throw new Exception("Errore assegnazione visiblità a ruolo responsabile"); } // Se ci sono ruoli superiori, viene assegnata la visibilità foreach (Ruolo r in roles) { if (!BusinessLogic.utenti.RegistriRepertorioPrintManager.AssignDocumentVisibilityToRole(userInfo, docNumber, stReg.idRepertorio, print.RFId, print.RegistryId, r.idGruppo, rights)) { throw new Exception(String.Format("Errore assegnazione visiblità al ruolo {0}", r.codice)); } } //assegnazione visibilità nel caso di repertori di tipologia/RF if ((string.IsNullOrEmpty(print.RFId) && string.IsNullOrEmpty(print.RegistryId)) || (!string.IsNullOrEmpty(print.RFId))) { DocsPaDB.Utils.Gerarchia gerarchia = new DocsPaDB.Utils.Gerarchia(); object[] supRolePrinter = gerarchia.getGerarchiaSup(print.PrinterRole, ((DocsPaVO.utente.Registro)print.PrinterRole.registri[0]).systemId, null, DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO).ToArray(); foreach (Ruolo r in supRolePrinter) { if (!BusinessLogic.utenti.RegistriRepertorioPrintManager.AssignDocumentVisibilityToRole(userInfo, docNumber, stReg.idRepertorio, print.RFId, print.RegistryId, r.idGruppo, rights)) { throw new Exception(String.Format("Errore assegnazione visiblità al ruolo {0}", r.codice)); } } } // Completamento transazione transactionContext.Complete(); } if (!string.IsNullOrEmpty(retVal)) { DocsPaDB.Query_DocsPAWS.Report dbreport = new DocsPaDB.Query_DocsPAWS.Report(); dbreport.UpdStampaExp(retVal, stReg.dtaStampaTruncString); } } } return(retVal); }