public static string salvaModello(DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modelloTrasmissione) { string result = string.Empty; using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext()) { try { DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider(); DocsPaDB.Query_DocsPAWS.ModTrasmissioni modTrasm = new DocsPaDB.Query_DocsPAWS.ModTrasmissioni(); result = modTrasm.salvaModello(modelloTrasmissione); transactionContext.Complete(); //if (dbProvider.DBType.ToUpper().Equals("SQL")) //{ // // metodo per il reperimento del system id del modello appena inserito in sql // int sysId = modTrasm.findModelSystemId(); // if (sysId > 0) // { // modelloTrasmissione.SYSTEM_ID = sysId; // modelloTrasmissione.CODICE = "MT_" + sysId.ToString(); // modTrasm.insertSalvaModello(modelloTrasmissione); // } // else // modTrasm.deleteModello(modelloTrasmissione); //} } catch (Exception e) { logger.Debug("Errore in Trasmissioni - ModelliTrasmissioni - metodo: salvaModello", e); } return(result); } }
/// <summary> /// /// </summary> /// <param name="idOggetto">Id dell'oggetto da trasmettere</param> /// <param name="tipoOggetto">Tipo dell'oggetto da trasmettere</param> /// <param name="modello">Modello trasmissione da utilizzare</param> public virtual void Execute(string idOggetto, DocsPaVO.trasmissione.TipoOggetto tipoOggetto, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello) { if (modello == null) { throw new ApplicationException("Modello trasmissione non trovato"); } if (modello.SINGLE == "1") { EffettuaTrasmissioneDaModello(this._infoUtente, modello, idOggetto, tipoOggetto); } else { foreach (DocsPaVO.Modelli_Trasmissioni.MittDest mitt in modello.MITTENTE) { if (string.Compare(mitt.ID_CORR_GLOBALI.ToString(), this._infoUtente.idCorrGlobali, true) == 0) { EffettuaTrasmissioneDaModello(this._infoUtente, modello, idOggetto, tipoOggetto); break; } } } }
/// <summary> /// /// </summary> /// <param name="idOggetto"></param> /// <param name="tipoOggetto"></param> /// <param name="idModello"></param> public virtual void Execute(string idOggetto, DocsPaVO.trasmissione.TipoOggetto tipoOggetto, string idModello) { // Reperimento del modello trasmissione DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modelloTrasmissione = BusinessLogic.Trasmissioni.ModelliTrasmissioni.getModelloByID(this._infoUtente.idAmministrazione, idModello); this.Execute(idOggetto, tipoOggetto, modelloTrasmissione); }
public static bool isUniqueCodModelloTrasm(DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello) { try { DocsPaDB.Query_DocsPAWS.ModTrasmissioni modelloTrasm = new DocsPaDB.Query_DocsPAWS.ModTrasmissioni(); return(modelloTrasm.isUniqueCodModelloTrasm(modello)); } catch (Exception e) { logger.Debug("Errore in ModelliTrasmissioni.cs - metodo: isUniqueCodModelloTrasm", e); return(false); } }
/// <summary> /// /// </summary> /// <param name="infoUtente"></param> /// <param name="objTrasm"></param> /// <param name="modello"></param> /// <returns></returns> private DocsPaVO.trasmissione.Trasmissione ImpostaNotificheUtentiDaModello( DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.trasmissione.Trasmissione objTrasm, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello) { if (objTrasm.trasmissioniSingole != null && objTrasm.trasmissioniSingole.Count > 0) { foreach (DocsPaVO.trasmissione.TrasmissioneSingola ts in objTrasm.trasmissioniSingole) { foreach (DocsPaVO.trasmissione.TrasmissioneUtente tu in ts.trasmissioneUtente) { tu.daNotificare = DaNotificareSuModello(infoUtente, tu.utente.idPeople, ts.corrispondenteInterno.systemId, modello); } } } return(objTrasm); }
internal static void trasmettiDocumento(DocsPaVO.documento.SchedaDocumento schedaDocumento, string nomeModello, ref DocsPaVO.documento.resultProtoEmergenza res, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo, string idRegistro) { try { if (nomeModello == null || nomeModello.Equals("")) { return; } #region OLD ////ricerca il template di trasmissione //ArrayList listaTemplate = Trasmissioni.TemplateTrasmManager.getTemplateDaNome(infoUtente.idPeople, infoUtente.idCorrGlobali, "D", template); //if (listaTemplate != null && listaTemplate.Count > 0) //{ // //trasmette il doc // DocsPaVO.trasmissione.TemplateTrasmissione templateTrasm = ((DocsPaVO.trasmissione.TemplateTrasmissione) listaTemplate[0]); // trasmetti(schedaDocumento, templateTrasm, ref res, infoUtente, ruolo); //} //else // res.messaggio = res.messaggio + " - " + "Template non trovato"; #endregion ArrayList listaModelli = Trasmissioni.ModelliTrasmissioni.getModelliByName(infoUtente.idAmministrazione, nomeModello, "D", idRegistro, infoUtente.idPeople, ruolo.systemId); if (listaModelli != null && listaModelli.Count == 1) { DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello = (DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione)listaModelli[0]; trasmetti(schedaDocumento, modello, ref res, infoUtente, ruolo); } else { res.messaggio = res.messaggio + " - " + "Modello non trovato"; } } catch (Exception e) { res.messaggio = res.messaggio + " - " + e.Message; logger.Debug(e.ToString()); } }
/// <summary> /// /// </summary> /// <param name="infoUtente"></param> /// <param name="currentIDPeople"></param> /// <param name="currentIDCorrGlobRuolo"></param> /// <param name="modello"></param> /// <returns></returns> private bool DaNotificareSuModello( DocsPaVO.utente.InfoUtente infoUtente, string currentIDPeople, string currentIDCorrGlobRuolo, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello) { bool retValue = true; foreach (DocsPaVO.Modelli_Trasmissioni.RagioneDest rd in modello.RAGIONI_DESTINATARI) { foreach (DocsPaVO.Modelli_Trasmissioni.MittDest md in rd.DESTINATARI) { if (md.ID_CORR_GLOBALI.Equals(Convert.ToInt32(currentIDCorrGlobRuolo))) { foreach (DocsPaVO.Modelli_Trasmissioni.UtentiConNotificaTrasm unt in md.UTENTI_NOTIFICA) { if (unt.ID_PEOPLE.Equals(currentIDPeople)) { if (unt.FLAG_NOTIFICA.Equals("1")) { retValue = true; } else { retValue = false; } return(retValue); } } } } } return(retValue); }
/// <summary> /// Tramissione di un fascicolo usando un modello di trasmissione /// Il parametro "idStato" puo' essere null o meno a seconda delle necessità /// </summary> /// <returns></returns> private void EffettuaTrasmissioneDaModello( DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello, string idOggetto, DocsPaVO.trasmissione.TipoOggetto tipoOggetto) { DocsPaVO.trasmissione.Trasmissione trasmissione = new DocsPaVO.trasmissione.Trasmissione(); trasmissione.noteGenerali = modello.VAR_NOTE_GENERALI; DocsPaVO.documento.SchedaDocumento schedaDocumento = null; DocsPaVO.fascicolazione.Fascicolo schedaFascicolo = null; if (tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO) { trasmissione.tipoOggetto = DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO; schedaDocumento = BusinessLogic.Documenti.DocManager.getDettaglio(infoUtente, idOggetto, idOggetto); trasmissione.infoDocumento = new DocsPaVO.documento.InfoDocumento(schedaDocumento); } else if (tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.FASCICOLO) { trasmissione.tipoOggetto = DocsPaVO.trasmissione.TipoOggetto.FASCICOLO; schedaFascicolo = BusinessLogic.Fascicoli.FascicoloManager.getFascicoloById(idOggetto, infoUtente); trasmissione.infoFascicolo = new DocsPaVO.fascicolazione.InfoFascicolo(schedaFascicolo); } trasmissione.utente = BusinessLogic.Utenti.UserManager.getUtente(infoUtente.idPeople); trasmissione.ruolo = BusinessLogic.Utenti.UserManager.getRuoloById(infoUtente.idCorrGlobali); if (modello != null) { trasmissione.NO_NOTIFY = modello.NO_NOTIFY; } //Parametri delle trasmissioni singole foreach (DocsPaVO.Modelli_Trasmissioni.RagioneDest ragioneDest in modello.RAGIONI_DESTINATARI) { foreach (DocsPaVO.Modelli_Trasmissioni.MittDest mittDest in ragioneDest.DESTINATARI) { DocsPaVO.utente.Corrispondente corr = new DocsPaVO.utente.Corrispondente(); if (mittDest.CHA_TIPO_MITT_DEST == "D") { corr = BusinessLogic.Utenti.UserManager.getCorrispondenteByCodRubrica(mittDest.VAR_COD_RUBRICA, DocsPaVO.addressbook.TipoUtente.INTERNO, infoUtente); } else { if (tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO) { corr = GetCorrispondente(infoUtente, mittDest.CHA_TIPO_MITT_DEST, schedaDocumento.creatoreDocumento.idPeople, schedaDocumento.creatoreDocumento.idCorrGlob_Ruolo, schedaDocumento.creatoreDocumento.idCorrGlob_UO, trasmissione); } else { corr = GetCorrispondente(infoUtente, mittDest.CHA_TIPO_MITT_DEST, schedaFascicolo.creatoreFascicolo.idPeople, schedaFascicolo.creatoreFascicolo.idCorrGlob_Ruolo, schedaFascicolo.creatoreFascicolo.idCorrGlob_UO, trasmissione); } } if (corr != null) { DocsPaVO.trasmissione.RagioneTrasmissione ragione = BusinessLogic.Trasmissioni.QueryTrasmManager.getRagioneById(mittDest.ID_RAGIONE.ToString()); trasmissione = AddTrasmissioneSingola(infoUtente, trasmissione, corr, ragione, mittDest.VAR_NOTE_SING, mittDest.CHA_TIPO_TRASM, mittDest.SCADENZA); } } } trasmissione = ImpostaNotificheUtentiDaModello(infoUtente, trasmissione, modello); trasmissione = BusinessLogic.Trasmissioni.ExecTrasmManager.saveExecuteTrasmMethod(string.Empty, trasmissione); }
private static DocsPaVO.trasmissione.Trasmissione creaTrasmDaModello(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo) { DocsPaVO.trasmissione.Trasmissione trasmissione = new DocsPaVO.trasmissione.Trasmissione(); try { DocsPaVO.documento.InfoDocumento infoDocumento = Documenti.DocManager.getInfoDocumento(schedaDocumento); trasmissione.infoDocumento = infoDocumento; DocsPaVO.utente.Utente utente = Utenti.UserManager.getUtente(infoUtente.idPeople); trasmissione.utente = utente; trasmissione.ruolo = ruolo; trasmissione.tipoOggetto = DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO; trasmissione.noteGenerali = modello.VAR_NOTE_GENERALI; for (int i = 0; i < modello.RAGIONI_DESTINATARI.Count; i++) { DocsPaVO.Modelli_Trasmissioni.RagioneDest ragDest = (DocsPaVO.Modelli_Trasmissioni.RagioneDest)modello.RAGIONI_DESTINATARI[i]; ArrayList destinatari = new ArrayList(ragDest.DESTINATARI); for (int j = 0; j < destinatari.Count; j++) { DocsPaVO.Modelli_Trasmissioni.MittDest mittDest = (DocsPaVO.Modelli_Trasmissioni.MittDest)destinatari[j]; DocsPaVO.trasmissione.RagioneTrasmissione ragione = Trasmissioni.QueryTrasmManager.getRagioneById(mittDest.ID_RAGIONE.ToString()); DocsPaVO.utente.Corrispondente corr = Utenti.UserManager.getCorrispondenteBySystemID(mittDest.ID_CORR_GLOBALI.ToString()); if (corr != null) //corr nullo se non esiste o se è stato disabilitato { // Aggiungo la trasmissione singola DocsPaVO.trasmissione.TrasmissioneSingola trasmissioneSingola = new DocsPaVO.trasmissione.TrasmissioneSingola(); trasmissioneSingola.tipoTrasm = mittDest.CHA_TIPO_TRASM; trasmissioneSingola.corrispondenteInterno = corr; trasmissioneSingola.ragione = ragione; trasmissioneSingola.noteSingole = mittDest.VAR_NOTE_SING; // RUOLO if (corr is DocsPaVO.utente.Ruolo) { trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO; ArrayList listaUtenti = queryUtenti(corr, modello.ID_AMM); if (listaUtenti.Count == 0) { trasmissioneSingola = null; } for (int ut = 0; ut < listaUtenti.Count; ut++) { DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente(); trasmissioneUtente.utente = (DocsPaVO.utente.Utente)listaUtenti[ut]; trasmissioneUtente.daNotificare = true; trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente); } } // UTENTE if (corr is DocsPaVO.utente.Utente) { trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.UTENTE; DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente(); trasmissioneUtente.utente = (DocsPaVO.utente.Utente)corr; trasmissioneUtente.daNotificare = true; trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente); } if (trasmissioneSingola != null) { trasmissione.trasmissioniSingole.Add(trasmissioneSingola); } } } } } catch { trasmissione = null; } return(trasmissione); }
internal static void trasmetti(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello, ref DocsPaVO.documento.resultProtoEmergenza res, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo) { try { //cerca trasmissione dal template //DocsPaVO.trasmissione.Trasmissione trasm =Trasmissioni.TemplateTrasmManager.creaTrasmDaTemplate(schedaDocumento, template, infoUtente, ruolo); DocsPaVO.trasmissione.Trasmissione trasm = creaTrasmDaModello(schedaDocumento, modello, infoUtente, ruolo); if (trasm == null) { res.messaggio = res.messaggio + " - " + " Trasmissione annullata!"; return; } if (infoUtente.delegato != null) { trasm.delegato = ((DocsPaVO.utente.InfoUtente)(infoUtente.delegato)).idPeople; } //trasm = Trasmissioni.TrasmManager.saveTrasmMethod(trasm); //trasm = Trasmissioni.ExecTrasmManager.executeTrasmMethod(null, trasm); trasm = Trasmissioni.ExecTrasmManager.saveExecuteTrasmMethod(null, trasm); res.isTrasmesso = true; } catch (Exception e) { res.messaggio = res.messaggio + " - " + e.Message; logger.Debug(e.ToString()); } }
/// <summary> /// GIUGNO 2008 - Adamo /// MODELLI DI TRASMISSIONE: /// Salva i dati di cessione dei diritti su modello di trasmissione /// </summary> /// <param name="objTrasm">Oggetto Modelli_Trasmissioni.ModelloTrasmissione</param> /// <returns>True se esito positivo</returns> public static bool SalvaCessioneDirittiSuModelliTrasm(DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione objTrasm) { DocsPaDB.Query_DocsPAWS.ModTrasmissioni objQuery = new DocsPaDB.Query_DocsPAWS.ModTrasmissioni(); return(objQuery.SalvaCessioneDirittiSuModelliTrasm(objTrasm)); }
/// <summary> /// GIUGNO 2008 - Adamo /// MODELLI DI TRASMISSIONE: /// Gestione della notifica trasmissione degli utenti inserito nei modelli di trasmissione /// </summary> /// <param name="objTrasm">Oggetto Modelli_Trasmissioni.ModelloTrasmissione</param> /// <param name="operazione">Tipo di operazione da effettuare sul db: 'GET' = reperimento dati, 'SET' = modifica dei dati </param> /// <returns>L'oggetto stesso passato come parametro. Oggetto NULL se ci sono state eccezioni nel metodo</returns> public static DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione UtentiConNotificaTrasm(DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione objModTrasm, System.Collections.ArrayList utentiDaInserire, System.Collections.ArrayList utentiDaCancellare, string operazione) { DocsPaDB.Query_DocsPAWS.ModTrasmissioni objQuery = new DocsPaDB.Query_DocsPAWS.ModTrasmissioni(); return(objQuery.UtentiConNotificaTrasm(objModTrasm, utentiDaInserire, utentiDaCancellare, operazione)); }
/// <summary> /// Tramissione di un fascicolo usando un modello di trasmissione /// Il parametro "idStato" puo' essere null o meno a seconda delle necessità /// </summary> /// <returns></returns> /// public static void effettuaTrasmissioneFascDaModello( DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello, string idStato, DocsPaVO.fascicolazione.Fascicolo fascicolo) { DocsPaVO.trasmissione.Trasmissione trasmissione = new DocsPaVO.trasmissione.Trasmissione(); trasmissione.noteGenerali = modello.VAR_NOTE_GENERALI; trasmissione.tipoOggetto = DocsPaVO.trasmissione.TipoOggetto.FASCICOLO; trasmissione.infoFascicolo = new DocsPaVO.fascicolazione.InfoFascicolo(fascicolo); trasmissione.utente = BusinessLogic.Utenti.UserManager.getUtente(infoUtente.idPeople); trasmissione.ruolo = BusinessLogic.Utenti.UserManager.getRuoloById(infoUtente.idCorrGlobali); if (modello != null) { trasmissione.NO_NOTIFY = modello.NO_NOTIFY; } //Parametri delle trasmissioni singole foreach (DocsPaVO.Modelli_Trasmissioni.RagioneDest ragioneDest in modello.RAGIONI_DESTINATARI) { foreach (DocsPaVO.Modelli_Trasmissioni.MittDest mittDest in ragioneDest.DESTINATARI) { DocsPaVO.utente.Corrispondente corr = new DocsPaVO.utente.Corrispondente(); if (mittDest.CHA_TIPO_MITT_DEST == "D") { corr = BusinessLogic.Utenti.UserManager.getCorrispondenteByCodRubrica(mittDest.VAR_COD_RUBRICA, DocsPaVO.addressbook.TipoUtente.INTERNO, infoUtente); } else { corr = getCorrispondenti(infoUtente, mittDest.CHA_TIPO_MITT_DEST, fascicolo, trasmissione); } if (corr != null) { DocsPaVO.trasmissione.RagioneTrasmissione ragione = BusinessLogic.Trasmissioni.QueryTrasmManager.getRagioneById(mittDest.ID_RAGIONE.ToString()); trasmissione = addTrasmissioneSingola(infoUtente, trasmissione, corr, ragione, mittDest.VAR_NOTE_SING, mittDest.CHA_TIPO_TRASM, mittDest.SCADENZA); } } } trasmissione = impostaNotificheUtentiDaModello(infoUtente, trasmissione, modello); trasmissione = BusinessLogic.Trasmissioni.ExecTrasmManager.saveExecuteTrasmMethod(string.Empty, trasmissione); string desc = ""; string notify = "1"; if (trasmissione.NO_NOTIFY != null && trasmissione.NO_NOTIFY.Equals("1")) { notify = "0"; } else { notify = "1"; } if (trasmissione != null) { // LOG per documento if (trasmissione.infoDocumento != null && !string.IsNullOrEmpty(trasmissione.infoDocumento.idProfile)) { foreach (DocsPaVO.trasmissione.TrasmissioneSingola single in trasmissione.trasmissioniSingole) { string method = "TRASM_DOC_" + single.ragione.descrizione.ToUpper().Replace(" ", "_"); if (trasmissione.infoDocumento.segnatura == null) { desc = "Trasmesso Documento : " + trasmissione.infoDocumento.docNumber.ToString(); } else { desc = "Trasmesso Documento : " + trasmissione.infoDocumento.segnatura.ToString(); } BusinessLogic.UserLog.UserLog.WriteLog(trasmissione.utente.userId, trasmissione.utente.idPeople, trasmissione.ruolo.idGruppo, trasmissione.utente.idAmministrazione, method, trasmissione.infoDocumento.docNumber, desc, DocsPaVO.Logger.CodAzione.Esito.OK, infoUtente.delegato, notify, single.systemId); } } // LOG per fascicolo if (trasmissione.infoFascicolo != null && !string.IsNullOrEmpty(trasmissione.infoFascicolo.idFascicolo)) { foreach (DocsPaVO.trasmissione.TrasmissioneSingola single in trasmissione.trasmissioniSingole) { string method = "TRASM_FOLDER_" + single.ragione.descrizione.ToUpper().Replace(" ", "_"); desc = "Trasmesso Fascicolo ID: " + trasmissione.infoFascicolo.idFascicolo.ToString(); BusinessLogic.UserLog.UserLog.WriteLog(trasmissione.utente.userId, trasmissione.utente.idPeople, trasmissione.ruolo.idGruppo, trasmissione.utente.idAmministrazione, method, trasmissione.infoFascicolo.idFascicolo, desc, DocsPaVO.Logger.CodAzione.Esito.OK, infoUtente.delegato, notify, single.systemId); } } } if (!string.IsNullOrEmpty(idStato)) { BusinessLogic.DiagrammiStato.DiagrammiStato.salvaStoricoTrasmDiagrammiFasc(trasmissione.systemId, fascicolo.systemID, idStato); } }