Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="corrispondente"></param>
        /// <param name="idDocArrivoPar"></param>
        /// <param name="idRegistro"></param>
        /// <param name="idProfile"></param>

        public static void addStatoInvio(DocsPaVO.utente.Corrispondente corrispondente, string idDocArrivoPar, string idRegistro, string idProfile, string mail)
        {
            #region Codice Commentato

            /*ArrayList idCorrispondenti = getIdCorrispondentiGruppo(corrispondente.systemId);
             * DocsPaVO.StatoInvio.StatoInvio statoInvio;
             * for (int i = 0; i < idCorrispondenti.Count; i++)
             * {
             *      statoInvio = new DocsPaVO.StatoInvio.StatoInvio();
             *      statoInvio.idDocArrivoPar = idDocArrivoPar;
             *      statoInvio.idRegistro = idRegistro;
             *      statoInvio.idProfile = idProfile;
             *      statoInvio.idCorrispondente = (string) idCorrispondenti[i];
             *      //modifica per gestione - tipo spedizione  -- ATTENZIONE SE SI TRATTA DI UN GRUPPO NON HA MOLTO SENSO UN TIPO SPEDIZIONE VALIDO PER TUTTI I MEMBRI DEL GRUPPO
             *      //statoInvio = getDocumentType(db, statoInvio);
             *
             *      if (corrispondente.canalePref == null)
             *      {
             *              statoInvio = getDocumentType(statoInvio);
             *      }
             *      else
             *      {
             *                      statoInvio.typeId = corrispondente.canalePref.systemId;
             *      }
             *      if (statoInvio.typeId != null && !statoInvio.typeId.Equals(""))
             *      {
             *              statoInvio = getDatiCorrispondente(statoInvio);
             *              statoInvio = getDatiCanale(statoInvio);
             *              statoInvio = getDettagliCorrispondente(statoInvio);
             *      }
             *      string insertString =
             *              "INSERT INTO DPA_STATO_INVIO (" + DocsPa_V15_Utils.dbControl.getSystemIdColName() +
             *              "ID_CORR_GLOBALE, ID_PROFILE, ID_DOC_ARRIVO_PAR, ID_CANALE, " +
             *              "VAR_INDIRIZZO, VAR_CAP, VAR_CITTA, CHA_INTEROP, VAR_PROVINCIA, " +
             *              "ID_DOCUMENTTYPE, VAR_SERVER_SMTP, NUM_PORTA_SMTP, VAR_CODICE_AOO, VAR_CODICE_AMM) VALUES (" +
             *              DocsPa_V15_Utils.dbControl.getSystemIdNextVal("DPA_STATO_INVIO") +
             *              statoInvio.idCorrispondente + "," + statoInvio.idProfile + "," +
             *              statoInvio.idDocArrivoPar + ",'" + statoInvio.idCanale + "','" +
             *              statoInvio.indirizzo.Replace("'","''") + "','" + statoInvio.cap + "','" +
             *              statoInvio.citta.Replace("'","''") + "','" + statoInvio.interop + "','" +
             *              statoInvio.provincia.Replace("'","''") + "','" + statoInvio.typeId + "','" +
             *              statoInvio.serverSMTP.Replace("'","''") + "','" + statoInvio.portaSMTP + "','" +
             *              statoInvio.codiceAOO + "','" + statoInvio.codiceAmm + "')";
             *      logger.Debug(insertString);
             *      db.insertLocked(insertString, "DPA_STATO_INVIO");*/
            #endregion

            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
            doc.InsertStatoInvio(corrispondente, idDocArrivoPar, idRegistro, idProfile, mail);
        }
Esempio n. 2
0
        //4.
        public static ArrayList getCorrispondenti(ArrayList corrLite)
        {
            if (corrLite == null)
            {
                return(null);
            }
            ArrayList corrispondenti = new ArrayList();

            for (int i = 0; i < corrLite.Count; i++)
            {
                DocsPaVO.utente.Corrispondente corr = getCorrispondente((DocsPaVO.OggettiLite.CorrispondenteLite)corrLite[i]);
                corrispondenti.Add(corr);
            }
            return(corrispondenti);
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="cor"></param>
        /// <param name="idProfile"></param>
        /// <returns></returns>
        internal static DocsPaVO.utente.Corrispondente getDatiSpedizione(DocsPaVO.utente.Corrispondente cor, string idProfile)
        {
            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
            doc.GetDatiSpedizione(ref cor, idProfile);
            return(cor);

            #region Codice Commentato

            /*ArrayList lista = new ArrayList();
             * string idDocumentType = null;
             * string queryString="";
             * DocsPa_V15_Utils.Database db = DocsPa_V15_Utils.dbControl.getDatabase();
             * try
             * {
             *      db.openConnection();
             *      string queryString =
             *              "SELECT ID_DOCUMENTTYPE FROM DPA_STATO_INVIO " +
             *              "WHERE ID_PROFILE=" + idProfile;
             *
             *      if(!cor.GetType().Equals(typeof(DocsPaVO.utente.Gruppo)))
             *              queryString += " AND ID_CORR_GLOBALE=" + cor.systemId;
             *      else
             *              queryString += getCondIdGruppo(db, cor.systemId);
             *
             *      logger.Debug(queryString);
             *      DataSet dataSet;
             *      db.fillTable(queryString, dataSet, "STATO_INVIO");
             *
             *      foreach (DataRow dr in dataSet.Tables["STATO_INVIO"].Rows)
             *      {
             *              idDocumentType = dr["ID_DOCUMENTTYPE"].ToString();
             *      }
             *      db.closeConnection();
             * }
             * catch (Exception e)
             * {
             *      logger.Debug (e.Message);
             *      db.closeConnection();
             *      throw new Exception("F_System");
             * }
             * if (idDocumentType!=null && !idDocumentType.Equals(""))
             * {
             *      cor.canalePref = new DocsPaVO.utente.Canale();
             *      cor.canalePref.systemId = idDocumentType;
             * }
             * return cor;*/
            #endregion
        }
Esempio n. 4
0
        private static DocsPaVO.trasmissione.Trasmissione addTrasmissioneSingola(DocsPaVO.trasmissione.Trasmissione trasmissione, DocsPaVO.trasmissione.TrasmissioneSingola trasmSingolaTemplate, string idAmministrazione)
        {
            DocsPaVO.utente.Corrispondente corr = trasmSingolaTemplate.corrispondenteInterno;
            if (!Utenti.addressBookManager.isCorrispondenteValido(corr.systemId))
            {
                logger.Debug("Corrispondente: id:" + corr.systemId + " - desc:" + corr.descrizione + " non valido");
                return(trasmissione);
            }
            DocsPaVO.trasmissione.RagioneTrasmissione ragione = trasmSingolaTemplate.ragione;
            // Aggiungo la trasmissione singola
            DocsPaVO.trasmissione.TrasmissioneSingola trasmissioneSingola = new DocsPaVO.trasmissione.TrasmissioneSingola();
            trasmissioneSingola.tipoTrasm             = "S";
            trasmissioneSingola.corrispondenteInterno = corr;
            trasmissioneSingola.ragione = ragione;

            // Aggiungo la lista di trasmissioniUtente
            if (corr.GetType() == typeof(DocsPaVO.utente.Ruolo))
            {
                trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO;
                ArrayList listaUtenti = queryUtenti(corr.codiceRubrica, idAmministrazione);
                //ciclo per utenti se dest è gruppo o ruolo
                if (listaUtenti == null || listaUtenti.Count == 0)
                {
                    return(trasmissione);
                }
                for (int i = 0; i < listaUtenti.Count; i++)
                {
                    DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente();
                    trasmissioneUtente.utente = (DocsPaVO.utente.Utente)listaUtenti[i];
                    if (ragione.descrizione.Equals("RISPOSTA"))
                    {
                        trasmissioneUtente.idTrasmRispSing = trasmissioneSingola.systemId;
                    }
                    trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente);
                }
            }
            else
            {
                trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.UTENTE;
                DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente();
                trasmissioneUtente.utente = (DocsPaVO.utente.Utente)corr;
                trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente);
            }
            trasmissione.trasmissioniSingole.Add(trasmissioneSingola);
            return(trasmissione);
        }
Esempio n. 5
0
 /// <summary>
 /// </summary>
 /// <param name="corrispondente"></param>
 /// <returns></returns>
 internal static string getIdUtenteRuolo(DocsPaVO.utente.Corrispondente corrispondente)
 {
     if (corrispondente.GetType().Equals(typeof(DocsPaVO.utente.Utente)))
     {
         return(((DocsPaVO.utente.Utente)corrispondente).idPeople);
     }
     else if (corrispondente.GetType().Equals(typeof(DocsPaVO.utente.Ruolo)))
     {
         return(((DocsPaVO.utente.Ruolo)corrispondente).idGruppo);
     }
     else
     {
         logger.Debug("Errore nella gestione dei fascicoli. (getIdUtenteRuolo)");
         //TODO: gestire la throw
         throw new Exception("Tipo non supportato");
     }
 }
Esempio n. 6
0
        public static void PopolaCampiProcedimento(ref DocsPaVO.ProfilazioneDinamica.Templates template, DocsPaVO.utente.InfoUtente infoUtente)
        {
            foreach (DocsPaVO.ProfilazioneDinamica.OggettoCustom ogg in template.ELENCO_OGGETTI)
            {
                switch (ogg.DESCRIZIONE.ToUpper())
                {
                case "TERMINI":
                    ogg.VALORE_DATABASE = "120";     // CABLATO PER ORA
                    break;

                case "RESPONSABILE PROCEDIMENTO":
                    DocsPaVO.utente.Corrispondente corr = BusinessLogic.Utenti.UserManager.getCorrispondenteByCodRubrica("renzo.piano", infoUtente);     // CABLATO PER ORA
                    if (corr != null)
                    {
                        ogg.VALORE_DATABASE = corr.systemId;
                    }
                    break;
                }
            }
        }
Esempio n. 7
0
        /// <summary></summary>
        /// <param name="corr"></param>
        /// <param name="rowString"></param>
        /// <param name="report"></param>
        private static void addRowInTable(DocsPaVO.utente.Corrispondente corr, string rowString, ref ArrayList report)
        {
            string tmpStr = rowString;

            // tipo
            string tipo = "";

            if (corr.GetType().Equals(typeof(DocsPaVO.utente.Utente)))
            {
                tipo = "Utente";
            }
            else if (corr.GetType().Equals(typeof(DocsPaVO.utente.Ruolo)))
            {
                tipo = "Ruolo";
            }
            else if (corr.GetType().Equals(typeof(DocsPaVO.utente.UnitaOrganizzativa)))
            {
                tipo = "UO";
            }
            tmpStr = tmpStr.Replace("XTIPO", tipo);

            // codice
            tmpStr = tmpStr.Replace("XCODICE", corr.codiceRubrica);

            // descrizione
            tmpStr = tmpStr.Replace("XDESCRIZIONE", corr.descrizione);

            // email
            string email = "";

            if (corr.email != null)
            {
                email = corr.email;
            }
            tmpStr = tmpStr.Replace("XEMAIL", email);

            // tipo I/E
            tmpStr = tmpStr.Replace("XIE", corr.tipoIE);

            ReportUtils.addStringToReport(tmpStr, ref report);
        }
Esempio n. 8
0
        internal static DocsPaVO.documento.SchedaDocumento setProtoArrivo(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.documento.ProtocolloEmergenza protoEmergenza)
        {
            DocsPaVO.documento.ProtocolloEntrata proto = new DocsPaVO.documento.ProtocolloEntrata();
            //proto.daProtocollare = "1";
            if (protoEmergenza.dataProtocolloMittente != null &&
                protoEmergenza.dataProtocolloMittente != "")
            {
                protoEmergenza.dataProtocolloMittente = protoEmergenza.dataProtocolloMittente.Trim();
                if (protoEmergenza.dataProtocolloMittente.Length < 10)
                {
                    //anno di 2 cifre, non va su docspa:
                    DateTime d = new DateTime();
                    d = System.Convert.ToDateTime(protoEmergenza.dataProtocolloMittente);
                    string day   = d.Day.ToString();
                    string month = d.Month.ToString();
                    if (day != null && day.Length == 1)
                    {
                        day = "0" + day;
                    }
                    if (month != null && month.Length == 1)
                    {
                        month = "0" + month;
                    }
                    protoEmergenza.dataProtocolloMittente = day + "/" + month + "/" + d.Year.ToString();
                }
            }
            proto.dataProtocolloMittente        = protoEmergenza.dataProtocolloMittente;
            proto.descrizioneProtocolloMittente = protoEmergenza.numeroProtocolloMittente;

            //mittente
            DocsPaVO.utente.Corrispondente mittente = new DocsPaVO.utente.Corrispondente();
            mittente.descrizione       = protoEmergenza.mittenti[0].ToString();
            proto.mittente             = mittente;
            schedaDocumento.protocollo = proto;

            return(schedaDocumento);
        }
Esempio n. 9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="corrispondente"></param>
        /// <returns></returns>
        private static ArrayList getCorrispondentiGruppo(DocsPaVO.utente.Corrispondente corrispondente)
        {
            ArrayList list = new ArrayList();

            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
            list = doc.GetCorrispondentiGruppo(corrispondente);
            if (list == null)
            {
                //TODO: gestire la throw
                throw new Exception();
            }
            return(list);

            #region Codice Commentato

            /*ArrayList corrispondenti = new ArrayList();
             * string queryString =
             *      "SELECT A.SYSTEM_ID, A.VAR_COD_RUBRICA, A.ID_AMM, " +
             *      "A.CHA_TIPO_IE, A.CHA_TIPO_CORR, B.CHA_TIPO_MITT_DEST, A.VAR_DESC_CORR " +
             *      "FROM DPA_CORR_GLOBALI A, DPA_DOC_ARRIVO_PAR B, DPA_CORR_GRUPPO C " +
             *      "WHERE A.SYSTEM_ID=B.ID_MITT_DEST AND A.SYSTEM_ID=C.ID_COMP_GRUPPO AND C.ID_GRUPPO=" + corrispondente.systemId;
             *
             * logger.Debug(queryString);
             * IDataReader dr = db.executeReader(queryString);
             * while (dr.Read())
             * {
             *      corrispondenti.Add(DocManager.getCorrispondente(dr));
             * }
             * dr.Close();
             *
             * if (corrispondenti.Count == 0)
             * {
             *      corrispondenti.Add(corrispondente);
             * }
             * return corrispondenti;*/
            #endregion
        }
Esempio n. 10
0
        /// <summary>
        /// </summary>
        /// <param name="corr"></param>
        /// <param name="db"></param>
        /// <param name="debug"></param>
        /// <returns></returns>
        private static bool isFaxPreferred(DocsPaVO.utente.Corrispondente corr)
        {
            //System.Data.DataSet ds=new System.Data.DataSet();
            System.Data.DataSet ds;

            try
            {
                DocsPaDB.Query_DocsPAWS.Fax obj = new DocsPaDB.Query_DocsPAWS.Fax();
                obj.getFax(out ds, corr);

                if (ds.Tables["CANALE"].Rows.Count == 0)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
Esempio n. 11
0
        public static string getDettagliMittDest(DocsPaVO.documento.SchedaDocumento schedaDoc)
        {
            string res = "";

            DocsPaVO.utente.Corrispondente corr = null;
            if (schedaDoc.protocollo.GetType().Equals(typeof(DocsPaVO.documento.ProtocolloEntrata)))
            {
                DocsPaVO.documento.ProtocolloEntrata pe = (DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo;
                corr = pe.mittente;
            }
            else
            {
                DocsPaVO.documento.ProtocolloUscita pu = (DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo;
                if (pu.destinatari != null && pu.destinatari.Count > 0)
                {
                    corr = (DocsPaVO.utente.Corrispondente)pu.destinatari[0];
                }
            }
            if (corr != null)
            {
                res = getCorrectString(corr.descrizione);
            }
            return(res);
        }
Esempio n. 12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="corr"></param>
        /// <param name="idProfile"></param>
        internal static void updateTipoSpedizione(DocsPaVO.utente.Corrispondente corr, string idProfile)
        {
            #region Codice Commentato

            /*if (corr != null && corr.canalePref != null)
             * {
             *      string typeId;
             *      if (corr.canalePref.systemId == null)
             *              typeId = "NULL";
             *      else
             *              typeId = corr.canalePref.systemId;
             *      string updateString =
             *              "UPDATE DPA_STATO_INVIO SET " +
             *              "ID_DOCUMENTTYPE = "  + typeId +
             *              " WHERE ID_PROFILE=" + idProfile + " AND ID_CORR_GLOBALE = " + corr.systemId;
             *
             *      logger.Debug(updateString);
             *      db.executeLocked(updateString);
             * }*/
            #endregion

            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
            doc.UpdateTipoSpedizione(corr, idProfile);
        }
Esempio n. 13
0
        internal static DocsPaVO.documento.SchedaDocumento setProtoInterno(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.documento.ProtocolloEmergenza protoEmergenza)
        {
            DocsPaVO.documento.ProtocolloInterno proto = new DocsPaVO.documento.ProtocolloInterno();
            //proto.daProtocollare = "1";
            //destinatari
            proto.destinatari = new ArrayList(protoEmergenza.destinatari.Count);
            for (int i = 0; i < protoEmergenza.destinatari.Count; i++)
            {
                DocsPaVO.utente.Corrispondente corr = new DocsPaVO.utente.Corrispondente();
                corr.descrizione = protoEmergenza.destinatari[i].ToString();

                proto.destinatari.Add(corr);
            }
            //destinatariCC
            proto.destinatariConoscenza = new ArrayList(protoEmergenza.destinatariCC.Count);
            for (int j = 0; j < protoEmergenza.destinatariCC.Count; j++)
            {
                DocsPaVO.utente.Corrispondente corr = new DocsPaVO.utente.Corrispondente();
                corr.descrizione = protoEmergenza.destinatariCC[j].ToString();
                proto.destinatariConoscenza.Add(corr);
            }
            schedaDocumento.protocollo = proto;
            return(schedaDocumento);
        }
Esempio n. 14
0
        public static Services.AddressBook.GetCorrespondent.GetCorrespondentResponse GetCorrespondent(Services.AddressBook.GetCorrespondent.GetCorrespondentRequest request)
        {
            Services.AddressBook.GetCorrespondent.GetCorrespondentResponse response = new Services.AddressBook.GetCorrespondent.GetCorrespondentResponse();

            try
            {
                DocsPaVO.utente.Utente     utente     = null;
                DocsPaVO.utente.InfoUtente infoUtente = null;

                //Inizio controllo autenticazione utente
                infoUtente = Utils.CheckAuthentication(request, "GetCorrespondent");

                utente = BusinessLogic.Utenti.UserManager.getUtenteById(infoUtente.idPeople);
                if (utente == null)
                {
                    //Utente non trovato
                    throw new PisException("USER_NO_EXIST");
                }
                //Fine controllo autenticazione utente

                if (string.IsNullOrEmpty(request.IdCorrespondent))
                {
                    //Id del corrispondente non presente
                    throw new PisException("REQUIRED_IDCORRESPONDENT");
                }

                DocsPaVO.utente.Corrispondente corr = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemID(request.IdCorrespondent);

                if ((corr == null) || (corr != null && string.IsNullOrEmpty(corr.systemId) && string.IsNullOrEmpty(corr.codiceRubrica)))
                {
                    bool rubricaComuneAbilitata = BusinessLogic.RubricaComune.Configurazioni.GetConfigurazioni(infoUtente).GestioneAbilitata;
                    if (rubricaComuneAbilitata)
                    {
                        corr = BusinessLogic.Utenti.UserManager.getCorrispondenteByCodRubricaRubricaComune(request.IdCorrespondent, infoUtente);
                    }

                    if (corr == null)
                    {
                        //Corrispondente non trovato
                        throw new PisException("CORRESPONDENT_NOT_FOUND");
                    }
                    else
                    {
                        corr.inRubricaComune = true;
                    }
                }
                else
                {
                    corr.inRubricaComune = false;
                }

                Domain.Correspondent corrResponse = Utils.GetCorrespondent(corr, infoUtente);
                response.Correspondent = corrResponse;

                response.Success = true;
            }
            catch (PisException pisEx)
            {
                logger.ErrorFormat("PISException: {0}, {1}", pisEx.ErrorCode, pisEx.Description);
                response.Error = new Services.ResponseError
                {
                    Code        = pisEx.ErrorCode,
                    Description = pisEx.Description
                };

                response.Success = false;
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Eccezione Generica: APPLICATION_ERROR, {0}", ex.Message);
                response.Error = new Services.ResponseError
                {
                    Code        = "APPLICATION_ERROR",
                    Description = ex.Message
                };

                response.Success = false;
            }

            return(response);
        }
Esempio n. 15
0
        public static Services.AddressBook.EditCorrespondent.EditCorrespondentResponse EditCorrespondent(Services.AddressBook.EditCorrespondent.EditCorrespondentRequest request)
        {
            Services.AddressBook.EditCorrespondent.EditCorrespondentResponse response = new Services.AddressBook.EditCorrespondent.EditCorrespondentResponse();

            try
            {
                DocsPaVO.utente.Utente     utente     = null;
                DocsPaVO.utente.InfoUtente infoUtente = null;

                //Inizio controllo autenticazione utente
                infoUtente = Utils.CheckAuthentication(request, "EditCorrespondent");

                utente = BusinessLogic.Utenti.UserManager.getUtenteById(infoUtente.idPeople);
                if (utente == null)
                {
                    //Utente non trovato
                    throw new PisException("USER_NO_EXIST");
                }
                //Fine controllo autenticazione utente

                if (request == null)
                {
                    throw new PisException("REQUIRED_CORRESPONDENT");
                }

                if (string.IsNullOrEmpty(request.Correspondent.Id))
                {
                    //Corrispondente non trovato
                    throw new PisException("REQUIRED_IDCORRESPONDENT");
                }

                DocsPaVO.utente.Corrispondente corr = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemIDDisabled(request.Correspondent.Id);

                if (corr == null)
                {
                    //Corrispondente non trovato
                    throw new PisException("CORRESPONDENT_NOT_FOUND");
                }

                string message = string.Empty;

                DocsPaVO.utente.DatiModificaCorr mod = new DocsPaVO.utente.DatiModificaCorr();
                mod = Utils.GetModificaCorrespondentFromPis(request.Correspondent, corr);

                bool result = BusinessLogic.Utenti.UserManager.ModifyCorrispondenteEsterno(mod, infoUtente, out message);

                if (result)
                {
                    //DocsPaVO.utente.Corrispondente corrRes = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemIDDisabled(request.Correspondent.Id);
                    //DocsPaVO.utente.Corrispondente corrRes = BusinessLogic.Utenti.UserManager.getCorrispondenteByCodRubricaNotDisabled(request.Correspondent.Code, request.Correspondent.Type == "E" ? DocsPaVO.addressbook.TipoUtente.ESTERNO : DocsPaVO.addressbook.TipoUtente.INTERNO, infoUtente);

                    DocsPaVO.utente.Corrispondente corrRes = BusinessLogic.Utenti.UserManager.getCorrispondenteByCodRubricaNotDisabled(request.Correspondent.Code, DocsPaVO.addressbook.TipoUtente.GLOBALE, infoUtente);
                    if (corrRes == null)
                    {
                        corrRes = BusinessLogic.Utenti.UserManager.getCorrispondenteByCodRubricaNotDisabled(request.Correspondent.Code, DocsPaVO.addressbook.TipoUtente.INTERNO, infoUtente);
                    }
                    if (corrRes != null && corrRes.tipoIE == "E" && !string.IsNullOrEmpty(corrRes.email))
                    {
                        if (!string.IsNullOrEmpty(corrRes.email))
                        {
                            List <DocsPaVO.utente.MailCorrispondente> casella = new List <DocsPaVO.utente.MailCorrispondente>();
                            casella.Add(new DocsPaVO.utente.MailCorrispondente()
                            {
                                Email      = corrRes.email,
                                Note       = "",
                                Principale = "1"
                            });

                            BusinessLogic.Utenti.addressBookManager.InsertMailCorrispondente(casella, corrRes.systemId);
                        }
                    }
                    response.Correspondent = Utils.GetCorrespondent(corrRes, infoUtente);
                    response.Success       = true;
                }
                else
                {
                    //Corrispondente non trovato
                    throw new PisException("CORRESPONDENT_NOT_FOUND");
                }
            }
            catch (PisException pisEx)
            {
                logger.ErrorFormat("PISException: {0}, {1}", pisEx.ErrorCode, pisEx.Description);
                response.Error = new Services.ResponseError
                {
                    Code        = pisEx.ErrorCode,
                    Description = pisEx.Description
                };

                response.Success = false;
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Eccezione Generica: APPLICATION_ERROR, {0}", ex.Message);
                response.Error = new Services.ResponseError
                {
                    Code        = "APPLICATION_ERROR",
                    Description = ex.Message
                };

                response.Success = false;
            }

            return(response);
        }
Esempio n. 16
0
        public static Services.AddressBook.AddCorrespondent.AddCorrespondentResponse AddCorrespondent(Services.AddressBook.AddCorrespondent.AddCorrespondentRequest request)
        {
            Services.AddressBook.AddCorrespondent.AddCorrespondentResponse response = new Services.AddressBook.AddCorrespondent.AddCorrespondentResponse();
            try
            {
                DocsPaVO.utente.Utente     utente     = null;
                DocsPaVO.utente.InfoUtente infoUtente = null;

                //Inizio controllo autenticazione utente
                infoUtente = Utils.CheckAuthentication(request, "AddCorrespondent");

                utente = BusinessLogic.Utenti.UserManager.getUtenteById(infoUtente.idPeople);
                if (utente == null)
                {
                    //Utente non trovato
                    throw new PisException("USER_NO_EXIST");
                }
                //Fine controllo autenticazione utente

                if (request.Correspondent == null)
                {
                    //Corrispondente non trovato
                    throw new PisException("REQUIRED_CORRESPONDENT");
                }

                if (string.IsNullOrEmpty(request.Correspondent.CorrespondentType) || (!request.Correspondent.CorrespondentType.Equals("U") && !request.Correspondent.CorrespondentType.Equals("P")))
                {
                    //Inserire il tipo U o P
                    throw new PisException("REQUIRED_CORRESPONDENTTYPE");
                }

                if (request.Correspondent.CorrespondentType.Equals("U"))
                {
                    if (string.IsNullOrEmpty(request.Correspondent.Description))
                    {
                        //richiesta descrizione
                        throw new PisException("REQUIRED_DESCRIPTION_CORREPONDENT");
                    }
                }

                if (request.Correspondent.CorrespondentType.Equals("P"))
                {
                    if (string.IsNullOrEmpty(request.Correspondent.Name) || string.IsNullOrEmpty(request.Correspondent.Surname))
                    {
                        //richiesta descrizione
                        throw new PisException("REQUIRED_N_S_CORREPONDENT");
                    }
                }

                DocsPaVO.utente.Corrispondente corrResult   = null;
                Domain.Correspondent           corrResponse = null;

                //Posso creare solo esterni
                request.Correspondent.Type = "E";

                DocsPaVO.utente.Corrispondente corr = Utils.GetCorrespondentFromPisNewInsert(request.Correspondent, infoUtente);


                if (corr != null && !string.IsNullOrEmpty(corr.tipoCorrispondente) && !corr.tipoCorrispondente.Equals("O") && !BusinessLogic.Utenti.addressBookManager.VerificaInserimentoCorrispondente(corr, null))
                {
                    //Codice corrispondente già presente
                    throw new PisException("CODE_CORRESPONDENT_EXISTS");
                }

                corrResult = BusinessLogic.Utenti.addressBookManager.insertCorrispondente(corr, null);

                corrResponse = Utils.GetCorrespondent(corrResult, infoUtente);

                if (corrResponse != null)
                {
                    List <DocsPaVO.utente.MailCorrispondente> casella = new List <DocsPaVO.utente.MailCorrispondente>();
                    casella.Add(new DocsPaVO.utente.MailCorrispondente()
                    {
                        Email      = corrResult.email,
                        Note       = "",
                        Principale = "1"
                    });

                    BusinessLogic.Utenti.addressBookManager.InsertMailCorrispondente(casella, corrResult.systemId);
                    response.Correspondent = corrResponse;
                    response.Success       = true;
                }
                else
                {
                    //Corrispondente non trovato
                    throw new PisException("USER_NO_EXIST");
                }
            }
            catch (PisException pisEx)
            {
                logger.ErrorFormat("PISException: {0}, {1}", pisEx.ErrorCode, pisEx.Description);
                response.Error = new Services.ResponseError
                {
                    Code        = pisEx.ErrorCode,
                    Description = pisEx.Description
                };

                response.Success = false;
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Eccezione Generica: APPLICATION_ERROR, {0}", ex.Message);
                response.Error = new Services.ResponseError
                {
                    Code        = "APPLICATION_ERROR",
                    Description = ex.Message
                };

                response.Success = false;
            }

            return(response);
        }
Esempio n. 17
0
        public static Services.AddressBook.DeleteCorrespondent.DeleteCorrespondentResponse DeleteCorrespondent(Services.AddressBook.DeleteCorrespondent.DeleteCorrespondentRequest request)
        {
            Services.AddressBook.DeleteCorrespondent.DeleteCorrespondentResponse response = new Services.AddressBook.DeleteCorrespondent.DeleteCorrespondentResponse();

            try
            {
                DocsPaVO.utente.Utente     utente     = null;
                DocsPaVO.utente.InfoUtente infoUtente = null;

                //Inizio controllo autenticazione utente
                infoUtente = Utils.CheckAuthentication(request, "DeleteCorrespondent");

                utente = BusinessLogic.Utenti.UserManager.getUtenteById(infoUtente.idPeople);
                if (utente == null)
                {
                    //Utente non trovato
                    throw new PisException("USER_NO_EXIST");
                }
                //Fine controllo autenticazione utente

                if (string.IsNullOrEmpty(request.CorrespondentId))
                {
                    //Corrispondente non trovato
                    throw new PisException("REQUIRED_IDCORRESPONDENT");
                }

                DocsPaVO.utente.Corrispondente corr = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemIDDisabled(request.CorrespondentId);

                if (corr == null)
                {
                    //Corrispondente non trovato
                    throw new PisException("CORRESPONDENT_NOT_FOUND");
                }

                string message = string.Empty;

                bool result = BusinessLogic.Utenti.UserManager.DeleteCorrispondenteEsterno(request.CorrespondentId, 0, infoUtente, out message);

                if (result)
                {
                    response.Success = true;
                }
                else
                {
                    //Corrispondente non trovato
                    throw new PisException("CORRESPONDENT_NOT_FOUND");
                }
            }
            catch (PisException pisEx)
            {
                logger.ErrorFormat("PISException: {0}, {1}", pisEx.ErrorCode, pisEx.Description);
                response.Error = new Services.ResponseError
                {
                    Code        = pisEx.ErrorCode,
                    Description = pisEx.Description
                };

                response.Success = false;
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Eccezione Generica: APPLICATION_ERROR, {0}", ex.Message);
                response.Error = new Services.ResponseError
                {
                    Code        = "APPLICATION_ERROR",
                    Description = ex.Message
                };

                response.Success = false;
            }

            return(response);
        }
Esempio n. 18
0
        public string Protocolla(ArrayList listaCampi,
                                 ArrayList listaDati,
                                 out int numProto,
                                 out string segnatura)
        {
            string err = string.Empty;

            numProto  = 0;
            segnatura = string.Empty;

            // CAMPI
            string userID            = listaCampi[0].ToString();
            string pwd               = listaCampi[1].ToString();
            string idCorrRuolo       = listaCampi[2].ToString();
            string idGruppo          = listaCampi[3].ToString();
            string livelloRuolo      = listaCampi[4].ToString();
            string idUO              = listaCampi[5].ToString();
            string codUO             = listaCampi[6].ToString();
            string descUO            = listaCampi[7].ToString();
            string idAmm             = listaCampi[8].ToString();
            string idRegistro        = listaCampi[9].ToString();
            string nomeUtenteProt    = listaCampi[10].ToString();
            string cognomeUtenteProt = listaCampi[11].ToString();

            // DATI
            string dataProtoEme     = listaDati[0].ToString();
            string numProtoEme      = listaDati[1].ToString();
            string protoEme         = listaDati[2].ToString();
            string tipoProtocollo   = listaDati[3].ToString();
            string oggetto          = listaDati[4].ToString();
            string corrispondenti   = listaDati[5].ToString();
            string corrispondentiCC = listaDati[6].ToString();
            string dataProtoMitt    = listaDati[7].ToString();
            string numProtoMitt     = listaDati[8].ToString();
            string dataArrivo       = listaDati[9].ToString();
            string codClassifica    = listaDati[10].ToString();
            string note             = listaDati[11].ToString();
            string systemIdRF       = listaDati[12].ToString();

            try
            {
                this.canaleWSAperto();

                // login
                err = Login(userID, pwd, idAmm);
                if (err != null && err != string.Empty)
                {
                    return("ERRORE: " + err);
                }

                // ruolo
                this._ruolo          = new DocsPaVO.utente.Ruolo();
                this._ruolo.systemId = idCorrRuolo;
                this._ruolo.idGruppo = idGruppo;
                DocsPaVO.utente.UnitaOrganizzativa uo = new DocsPaVO.utente.UnitaOrganizzativa();
                uo.codice            = codUO;
                uo.descrizione       = descUO;
                uo.idAmministrazione = idAmm;
                uo.systemId          = idUO;
                this._ruolo.uo       = uo;
                this._ruolo.livello  = livelloRuolo;
                this._ruolo.registri = new ArrayList();
                this._ruolo.registri.Add(this._ws.GetRegistroBySistemId(idRegistro));

                // utente
                DocsPaVO.utente.InfoUtente infoUtente = this.getInfoUtente();

                DocsPaVO.utente.Corrispondente     corr      = null;
                DocsPaVO.documento.SchedaDocumento schedaDoc = new DocsPaVO.documento.SchedaDocumento();;

                // Tipologia Protocollo
                if (tipoProtocollo == "P")
                {
                    DocsPaVO.documento.ProtocolloUscita protoOUT = new DocsPaVO.documento.ProtocolloUscita();

                    // un solo mittente = struttura del protocollista
                    corr                      = new DocsPaVO.utente.Corrispondente();
                    corr.systemId             = idUO;
                    corr.codiceCorrispondente = codUO;
                    corr.descrizione          = descUO;
                    corr.tipoIE               = "I";
                    corr.idAmministrazione    = idAmm;
                    corr.dettagli             = false;
                    protoOUT.mittente         = corr;

                    // uno o più destinatari
                    if (protoOUT.destinatari == null)
                    {
                        protoOUT.destinatari = new ArrayList();
                    }

                    string[] lstCorrEst = corrispondenti.Split(';');
                    foreach (string corrEst in lstCorrEst)
                    {
                        protoOUT.destinatari.Add(corrDestOcc(corrEst.Trim(), idAmm));
                    }

                    if (!string.IsNullOrEmpty(corrispondentiCC.Trim()))
                    {
                        // uno o più destinatari in conoscenza
                        if (protoOUT.destinatariConoscenza == null)
                        {
                            protoOUT.destinatariConoscenza = new ArrayList();
                        }

                        string[] lstCorrEstCC = corrispondentiCC.Split(';');
                        foreach (string corrEstCC in lstCorrEstCC)
                        {
                            protoOUT.destinatariConoscenza.Add(corrDestOcc(corrEstCC.Trim(), idAmm));
                        }
                    }

                    schedaDoc.protocollo = protoOUT;
                    schedaDoc.tipoProto  = "P";
                }

                // protocollo in arrivo
                if (tipoProtocollo == "A")
                {
                    DocsPaVO.documento.ProtocolloEntrata protoIN = new DocsPaVO.documento.ProtocolloEntrata();

                    // un solo mittente = struttura del protocollista
                    //corr = new DocsPaVO.utente.Corrispondente();
                    //corr.systemId = idUO;
                    //corr.codiceCorrispondente = codUO;
                    //corr.descrizione = descUO;
                    //corr.tipoIE = "I";
                    //corr.idAmministrazione = idAmm;
                    //corr.dettagli = false;
                    //protoIN.mittente = corr;
                    string corrispondente = string.Empty;
                    if (!string.IsNullOrEmpty(corrispondenti.Trim()))
                    {
                        if (corrispondenti.Contains(";"))
                        {
                            corrispondente = corrispondenti.Substring(0, corrispondenti.IndexOf(";") + 1);
                        }
                        else
                        {
                            corrispondente = corrispondenti;
                        }
                    }

                    DocsPaVO.utente.Corrispondente corr2 = new DocsPaVO.utente.Corrispondente();
                    corr2.descrizione        = corrispondente;
                    corr2.tipoCorrispondente = "O";
                    corr2.tipoIE             = "E";
                    corr2.idAmministrazione  = idAmm;
                    corr2.dettagli           = false;

                    protoIN.mittente = corr2;

                    // protocollo mittente
                    if (dataProtoMitt != null && dataProtoMitt != string.Empty)
                    {
                        protoIN.dataProtocolloMittente = dataProtoMitt;
                    }
                    if (numProtoMitt != null && numProtoMitt != string.Empty)
                    {
                        protoIN.descrizioneProtocolloMittente = numProtoMitt;
                    }

                    // data arrivo
                    if (dataArrivo != null && dataArrivo != string.Empty)
                    {
                        DocsPaVO.documento.Documento doc = new DocsPaVO.documento.Documento();
                        doc.dataArrivo = dataArrivo;

                        schedaDoc.documenti = new ArrayList();
                        schedaDoc.documenti.Add(doc);
                    }

                    schedaDoc.protocollo = protoIN;
                    schedaDoc.tipoProto  = "A";
                }

                schedaDoc = this.creaSchedaDocumento(idRegistro, oggetto, note, schedaDoc);

                // esegue il tutto solo se il registro non è chiuso
                if (!schedaDoc.registro.stato.Equals("C"))
                {
                    // dati di emergenza
                    schedaDoc.datiEmergenza = new DocsPaVO.documento.DatiEmergenza();
                    schedaDoc.datiEmergenza.dataProtocollazioneEmergenza   = dataProtoEme;
                    schedaDoc.datiEmergenza.protocolloEmergenza            = protoEme;
                    schedaDoc.datiEmergenza.cognomeProtocollatoreEmergenza = cognomeUtenteProt;
                    schedaDoc.datiEmergenza.nomeProtocollatoreEmergenza    = nomeUtenteProt;

                    // protocollatore
                    schedaDoc.protocollatore = new DocsPaVO.documento.Protocollatore(infoUtente.idPeople, idCorrRuolo, idUO, codUO);

                    // creatore del documento
                    schedaDoc.creatoreDocumento = new DocsPaVO.documento.CreatoreDocumento(infoUtente.idPeople, idCorrRuolo, idUO);

                    // controllo su univocità RF nel caso di RF presente nella segnatura
                    // questo codice prevede la presenza della chiave del web config nel WS
                    //if (ConfigurationManager.AppSettings["ENABLE_CODBIS_SEGNATURA"] != null && ConfigurationManager.AppSettings["ENABLE_CODBIS_SEGNATURA"] == "1")
                    //{
                    //DocsPaDB.Query_DocsPAWS.Amministrazione amm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
                    //DocsPaVO.amministrazione.InfoAmministrazione infoAmm = amm.AmmGetInfoAmmCorrente(infoUtente.idAmministrazione);
                    //if (infoAmm.Segnatura.Contains("COD_RF_PROT"))
                    //{
                    //    // se ci sono uno o più RF associati al registro
                    //    DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                    //    ArrayList listaRF = new ArrayList();
                    //    listaRF = utenti.GetListaRegistriRfRuolo(idCorrRuolo, "1", idRegistro);
                    //    if (listaRF != null && listaRF.Count == 1) //se un solo RF non apro popup, ma selec direttamente.
                    //    {
                    //        DocsPaVO.utente.Registro reg = (DocsPaVO.utente.Registro)listaRF[0];
                    //        schedaDoc.id_rf_prot = reg.systemId;
                    //        schedaDoc.cod_rf_prot = reg.codRegistro;
                    //    }
                    //}
                    //}

                    //verifico se è stato inserito il codice RF da foglio excel
                    if (!string.IsNullOrEmpty(systemIdRF))
                    {
                        DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                        DocsPaVO.utente.Registro       reg    = new DocsPaVO.utente.Registro();
                        utenti.GetRegistro(systemIdRF, ref reg);
                        if (reg != null && !string.IsNullOrEmpty(reg.systemId) && !string.IsNullOrEmpty(reg.codRegistro))
                        {
                            schedaDoc.id_rf_prot  = reg.systemId;
                            schedaDoc.cod_rf_prot = reg.codRegistro;
                        }
                    }

                    DocsPaVO.documento.ResultProtocollazione risultatoProtocollazione;
                    DocsPaVO.documento.SchedaDocumento       schedaResult = this._ws.DocumentoProtocolla(schedaDoc, infoUtente, this._ruolo, out risultatoProtocollazione);

                    if (schedaResult != null)
                    {
                        this.putinfoCorr(schedaResult);
                        numProto  = Int32.Parse(schedaResult.protocollo.numero);
                        segnatura = schedaResult.protocollo.segnatura;
                        string idProfile = schedaResult.docNumber;
                        err = "Ok - ";

                        // classificazione
                        if (codClassifica != null && codClassifica != string.Empty)
                        {
                            DocsPaVO.fascicolazione.Fascicolo fascicolo = this._ws.FascicolazioneGetFascicoloDaCodice(infoUtente, codClassifica, schedaDoc.registro, false, false);
                            if (fascicolo != null)
                            {
                                // recupera il folder
                                DocsPaVO.fascicolazione.Folder folder = this._ws.FascicolazioneGetFolder(infoUtente.idPeople, idGruppo, fascicolo);

                                if (folder != null)
                                {
                                    bool   outValue = false;
                                    string msg      = string.Empty;
                                    // classifica
                                    outValue = this._ws.FascicolazioneAddDocFolder(infoUtente, idProfile, folder, fascicolo.descrizione, out msg);
                                    if (outValue)
                                    {
                                        err += " - Classificato su: " + codClassifica;
                                    }
                                    else
                                    {
                                        err += " - Classificazione fallita!";
                                    }
                                }
                                else
                                {
                                    err += " - Classificazione fallita!";
                                }
                            }
                            else
                            {
                                err += " - Classificazione fallita!";
                            }
                        }
                        err += " Nuova segnatura: " + segnatura;
                    }
                    else
                    {
                        err = "Errore: protocollazione fallita!";
                    }
                }
                else
                {
                    err = "registro chiuso";
                }
            }
            catch (Exception ex)
            {
                err = "Errore: protocollazione fallita! - " + ex.ToString();
            }
            finally
            {
                this.Logoff();
                this.chiudiCanaleWS();
            }

            return(err);
        }
Esempio n. 19
0
        /// <summary>
        /// </summary>
        /// <param name="db"></param>
        /// <param name="idProject"></param>
        /// <param name="debug"></param>
        /// <returns></returns>
        internal static ArrayList getVisibilita(/*DocsPaWS.Utils.Database db,*/ string idProject, bool cercaRimossi, string rootFolder)
        {
            System.Collections.ArrayList listaDiritti = new System.Collections.ArrayList();

            //query distinte per i ruoli e per gli utenti
            //1-->inserimento ruoli
            DataSet dataSet;//= new  DataSet();

            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoli = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            fascicoli.GetVisibilita(out dataSet, idProject);
            fascicoli.Dispose();
            foreach (DataRow ruoloRow in dataSet.Tables["DIRITTI_RUOLI"].Rows)
            {
                DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                DocsPaVO.utente.Ruolo ruolo = new DocsPaVO.utente.Ruolo();
                DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente();
                qco.codiceRubrica = ruoloRow["VAR_COD_RUBRICA"].ToString();
                qco.getChildren   = false;

                if (ruoloRow["ID_REGISTRO"] != null && !ruoloRow["ID_REGISTRO"].ToString().Equals(""))
                {
                    System.Collections.ArrayList reg = new System.Collections.ArrayList();
                    reg.Add(ruoloRow["ID_REGISTRO"].ToString());
                    qco.idRegistri = reg;
                }

                if (ruoloRow["ID_AMM"] != null && !ruoloRow["ID_AMM"].ToString().Equals(""))
                {
                    qco.idAmministrazione = ruoloRow["ID_AMM"].ToString();
                }

                qco.tipoUtente               = DocsPaVO.addressbook.TipoUtente.INTERNO;
                ruolo                        = (DocsPaVO.utente.Ruolo)BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco)[0];
                dirittoOggetto.idObj         = idProject;
                dirittoOggetto.soggetto      = ruolo;
                dirittoOggetto.tipoDiritto   = getDirittoFasc(ruoloRow["CHA_TIPO_DIRITTO"].ToString());
                dirittoOggetto.accessRights  = Convert.ToInt32(ruoloRow["ACCESSRIGHTS"]);
                dirittoOggetto.deleted       = false;
                dirittoOggetto.personorgroup = ruoloRow["PERSONORGROUP"].ToString();
                dirittoOggetto.rootFolder    = rootFolder;

                listaDiritti.Add(dirittoOggetto);
            }

            //2-->Inserimento utenti
            DocsPaDB.Query_DocsPAWS.Fascicoli fascicoliUtenti = new DocsPaDB.Query_DocsPAWS.Fascicoli();
            DataSet dataSet1;

            fascicoliUtenti.GetVisibilita1(out dataSet1, idProject);
            fascicoliUtenti.Dispose();
            DocsPaVO.addressbook.QueryCorrispondente qco1          = new DocsPaVO.addressbook.QueryCorrispondente();
            System.Collections.ArrayList             utentiInt     = new ArrayList();
            DocsPaVO.utente.Corrispondente           soggettoPropr = null;
            string delegante = "";

            if (dataSet1.Tables["DIRITTI_UTENTI"].Rows.Count > 1)
            {
                foreach (DataRow utenteRow in dataSet1.Tables["DIRITTI_UTENTI"].Rows)
                {
                    DocsPaVO.fascicolazione.TipoDiritto tipoDiritto = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                    if (tipoDiritto.Equals(DocsPaVO.fascicolazione.TipoDiritto.TIPO_PROPRIETARIO))
                    {
                        qco1.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString();
                        qco1.getChildren   = false;
                        if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals(""))
                        {
                            System.Collections.ArrayList reg = new System.Collections.ArrayList();
                            reg.Add(utenteRow["ID_REGISTRO"].ToString());
                            qco1.idRegistri = reg;
                        }
                        if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals(""))
                        {
                            qco1.idAmministrazione = utenteRow["ID_AMM"].ToString();
                        }
                        qco1.tipoUtente = DocsPaVO.addressbook.TipoUtente.INTERNO;

                        //gadamo 16.12.2008
                        qco1.fineValidita = false; // voglio recuperare anche i disabilitati ( non mette "DTA_FINE IS NULL" nella query nel metodo Utenti.ListaCorrispondentiInt(qco) )


                        utentiInt = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco1);
                        //DocsPaVO.utente.Utente utProprietario = new DocsPaVO.utente.Utente();
                        //utentiInt = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco1);
                        if (utentiInt != null && utentiInt.Count > 0)
                        {
                            soggettoPropr = (DocsPaVO.utente.Utente)utentiInt[0];
                            //soggettoPropr = utProprietario;
                        }
                    }
                }
            }
            else
            {
                DataRow row = (DataRow)(dataSet1.Tables["DIRITTI_UTENTI"].Rows[0]);
                delegante = row["VAR_COGNOME"].ToString() + " " + row["VAR_NOME"].ToString();
            }


            foreach (DataRow utenteRow in dataSet1.Tables["DIRITTI_UTENTI"].Rows)
            {
                DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                DocsPaVO.utente.Utente utente = new DocsPaVO.utente.Utente();
                DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente();
                qco.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString();
                qco.getChildren   = false;

                if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals(""))
                {
                    System.Collections.ArrayList reg = new System.Collections.ArrayList();
                    reg.Add(utenteRow["ID_REGISTRO"].ToString());
                    qco.idRegistri = reg;
                }

                if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals(""))
                {
                    qco.idAmministrazione = utenteRow["ID_AMM"].ToString();
                }

                qco.tipoUtente = DocsPaVO.addressbook.TipoUtente.INTERNO;
                ArrayList utenti = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco);
                utente = (DocsPaVO.utente.Utente)BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco)[0];
                dirittoOggetto.idObj       = idProject;
                dirittoOggetto.tipoDiritto = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                //dirittoOggetto.soggetto=utente;
                if (dirittoOggetto.tipoDiritto.Equals(DocsPaVO.fascicolazione.TipoDiritto.TIPO_DELEGATO))
                {
                    dirittoOggetto.soggetto = utente;
                    if (soggettoPropr != null)
                    {
                        dirittoOggetto.soggetto.descrizione = utente.descrizione + " sostituto di " + soggettoPropr.descrizione;
                    }
                    else
                    {
                        dirittoOggetto.soggetto.descrizione = utente.descrizione + " sostituto di " + delegante;
                    }
                }
                else
                {
                    dirittoOggetto.soggetto = utente;
                }
                dirittoOggetto.accessRights  = Convert.ToInt32(utenteRow["ACCESSRIGHTS"]);
                dirittoOggetto.deleted       = false;
                dirittoOggetto.personorgroup = utenteRow["PERSONORGROUP"].ToString();
                dirittoOggetto.rootFolder    = rootFolder;
                listaDiritti.Add(dirittoOggetto);
                logger.Debug("Utente inserito");
            }
            ;

            //3-4 --> inserimento ruoli e utenti rimossi
            if (cercaRimossi)
            {
                //3-->gestione ruoli diritti rimossi
                DataSet dsRuoliRimossi;//= new  DataSet();
                DocsPaDB.Query_DocsPAWS.Fascicoli fascRuoliRimossi = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                fascRuoliRimossi.GetVisibilita_rimossi(out dsRuoliRimossi, idProject);
                fascRuoliRimossi.Dispose();
                foreach (DataRow ruoloRow in dsRuoliRimossi.Tables["DIRITTI_RUOLI_RIMOSSI"].Rows)
                {
                    DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                    DocsPaVO.utente.Ruolo ruolo = new DocsPaVO.utente.Ruolo();

                    DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente();
                    qco.codiceRubrica = ruoloRow["VAR_COD_RUBRICA"].ToString();
                    qco.getChildren   = false;
                    if (ruoloRow["ID_REGISTRO"] != null && !ruoloRow["ID_REGISTRO"].ToString().Equals(""))
                    {
                        System.Collections.ArrayList reg = new System.Collections.ArrayList();
                        reg.Add(ruoloRow["ID_REGISTRO"].ToString());
                        qco.idRegistri = reg;
                    }
                    if (ruoloRow["ID_AMM"] != null && !ruoloRow["ID_AMM"].ToString().Equals(""))
                    {
                        qco.idAmministrazione = ruoloRow["ID_AMM"].ToString();
                    }
                    qco.tipoUtente               = DocsPaVO.addressbook.TipoUtente.INTERNO;
                    ruolo                        = (DocsPaVO.utente.Ruolo)BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco)[0];
                    dirittoOggetto.idObj         = idProject;
                    dirittoOggetto.soggetto      = ruolo;
                    dirittoOggetto.tipoDiritto   = getDirittoFasc(ruoloRow["CHA_TIPO_DIRITTO"].ToString());
                    dirittoOggetto.accessRights  = Convert.ToInt32(ruoloRow["ACCESSRIGHTS"]);
                    dirittoOggetto.deleted       = true;
                    dirittoOggetto.note          = ruoloRow["NOTE"].ToString();
                    dirittoOggetto.personorgroup = ruoloRow["PERSONORGROUP"].ToString();
                    dirittoOggetto.rootFolder    = rootFolder;
                    listaDiritti.Add(dirittoOggetto);
                }

                //4-->gestione utenti diritti rimossi
                DocsPaDB.Query_DocsPAWS.Fascicoli fascUtentiRimossi = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                DataSet dsUtentiRimossi;
                fascUtentiRimossi.GetVisibilita_UtentiRimossi(out dsUtentiRimossi, idProject);
                fascUtentiRimossi.Dispose();
                foreach (DataRow utenteRow in dsUtentiRimossi.Tables["DIRITTI_UTENTI_RIMOSSI"].Rows)
                {
                    DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto();
                    DocsPaVO.utente.Utente utente = new DocsPaVO.utente.Utente();
                    DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente();
                    qco.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString();
                    qco.getChildren   = false;
                    if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals(""))
                    {
                        System.Collections.ArrayList reg = new System.Collections.ArrayList();
                        reg.Add(utenteRow["ID_REGISTRO"].ToString());
                        qco.idRegistri = reg;
                    }

                    if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals(""))
                    {
                        qco.idAmministrazione = utenteRow["ID_AMM"].ToString();
                    }

                    qco.tipoUtente = DocsPaVO.addressbook.TipoUtente.INTERNO;
                    ArrayList utenti = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco);
                    utente = (DocsPaVO.utente.Utente)BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco)[0];
                    dirittoOggetto.idObj         = idProject;
                    dirittoOggetto.soggetto      = utente;
                    dirittoOggetto.tipoDiritto   = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString());
                    dirittoOggetto.accessRights  = Convert.ToInt32(utenteRow["ACCESSRIGHTS"]);
                    dirittoOggetto.deleted       = true;
                    dirittoOggetto.note          = utenteRow["NOTE"].ToString();
                    dirittoOggetto.personorgroup = utenteRow["PERSONORGROUP"].ToString();
                    dirittoOggetto.rootFolder    = rootFolder;
                    listaDiritti.Add(dirittoOggetto);
                    logger.Debug("Utente inserito");
                }
            }

            //ritorna la lista dei diritti
            return(listaDiritti);
        }
Esempio n. 20
0
        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);
        }
Esempio n. 21
0
        private DocsPaVO.documento.SchedaDocumento getSchedaDocumentoDocsPa(DocsPaVO.FriendApplication.SchedaDocumento schedaDocumentoLite, DocsPaVO.FriendApplication.FriendApplication objFriendApplication, DocsPaVO.utente.InfoUtente infoUtente)
        {
            try
            {
                //Creo e valorizzo una Scheda Documento
                DocsPaVO.documento.SchedaDocumento schedaDocumentoTrasformata = new DocsPaVO.documento.SchedaDocumento();
                schedaDocumentoTrasformata.appId         = "ACROBAT";
                schedaDocumentoTrasformata.idPeople      = objFriendApplication.idPeopleFactory;
                schedaDocumentoTrasformata.typeId        = "LETTERA";
                schedaDocumentoTrasformata.userId        = objFriendApplication.utente.userId;
                schedaDocumentoTrasformata.noteDocumento = new List <DocsPaVO.Note.InfoNota>();
                schedaDocumentoTrasformata.noteDocumento.Add(new DocsPaVO.Note.InfoNota(schedaDocumentoLite.note, objFriendApplication.utente.systemId, objFriendApplication.ruolo.systemId, null));
                DocsPaVO.documento.Oggetto oggetto = new DocsPaVO.documento.Oggetto();
                oggetto.descrizione = schedaDocumentoLite.oggetto;
                schedaDocumentoTrasformata.oggetto = oggetto;

                //Protocollo in Partenza
                if (schedaDocumentoLite.tipoProto.ToUpper() == "P".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloUscita protoPartenza = new DocsPaVO.documento.ProtocolloUscita();

                    //Aggiungo il mittente
                    if (schedaDocumentoLite.mittente != null)
                    {
                        DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente);
                        if (mittente != null)
                        {
                            protoPartenza.mittente = mittente;
                        }
                    }

                    //Aggiungo i destinatari
                    protoPartenza.destinatari = new ArrayList();
                    foreach (DocsPaVO.FriendApplication.CorrLite corrLite in schedaDocumentoLite.destinatari)
                    {
                        protoPartenza.destinatari.Add(ricercaCorr(corrLite, infoUtente));
                    }

                    schedaDocumentoTrasformata.protocollo = protoPartenza;
                    schedaDocumentoTrasformata.tipoProto  = "P";
                }

                //Protocollo in Arrivo
                if (schedaDocumentoLite.tipoProto.ToUpper() == "A".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloEntrata protoArrivo = new DocsPaVO.documento.ProtocolloEntrata();

                    //Aggiungo il mittente
                    DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente);
                    protoArrivo.mittente = mittente;

                    schedaDocumentoTrasformata.protocollo = protoArrivo;
                    schedaDocumentoTrasformata.tipoProto  = "A";
                }

                //Protocollo Interno
                if (schedaDocumentoLite.tipoProto.ToUpper() == "I".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloInterno protoInterno = new DocsPaVO.documento.ProtocolloInterno();

                    //Aggiungo il mittente
                    DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente);
                    protoInterno.mittente = mittente;

                    //Aggiungo i destinatari
                    protoInterno.destinatari = new ArrayList();
                    foreach (DocsPaVO.FriendApplication.CorrLite corrLite in schedaDocumentoLite.destinatari)
                    {
                        protoInterno.destinatari.Add(ricercaCorr(corrLite, infoUtente));
                    }

                    schedaDocumentoTrasformata.protocollo = protoInterno;
                    schedaDocumentoTrasformata.tipoProto  = "I";
                }

                schedaDocumentoTrasformata.registro = objFriendApplication.registro;
                return(schedaDocumentoTrasformata);
            }
            catch (Exception ex)
            {
                logger.Debug("Errore in DocsPaWSFriendApplication - metodo : setSchedaDocumento", ex);
                throw ex;
            }
        }
Esempio n. 22
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="field"></param>
        /// <param name="properties"></param>
        /// <returns></returns>
        protected virtual void AddProperty(DocsPaVO.ProfilazioneDinamica.OggettoCustom field, List <Subscriber.Proxy.Property> properties)
        {
            if (field.TIPO.DESCRIZIONE_TIPO.ToUpperInvariant() == "CORRISPONDENTE")
            {
                // Id del corrispondente come campo nascosto
                properties.Add(new Subscriber.Proxy.Property
                {
                    Name = string.Format("ID:{0}", field.DESCRIZIONE),
                    Type = this.GetType(field),
                    IsTemplateProperty = true,
                    Hidden             = true,
                    Value = field.VALORE_DATABASE
                });

                // Reperimento dei metadati del corrispondente
                DocsPaVO.utente.Corrispondente corrispondente = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemID(field.VALORE_DATABASE);

                if (corrispondente != null)
                {
                    // Descrizione del corrispondente
                    properties.Add(new Subscriber.Proxy.Property
                    {
                        Name = field.DESCRIZIONE,
                        Type = this.GetType(field),
                        IsTemplateProperty = true,
                        Value = string.Format("{0} - {1}", corrispondente.codiceRubrica, corrispondente.descrizione)
                    });

                    // Mail del corrispondente
                    properties.Add(new Subscriber.Proxy.Property
                    {
                        Name = string.Format("MAIL:{0}", field.DESCRIZIONE),
                        Type = this.GetType(field),
                        IsTemplateProperty = true,
                        Hidden             = true,
                        Value = corrispondente.email
                    });
                }
            }
            else
            {
                string value = string.Empty;

                Subscriber.Proxy.Property p = new Subscriber.Proxy.Property
                {
                    Name = field.DESCRIZIONE,
                    Type = this.GetType(field),
                    IsTemplateProperty = true
                };

                if (field.TIPO.DESCRIZIONE_TIPO == "CasellaDiSelezione")
                {
                    if (field.VALORI_SELEZIONATI != null && field.VALORI_SELEZIONATI.Count > 0)
                    {
                        foreach (string val in field.VALORI_SELEZIONATI)
                        {
                            if (!string.IsNullOrEmpty(value))
                            {
                                value += "|";
                            }

                            value += val;
                        }
                    }
                }
                else if (field.TIPO.DESCRIZIONE_TIPO == "Contatore")
                {
                    value = field.FORMATO_CONTATORE;

                    if (!string.IsNullOrEmpty(field.VALORE_DATABASE))
                    {
                        value = value.Replace("ANNO", field.ANNO);
                        value = value.Replace("CONTATORE", field.VALORE_DATABASE);

                        value = value.Replace("COD_AMM", BusinessLogic.Amministrazione.AmministraManager.AmmGetInfoAmmCorrente(this._infoUtente.idAmministrazione).Codice);
                        value = value.Replace("COD_UO", field.CODICE_DB);

                        if (!string.IsNullOrEmpty(field.DATA_INSERIMENTO))
                        {
                            int fine = field.DATA_INSERIMENTO.LastIndexOf(".");

                            if (fine > -1)
                            {
                                value = value.Replace("gg/mm/aaaa hh:mm", field.DATA_INSERIMENTO.Substring(0, fine));
                            }

                            value = value.Replace("gg/mm/aaaa", field.DATA_INSERIMENTO.Substring(0, 10));
                        }

                        if (!string.IsNullOrEmpty(field.ID_AOO_RF) && field.ID_AOO_RF != "0")
                        {
                            DocsPaVO.utente.Registro registro = BusinessLogic.Utenti.RegistriManager.getRegistro(field.ID_AOO_RF);

                            if (registro != null)
                            {
                                value = value.Replace("RF", registro.codRegistro);
                                value = value.Replace("AOO", registro.codRegistro);
                            }
                        }
                    }
                }
                else
                {
                    value = field.VALORE_DATABASE;
                }

                p.Value = value;

                properties.Add(p);
            }
        }
Esempio n. 23
0
        public static DocsPaVO.documento.SchedaDocumento InoltraDoc(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.documento.SchedaDocumento schedaOLD)
        {
            string err = "";

            DocsPaVO.documento.SchedaDocumento schedaNEW = null;
            bool   daAggiornareUffRef = false;
            string filepath           = "";

            DocsPaVO.documento.FileDocumento fd = null;

            //se arriva sch con solo system_id e docnumber la ricerco
            if (schedaOLD != null && schedaOLD.protocollo == null)
            {
                schedaOLD = BusinessLogic.Documenti.DocManager.getDettaglio(infoUtente, schedaOLD.systemId, schedaOLD.docNumber);
            }
            schedaNEW = new DocsPaVO.documento.SchedaDocumento();

            schedaNEW.systemId  = null;
            schedaNEW.docNumber = null;
            schedaNEW.oggetto   = schedaOLD.oggetto;
            schedaNEW.idPeople  = infoUtente.idPeople;
            schedaNEW.userId    = infoUtente.userId;
            schedaNEW.registro  = schedaOLD.registro;
            //schedaNEW.tipoProto = "P";
            schedaNEW.typeId              = "LETTERA";
            schedaNEW.privato             = schedaOLD.privato;
            schedaNEW.mezzoSpedizione     = schedaOLD.mezzoSpedizione;
            schedaNEW.descMezzoSpedizione = schedaOLD.descMezzoSpedizione;
            schedaNEW.tipologiaAtto       = schedaOLD.tipologiaAtto;
            schedaNEW.template            = schedaOLD.template;
            //schedaNEW.predisponiProtocollazione = true;

            //creo un nuovo documento grigio
            logger.Debug("Creazione doc...");
            schedaNEW = BusinessLogic.Documenti.DocSave.addDocGrigia(schedaNEW, infoUtente, ruolo);

            //Dopo aver creato il documento grigio lo predispongo alla protocollazione
            logger.Debug("Predisponi doc...");
            schedaNEW.tipoProto = "P";
            schedaNEW.typeId    = schedaOLD.typeId;
            schedaNEW.predisponiProtocollazione = true;

            schedaNEW.protocollo = new DocsPaVO.documento.ProtocolloUscita();

            DocsPaVO.utente.Corrispondente corr = ruolo.uo;
            ((DocsPaVO.documento.ProtocolloUscita)schedaNEW.protocollo).mittente = corr;
            //((DocsPaVO.documento.ProtocolloUscita)schedaNEW.protocollo).mittente = ((DocsPaVO.documento.ProtocolloUscita)schedaOLD.protocollo).mittente;
            //((DocsPaVO.documento.ProtocolloUscita)schedaNEW.protocollo).destinatari = ((DocsPaVO.documento.ProtocolloUscita)schedaOLD.protocollo).destinatari;
            //((DocsPaVO.documento.ProtocolloUscita)schedaNEW.protocollo).destinatariConoscenza = ((DocsPaVO.documento.ProtocolloUscita)schedaOLD.protocollo).destinatariConoscenza;


            schedaNEW = BusinessLogic.Documenti.DocSave.save(infoUtente, schedaNEW, false, out daAggiornareUffRef, ruolo);
            logger.Debug("Creato documento grigio e predisposto alla protocollazione");

            //Copia del documento principale e degli allegati del vecchio documento
            //nel nuovo documento come allegati
            #region ricerca e copia degli allegati
            logger.Debug("Inserimento degli allegati");
            for (int i = 0; schedaOLD.allegati != null && i < schedaOLD.allegati.Count; i++)
            {
                //estrazione dati dell'allegato
                DocsPaVO.documento.Allegato documentoAllegato = (DocsPaVO.documento.Allegato)schedaOLD.allegati[i];
                filepath = documentoAllegato.docServerLoc + documentoAllegato.path;
                string nomeAllegato = "Inoltro " + documentoAllegato.fileName;
                string numPagine    = documentoAllegato.numeroPagine.ToString();
                string titoloDoc    = documentoAllegato.descrizione;
                logger.Debug("Inserimento allegato " + nomeAllegato);
                DocsPaVO.documento.Allegato all = new DocsPaVO.documento.Allegato();
                all.descrizione = "allegato " + i;
                logger.Debug("docnumber=" + schedaNEW.docNumber);
                all.docNumber = schedaNEW.docNumber;
                all.fileName  = getFileName(nomeAllegato);
                all.version   = "0";
                //numero pagine
                if (numPagine != null && !numPagine.Trim().Equals(""))
                {
                    all.numeroPagine = Int32.Parse(numPagine);
                }
                //descrizione allegato
                if (titoloDoc != null && !titoloDoc.Trim().Equals(""))
                {
                    all.descrizione = "Inoltro " + titoloDoc;
                }
                BusinessLogic.Documenti.AllegatiManager.aggiungiAllegato(infoUtente, all);
                logger.Debug("Allegato id=" + all.versionId);
                logger.Debug("Allegato version label=" + all.versionLabel);
                logger.Debug("Inserimento nel filesystem");
                DocsPaVO.documento.FileDocumento fdAllNew = new DocsPaVO.documento.FileDocumento();
                DocsPaVO.documento.FileDocumento fdAll    = null;
                if (Int32.Parse(documentoAllegato.fileSize) > 0)
                {
                    try
                    {
                        fdAll = BusinessLogic.Documenti.FileManager.getFile((DocsPaVO.documento.FileRequest)schedaOLD.allegati[i], infoUtente);
                        if (fdAll == null)
                        {
                            throw new Exception("Errore nel reperimento dell'allegato numero" + i.ToString());
                        }
                        fdAllNew.content     = fdAll.content;
                        fdAllNew.length      = fdAll.length;
                        fdAllNew.name        = fdAll.name;
                        fdAllNew.fullName    = fdAll.fullName;
                        fdAllNew.contentType = fdAll.contentType;
                        DocsPaVO.documento.FileRequest fr = (DocsPaVO.documento.FileRequest)all;
                        if (!BusinessLogic.Documenti.FileManager.putFile(ref fr, fdAllNew, infoUtente, out err))
                        {
                            throw new Exception(err);
                        }
                        logger.Debug("Allegato " + i + " inserito");
                    }
                    catch (Exception ex)
                    {
                        err = "Errore nel reperimento dell'allegato numero " + i.ToString() + " : " + ex.Message;
                        if (schedaNEW != null && schedaNEW.systemId != null && schedaNEW.systemId != "")
                        {
                            //se il putFile va in errore devo rimuovere il profile (predisposto appena inserito)
                            BusinessLogic.Documenti.DocManager.ExecRimuoviSchedaMethod(infoUtente, schedaNEW);

                            logger.Debug("Eseguita rimozione profilo");
                        }
                        logger.Debug(err);//se non si riesce a prener eil file per problemi vari continuo comunque per arrivare a eseguiTrasmissione
                        throw ex;
                    }
                }
            }
            #endregion
            #region copia documento principale in allegato
            //DocsPaVO.documento.FileDocumento fdNew = null;
            if (schedaOLD.documenti != null && schedaOLD.documenti[0] != null &&
                Int32.Parse(((DocsPaVO.documento.FileRequest)schedaOLD.documenti[0]).fileSize) > 0)
            {
                try
                {
                    fd = BusinessLogic.Documenti.FileManager.getFile((DocsPaVO.documento.FileRequest)schedaOLD.documenti[0], infoUtente);
                    if (fd == null)
                    {
                        throw new Exception("Errore nel reperimento del file principale.");
                    }
                    //copio in un nuovo filerequest perchè putfile lo vuole senza

                    DocsPaVO.documento.Allegato allDocPrinc = new DocsPaVO.documento.Allegato();
                    allDocPrinc.descrizione = "Inoltro documento principale id: " + schedaOLD.docNumber;
                    allDocPrinc.docNumber   = schedaNEW.docNumber;
                    allDocPrinc.fileName    = getFileName(fd.name);
                    allDocPrinc.version     = "0";
                    BusinessLogic.Documenti.AllegatiManager.aggiungiAllegato(infoUtente, allDocPrinc);

                    DocsPaVO.documento.FileDocumento fdAllNew = new DocsPaVO.documento.FileDocumento();
                    DocsPaVO.documento.FileDocumento fdAll    = null;
                    fdAll = BusinessLogic.Documenti.FileManager.getFile((DocsPaVO.documento.FileRequest)schedaOLD.documenti[0], infoUtente);
                    if (fdAll == null)
                    {
                        throw new Exception("Errore nel reperimento del file principale come allegato");
                    }
                    fdAllNew.content     = fdAll.content;
                    fdAllNew.length      = fdAll.length;
                    fdAllNew.name        = fdAll.name;
                    fdAllNew.fullName    = fdAll.fullName;
                    fdAllNew.contentType = fdAll.contentType;
                    DocsPaVO.documento.FileRequest fr = (DocsPaVO.documento.FileRequest)allDocPrinc;
                    if (!BusinessLogic.Documenti.FileManager.putFile(ref fr, fdAllNew, infoUtente, out err))
                    {
                        throw new Exception(err);
                    }
                    logger.Debug("Doc principale inserito come allegato");

                    DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
                    schedaNEW.allegati = doc.GetAllegati(schedaNEW.docNumber, string.Empty);
                }
                catch (Exception ex)
                {
                    err = "Errore nel reperimento del file principale : " + ex.Message;
                    if (schedaNEW != null && schedaNEW.systemId != null && schedaNEW.systemId != "")
                    {
                        //se il putFile va in errore devo rimuovere il profile (predisposto appena inserito)
                        BusinessLogic.Documenti.DocManager.ExecRimuoviSchedaMethod(infoUtente, schedaNEW);
                        logger.Debug("Eseguita rimozione profilo");
                    }
                    logger.Debug(err);
                    throw ex;
                }
            }
            #endregion



            err = err + " " + schedaNEW.docNumber;
            if (schedaNEW != null && schedaNEW.docNumber != null)
            {
                err = "errore " + err + " documento  rimosso: " + schedaNEW.docNumber;
            }
            else
            {
                err = "errore " + err;
            }
            logger.Debug(err);
            schedaNEW.predisponiProtocollazione = true;
            return(schedaNEW);
        }
Esempio n. 24
0
        private ArrayList GetOggettiProfilazione(string docNumber, string idAmministrazione, string tipoAtto)
        {
            DocsPaVO.ProfilazioneDinamica.Templates template = BusinessLogic.ProfilazioneDinamica.ProfilazioneDocumenti.getTemplateDettagli(docNumber);
            ArrayList listaChiaviValori = new ArrayList();

            if (template != null && template.ELENCO_OGGETTI != null)
            {
                for (int i = 0; i < template.ELENCO_OGGETTI.Count; i++)
                {
                    DocsPaVO.ProfilazioneDinamica.OggettoCustom oggettoCustom = (DocsPaVO.ProfilazioneDinamica.OggettoCustom)template.ELENCO_OGGETTI[i];

                    if (oggettoCustom != null)
                    {
                        string[] itemToAdd = null;

                        switch (oggettoCustom.TIPO.DESCRIZIONE_TIPO)
                        {
                        case "Corrispondente":
                            DocsPaVO.utente.Corrispondente corr = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemID(oggettoCustom.VALORE_DATABASE);


                            itemToAdd = new string[8] {
                                "", "", "", "", "", "", "", ""
                            };
                            itemToAdd[0] = oggettoCustom.DESCRIZIONE;
                            if (corr != null)
                            {
                                itemToAdd[1] = corr.descrizione;
                                DocsPaVO.utente.Corrispondente corrIndirizzo = BusinessLogic.Utenti.UserManager.getDettagliIndirizzoCorrispondente(oggettoCustom.VALORE_DATABASE);
                                if (corrIndirizzo != null)
                                {
                                    //
                                    oggettoCustom.INDIRIZZO += corr.descrizione + Environment.NewLine + corrIndirizzo.indirizzo + Environment.NewLine +
                                                               corrIndirizzo.cap + '-' + corrIndirizzo.citta + '-' + corrIndirizzo.localita;
                                    itemToAdd[3]                      = oggettoCustom.INDIRIZZO;
                                    oggettoCustom.TELEFONO           += corr.descrizione + Environment.NewLine + corrIndirizzo.telefono1 + '-' + corrIndirizzo.telefono2;
                                    itemToAdd[6]                      = oggettoCustom.TELEFONO;
                                    oggettoCustom.INDIRIZZO_TELEFONO += oggettoCustom.INDIRIZZO + Environment.NewLine + corrIndirizzo.telefono1 +
                                                                        '-' + corrIndirizzo.telefono2;
                                    itemToAdd[7] = oggettoCustom.INDIRIZZO_TELEFONO;
                                }
                            }


                            itemToAdd[2] = oggettoCustom.TIPO.DESCRIZIONE_TIPO;
                            //itemToAdd[3] =
                            itemToAdd[4] = oggettoCustom.ANNO;
                            itemToAdd[5] = oggettoCustom.ID_AOO_RF;
                            listaChiaviValori.Add(itemToAdd);

                            break;

                        case "Contatore":
                            string formato = oggettoCustom.FORMATO_CONTATORE;
                            formato = formato.Replace("ANNO", oggettoCustom.ANNO);

                            DocsPaVO.utente.Registro reg = BusinessLogic.Utenti.RegistriManager.getRegistro(oggettoCustom.ID_AOO_RF);
                            if (reg != null && !string.IsNullOrEmpty(reg.codRegistro))
                            {
                                formato = formato.Replace("AOO", reg.codRegistro);
                            }

                            DocsPaVO.utente.Registro rf = BusinessLogic.Utenti.RegistriManager.getRegistro(oggettoCustom.ID_AOO_RF);
                            if (rf != null && !string.IsNullOrEmpty(rf.codRegistro))
                            {
                                formato = formato.Replace("RF", rf.codRegistro);
                            }

                            formato = formato.Replace("CONTATORE", oggettoCustom.VALORE_DATABASE);

                            itemToAdd = new string[6] {
                                "", "", "", "", "", ""
                            };
                            itemToAdd[0] = oggettoCustom.DESCRIZIONE;
                            itemToAdd[1] = formato;
                            itemToAdd[2] = oggettoCustom.TIPO.DESCRIZIONE_TIPO;
                            itemToAdd[3] = oggettoCustom.FORMATO_CONTATORE;
                            itemToAdd[4] = oggettoCustom.ANNO;
                            //itemToAdd[5] =
                            listaChiaviValori.Add(itemToAdd);

                            break;

                        case "CasellaDiSelezione":
                            string valore = string.Empty;
                            foreach (string val in oggettoCustom.VALORI_SELEZIONATI)
                            {
                                if (val != null && val != "")
                                {
                                    valore += val + "-";
                                }
                            }
                            if (valore.Length > 1)
                            {
                                valore = valore.Substring(0, valore.Length - 1);
                            }

                            itemToAdd = new string[6] {
                                "", "", "", "", "", ""
                            };
                            itemToAdd[0] = oggettoCustom.DESCRIZIONE;
                            itemToAdd[1] = valore;
                            itemToAdd[2] = oggettoCustom.TIPO.DESCRIZIONE_TIPO;
                            //itemToAdd[3] =
                            itemToAdd[4] = oggettoCustom.ANNO;
                            //itemToAdd[5] =
                            listaChiaviValori.Add(itemToAdd);
                            break;

                        default:
                            itemToAdd = new string[6] {
                                "", "", "", "", "", ""
                            };
                            itemToAdd[0] = oggettoCustom.DESCRIZIONE;
                            itemToAdd[1] = oggettoCustom.VALORE_DATABASE;
                            itemToAdd[2] = oggettoCustom.TIPO.DESCRIZIONE_TIPO;
                            //itemToAdd[3] =
                            itemToAdd[4] = oggettoCustom.ANNO;
                            //itemToAdd[5] =
                            listaChiaviValori.Add(itemToAdd);
                            break;
                        }
                    }
                }
            }

            return(listaChiaviValori);
        }
Esempio n. 25
0
        public static Services.AddressBook.SearchCorrespondents.SearchCorrespondentsResponse SearchCorrespondents(Services.AddressBook.SearchCorrespondents.SearchCorrespondentsRequest request)
        {
            Services.AddressBook.SearchCorrespondents.SearchCorrespondentsResponse response = new Services.AddressBook.SearchCorrespondents.SearchCorrespondentsResponse();

            try
            {
                DocsPaVO.utente.Utente     utente     = null;
                DocsPaVO.utente.InfoUtente infoUtente = null;

                //Inizio controllo autenticazione utente
                infoUtente = Utils.CheckAuthentication(request, "SearchCorrespondents");

                utente = BusinessLogic.Utenti.UserManager.getUtenteById(infoUtente.idPeople);
                if (utente == null)
                {
                    //Utente non trovato
                    throw new PisException("USER_NO_EXIST");
                }
                //Fine controllo autenticazione utente

                if (request.Filters == null || request.Filters.Length == 0)
                {
                    throw new PisException("REQUIRED_FILTER");
                }
                bool          idFromRC   = false;
                Domain.Filter filtroIDRC = (from filtro in request.Filters where (filtro != null && !string.IsNullOrEmpty(filtro.Name) && filtro.Name.ToUpper() == "EXTRACT_ID_COMMONADDRESSBOOK") select filtro).FirstOrDefault();
                if (filtroIDRC != null && filtroIDRC.Value.ToUpper() == "TRUE")
                {
                    idFromRC = true;
                }
                //Chiamata al metodo CheckFilterType(request.Filters)
                Utils.CheckFilterTypes(request.Filters);

                DocsPaVO.rubrica.ParametriRicercaRubrica qco = Utils.GetParametriRicercaRubricaFromPis(request.Filters, infoUtente);

                BusinessLogic.Rubrica.DPA3_RubricaSearchAgent corrSearcher = new BusinessLogic.Rubrica.DPA3_RubricaSearchAgent(infoUtente);

                // DocsPaDB.Query_DocsPAWS.Rubrica query = new DocsPaDB.Query_DocsPAWS.Rubrica(infoUtente);
                DocsPaVO.rubrica.SmistamentoRubrica smistamentoRubrica = new DocsPaVO.rubrica.SmistamentoRubrica();
                ArrayList objElementiRubrica = corrSearcher.Search(qco, smistamentoRubrica);
                //ArrayList objElementiRubrica = query.GetElementiRubrica(qco);


                Domain.Correspondent[] correspondentsRespone = null;

                if (objElementiRubrica != null && objElementiRubrica.Count > 0)
                {
                    correspondentsRespone = new Domain.Correspondent[objElementiRubrica.Count];
                    for (int i = 0; i < objElementiRubrica.Count; i++)
                    {
                        Domain.Correspondent             userTemp        = new Domain.Correspondent();
                        DocsPaVO.rubrica.ElementoRubrica elementoRubrica = ((DocsPaVO.rubrica.ElementoRubrica)objElementiRubrica[i]);

                        userTemp.Id          = elementoRubrica.systemId;
                        userTemp.Description = elementoRubrica.descrizione;
                        userTemp.Code        = elementoRubrica.codice;
                        userTemp.Name        = elementoRubrica.nome;
                        userTemp.Surname     = elementoRubrica.cognome;
                        userTemp.NationalIdentificationNumber = elementoRubrica.cf_piva;
                        userTemp.IsCommonAddress = elementoRubrica.isRubricaComune;
                        userTemp.Type            = (elementoRubrica.interno ? "I" : "E");
                        if (!String.IsNullOrEmpty(elementoRubrica.tipo))
                        {
                            userTemp.CorrespondentType = elementoRubrica.tipo;
                        }

                        if (idFromRC && string.IsNullOrEmpty(elementoRubrica.systemId))
                        {
                            DocsPaVO.utente.Corrispondente userTemp2 = BusinessLogic.Utenti.UserManager.getCorrispondenteByCodRubricaRubricaComune(elementoRubrica.codice, infoUtente);
                            userTemp.Id = userTemp2.systemId;
                        }


                        correspondentsRespone[i] = userTemp;
                    }
                    response.Correspondents = correspondentsRespone;
                }
                else
                {
                    //throw new PisException("CORRESPONDENTS_NOT_FOUND");
                    correspondentsRespone   = new Domain.Correspondent[0];
                    response.Correspondents = correspondentsRespone;
                }

                response.Success = true;
            }
            catch (PisException pisEx)
            {
                logger.ErrorFormat("PISException: {0}, {1}", pisEx.ErrorCode, pisEx.Description);
                response.Error = new Services.ResponseError
                {
                    Code        = pisEx.ErrorCode,
                    Description = pisEx.Description
                };

                response.Success = false;
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Eccezione Generica: APPLICATION_ERROR, {0}", ex.Message);
                response.Error = new Services.ResponseError
                {
                    Code        = "APPLICATION_ERROR",
                    Description = ex.Message
                };

                response.Success = false;
            }

            return(response);
        }
Esempio n. 26
0
        public static void CambioStatoProcedimento(string idFascicolo, string tipoEvento, string idOggetto, DocsPaVO.utente.InfoUtente utente)
        {
            logger.Debug("BEGIN");
            DocsPaDB.Query_DocsPAWS.Procedimenti proc = new DocsPaDB.Query_DocsPAWS.Procedimenti();
            string idStato = proc.GetIdPerCambioStato(tipoEvento, idOggetto);

            if (!string.IsNullOrEmpty(idStato))
            {
                logger.Debug("Stato: " + idStato);
                DocsPaVO.ProfilazioneDinamica.Templates template = BusinessLogic.ProfilazioneDinamica.ProfilazioneFascicoli.getTemplateFascDettagli(idFascicolo);
                if (template != null)
                {
                    int idDiagram = BusinessLogic.DiagrammiStato.DiagrammiStato.getDiagrammaAssociatoFasc(template.ID_TIPO_FASC);
                    if (idDiagram != 0)
                    {
                        DocsPaVO.DiagrammaStato.DiagrammaStato stateDiagram = BusinessLogic.DiagrammiStato.DiagrammiStato.getDiagrammaById(idDiagram.ToString());
                        if (stateDiagram != null)
                        {
                            logger.DebugFormat("Trovato evento per cambio stato - stato={0} fascicolo={1} tipoevento={2}", idStato, idFascicolo, tipoEvento);
                            BusinessLogic.DiagrammiStato.DiagrammiStato.salvaModificaStatoFasc(idFascicolo, idStato, stateDiagram, utente.idPeople, utente, string.Empty);

                            // CABLATURA PER DEMO 21/11
                            if (tipoEvento.ToUpper() == "ACCETTAZIONE")
                            {
                                DocsPaVO.trasmissione.RagioneTrasmissione ragTrasm = BusinessLogic.Trasmissioni.RagioniManager.getRagione(idOggetto);
                                if (ragTrasm != null)
                                {
                                    if (template.ELENCO_OGGETTI != null && template.ELENCO_OGGETTI.Count > 0)
                                    {
                                        bool toUpdate = false;
                                        foreach (DocsPaVO.ProfilazioneDinamica.OggettoCustom ogg in template.ELENCO_OGGETTI)
                                        {
                                            if (ogg.DESCRIZIONE.ToUpper() == "RUOLO ASSEGNATARIO")
                                            {
                                                logger.Debug("Ruolo assegnatario - ID=" + utente.idCorrGlobali);
                                                ogg.VALORE_DATABASE = utente.idCorrGlobali;
                                                toUpdate            = true;
                                            }
                                            if (ogg.DESCRIZIONE.ToUpper() == "UTENTE ASSEGNATARIO")
                                            {
                                                DocsPaVO.utente.Corrispondente corr = BusinessLogic.Utenti.UserManager.getCorrispondenteByIdPeople(utente.idPeople, DocsPaVO.addressbook.TipoUtente.INTERNO, utente);
                                                if (corr != null)
                                                {
                                                    logger.Debug("Utente assegnatario - idPeople=" + utente.idPeople + " - idCorrGlobali=" + corr.systemId);
                                                    ogg.VALORE_DATABASE = corr.systemId;
                                                    toUpdate            = true;
                                                }
                                            }
                                        }
                                        if (toUpdate)
                                        {
                                            BusinessLogic.ProfilazioneDinamica.ProfilazioneFascicoli.salvaInserimentoUtenteProfDimFasc(template, idFascicolo);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            logger.Debug("END");
        }
Esempio n. 27
0
        public static bool insertCorrEsterno(string Codice, string Codrubrica,
                                             string Descrizione, string Tipo_urp,
                                             string Email, string Indirizzo, string Cap,
                                             string Citta, string Prov,
                                             string Cognome, string Nome,
                                             DocsPaVO.utente.InfoUtente infoUtente,
                                             string idRegistro,
                                             DocsPaWS.DocsPaWebService ws)
        {
            #region new
            DocsPaVO.utente.Corrispondente resultCorr = null;
            DocsPaVO.utente.Corrispondente newCorr    = null;

            //DocsPaVO.utente.InfoUtente infoUtente = this.getInfoUtente(this.Utente, this.Ruolo);
            //string idRegistro = this.Registro.systemId;

            try
            {
                switch (Tipo_urp)
                {
                case "U":
                {
                    newCorr = new DocsPaVO.utente.UnitaOrganizzativa();
                    break;
                }

                case "P":
                {
                    newCorr = new DocsPaVO.utente.Utente();
                    ((DocsPaVO.utente.Utente)newCorr).cognome = Cognome;
                    ((DocsPaVO.utente.Utente)newCorr).nome    = Nome;
                    break;
                }

                default:
                    break;
                }

                newCorr.codiceCorrispondente = Codice;
                newCorr.codiceRubrica        = Codrubrica;
                newCorr.descrizione          = Descrizione;
                newCorr.tipoCorrispondente   = Tipo_urp;
                newCorr.email = Email;

                #region dati costanti
                newCorr.idAmministrazione = infoUtente.idAmministrazione;
                newCorr.idRegistro        = idRegistro;
                newCorr.codiceAmm         = "";
                newCorr.codiceAOO         = "";
                //dati canale
                DocsPaVO.utente.Canale canale = new DocsPaVO.utente.Canale();
                canale.systemId    = "2"; //EMAIL
                newCorr.canalePref = canale;

                /*massimo digregorio:
                 * necessari	sulla 2.0...
                 * sulla 3 non ho trovato nulla in riferimento, quindi non li gestisco
                 *              newCorr.tipoIE = "E";
                 *              newCorr.tipoCorrispondente = "S";
                 */

                #endregion dati costanti

                //dati dettagli corrispondente
                DocsPaVO.addressbook.DettagliCorrispondente dettagli = new DocsPaVO.addressbook.DettagliCorrispondente();
                dettagli.Corrispondente.AddCorrispondenteRow(
                    Indirizzo,
                    Citta,
                    Cap,
                    Prov,
                    "",  //nazionalita
                    "",  //txt_telefono1
                    "",  //txt_telefono2
                    "",  //txt_fax
                    "",  //txt_codfisc
                    "",  //txt_note
                    "",  //località
                    "",  // luogoNascita
                    "",  // dataNascita
                    "",  // titolo
                    //"",// partita iva
                    ""); // codice ipa
                newCorr.info     = dettagli;
                newCorr.dettagli = true;

                //eseguo l'inserimento
                resultCorr = ws.AddressbookInsertCorrispondente(newCorr, null, infoUtente);
            }
            catch (Exception e)
            {
                throw new Exception("Errore in inserimento corrispondente esterno - DocsPaWSLite.asmx ERRORE: " + e.Message);
            }
            if (resultCorr != null && resultCorr.errore == null)
            {
                return(true);
            }
            else
            {
                return(false);
            }

            #endregion new
        }
Esempio n. 28
0
        //5. lite
        public static DocsPaVO.OggettiLite.CorrispondenteLite getCorrispondenteLite(DocsPaVO.utente.Corrispondente corrispondente)
        {
            DocsPaVO.OggettiLite.CorrispondenteLite corrLite = new DocsPaVO.OggettiLite.CorrispondenteLite();
            if (corrispondente == null)
            {
                return(null);
            }

            switch (corrispondente.tipoCorrispondente)
            {
            case "U":
            {
                DocsPaVO.OggettiLite.CorrispondenteLite corrUO = new DocsPaVO.OggettiLite.CorrispondenteLite();
                corrUO.cap                = corrispondente.cap;
                corrUO.citta              = corrispondente.citta;
                corrUO.codiceAmm          = corrispondente.codiceAmm;
                corrUO.codiceAOO          = corrispondente.codiceAOO;
                corrUO.codfisc            = corrispondente.codfisc;
                corrUO.codiceRubrica      = corrispondente.codiceRubrica;
                corrUO.descrizione        = corrispondente.descrizione;
                corrUO.dta_fine           = corrispondente.dta_fine;
                corrUO.email              = corrispondente.email;
                corrUO.fax                = corrispondente.fax;
                corrUO.idAmministrazione  = corrispondente.idAmministrazione;
                corrUO.idRegistro         = corrispondente.idRegistro;
                corrUO.indirizzo          = corrispondente.indirizzo;
                corrUO.localita           = corrispondente.localita;
                corrUO.nazionalita        = corrispondente.nazionalita;
                corrUO.note               = corrispondente.note;
                corrUO.prov               = corrispondente.prov;
                corrUO.systemId           = corrispondente.systemId;
                corrUO.telefono1          = corrispondente.telefono1;
                corrUO.telefono2          = corrispondente.telefono2;
                corrUO.tipoCorrispondente = corrispondente.tipoCorrispondente;
                return(corrUO);

                break;
            }

            case "P":
            {
                DocsPaVO.OggettiLite.CorrispondenteLite corrP = new DocsPaVO.OggettiLite.CorrispondenteLite();
                corrP.cap                = corrispondente.cap;
                corrP.citta              = corrispondente.citta;
                corrP.codiceAmm          = corrispondente.codiceAmm;
                corrP.codiceAOO          = corrispondente.codiceAOO;
                corrP.codfisc            = corrispondente.codfisc;
                corrP.codiceRubrica      = corrispondente.codiceRubrica;
                corrP.descrizione        = corrispondente.descrizione;
                corrP.dta_fine           = corrispondente.dta_fine;
                corrP.email              = corrispondente.email;
                corrP.fax                = corrispondente.fax;
                corrP.idAmministrazione  = corrispondente.idAmministrazione;
                corrP.idRegistro         = corrispondente.idRegistro;
                corrP.indirizzo          = corrispondente.indirizzo;
                corrP.localita           = corrispondente.localita;
                corrP.nazionalita        = corrispondente.nazionalita;
                corrP.note               = corrispondente.note;
                corrP.prov               = corrispondente.prov;
                corrP.systemId           = corrispondente.systemId;
                corrP.telefono1          = corrispondente.telefono1;
                corrP.telefono2          = corrispondente.telefono2;
                corrP.tipoCorrispondente = corrispondente.tipoCorrispondente;
                return(corrP);

                break;
            }

            case "R":
            {
                DocsPaVO.OggettiLite.CorrispondenteLite corrR = new DocsPaVO.OggettiLite.CorrispondenteLite();
                corrR.cap                = corrispondente.cap;
                corrR.citta              = corrispondente.citta;
                corrR.codiceAmm          = corrispondente.codiceAmm;
                corrR.codiceAOO          = corrispondente.codiceAOO;
                corrR.codfisc            = corrispondente.codfisc;
                corrR.codiceRubrica      = corrispondente.codiceRubrica;
                corrR.descrizione        = corrispondente.descrizione;
                corrR.dta_fine           = corrispondente.dta_fine;
                corrR.email              = corrispondente.email;
                corrR.fax                = corrispondente.fax;
                corrR.idAmministrazione  = corrispondente.idAmministrazione;
                corrR.idRegistro         = corrispondente.idRegistro;
                corrR.indirizzo          = corrispondente.indirizzo;
                corrR.localita           = corrispondente.localita;
                corrR.nazionalita        = corrispondente.nazionalita;
                corrR.note               = corrispondente.note;
                corrR.prov               = corrispondente.prov;
                corrR.systemId           = corrispondente.systemId;
                corrR.telefono1          = corrispondente.telefono1;
                corrR.telefono2          = corrispondente.telefono2;
                corrR.tipoCorrispondente = corrispondente.tipoCorrispondente;
                return(corrR);
            }

            default:
            {
                DocsPaVO.OggettiLite.CorrispondenteLite corr = new DocsPaVO.OggettiLite.CorrispondenteLite();
                corr.cap                = corrispondente.cap;
                corr.citta              = corrispondente.citta;
                corr.codiceAmm          = corrispondente.codiceAmm;
                corr.codiceAOO          = corrispondente.codiceAOO;
                corr.codfisc            = corrispondente.codfisc;
                corr.codiceRubrica      = corrispondente.codiceRubrica;
                corr.descrizione        = corrispondente.descrizione;
                corr.dta_fine           = corrispondente.dta_fine;
                corr.email              = corrispondente.email;
                corr.fax                = corrispondente.fax;
                corr.idAmministrazione  = corrispondente.idAmministrazione;
                corr.idRegistro         = corrispondente.idRegistro;
                corr.indirizzo          = corrispondente.indirizzo;
                corr.localita           = corrispondente.localita;
                corr.nazionalita        = corrispondente.nazionalita;
                corr.note               = corrispondente.note;
                corr.prov               = corrispondente.prov;
                corr.systemId           = corrispondente.systemId;
                corr.telefono1          = corrispondente.telefono1;
                corr.telefono2          = corrispondente.telefono2;
                corr.tipoCorrispondente = corrispondente.tipoCorrispondente;
                return(corr);
            }

                return(corrLite);
            }
            return(corrLite);
        }
Esempio n. 29
0
        /// <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);
        }
Esempio n. 30
0
        /// <summary>
        /// Trasmissione di notifica di conversione in PDF terminata (con successo o meno)
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="documentoConvertito"></param>
        /// <param name="noteGenerali">
        /// Note generali da inserire nella trasmissione
        /// </param>
        /// <param name="noteIndividuali"></param>
        private static void ExecuteTrasmissione(DocsPaVO.utente.InfoUtente infoUtente,
                                                DocsPaVO.documento.SchedaDocumento documentoConvertito,
                                                string noteGenerali)
        {
            try
            {
                if (documentoConvertito == null)
                {
                    throw new ApplicationException("Scheda Documento non disponibile per la trasmissione");
                }

                DocsPaVO.utente.Utente utente = BusinessLogic.Utenti.UserManager.getUtente(infoUtente.idPeople);

                //Effettuo una trasmissione all'utente per comunicare l'esito della conversione pdf
                DocsPaVO.trasmissione.Trasmissione trasmissione = new DocsPaVO.trasmissione.Trasmissione();

                trasmissione.utente       = utente;
                trasmissione.tipoOggetto  = DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO;
                trasmissione.noteGenerali = noteGenerali;

                string commandText = "(SELECT SYSTEM_ID FROM DPA_CORR_GLOBALI WHERE ID_GRUPPO = " + infoUtente.idGruppo + ")";
                trasmissione.ruolo         = BusinessLogic.Utenti.UserManager.getRuolo(commandText);
                trasmissione.infoDocumento = BusinessLogic.Documenti.DocManager.getInfoDocumento(documentoConvertito);

                DocsPaVO.trasmissione.RagioneTrasmissione ragione = BusinessLogic.Trasmissioni.RagioniManager.getRagioneNotifica(trasmissione.ruolo.idAmministrazione);
                DocsPaVO.utente.Corrispondente            corr    = null;
                string tipoNotify = "";
                if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["PDF_CONVERT_SERVER_NOTIFY"].ToString()))
                {
                    tipoNotify = System.Configuration.ConfigurationManager.AppSettings["PDF_CONVERT_SERVER_NOTIFY"].ToString();
                }

                if (tipoNotify != "" || tipoNotify != "0")
                {
                    if (tipoNotify == "RS")
                    {
                        corr         = (DocsPaVO.utente.Corrispondente)BusinessLogic.Utenti.UserManager.getRuolo(commandText);
                        trasmissione = BusinessLogic.Trasmissioni.TrasmManager.addTrasmissioneSingola(trasmissione, corr, ragione, string.Empty, "S");
                    }
                    if (tipoNotify == "RT")
                    {
                        corr         = (DocsPaVO.utente.Corrispondente)BusinessLogic.Utenti.UserManager.getRuolo(commandText);
                        trasmissione = BusinessLogic.Trasmissioni.TrasmManager.addTrasmissioneSingola(trasmissione, corr, ragione, string.Empty, "T");
                    }
                    if (tipoNotify == "US")
                    {
                        //corr = (DocsPaVO.utente.Corrispondente) utente;
                        corr         = BusinessLogic.Utenti.UserManager.getCorrispondenteByIdPeople(utente.idPeople, DocsPaVO.addressbook.TipoUtente.INTERNO, infoUtente);
                        trasmissione = BusinessLogic.Trasmissioni.TrasmManager.addTrasmissioneSingola(trasmissione, corr, ragione, string.Empty, "S");
                    }

                    trasmissione = BusinessLogic.Trasmissioni.ExecTrasmManager.saveExecuteTrasmMethod(infoUtente.urlWA, trasmissione);
                    if (trasmissione == null)
                    {
                        throw new ApplicationException();
                    }
                }
            }
            catch (Exception ex)
            {
                string errorMessage = string.Format("Si è verificato un errore nell'invio della trasmissione di notifica all'utente '{0}' di conversione in PDF del documento. NoteGenerali di trasmissione: '{1}', Note individuali di trasmissione: '{2}'",
                                                    infoUtente.userId,
                                                    noteGenerali,
                                                    string.Empty);

                logger.Debug(errorMessage, ex);
            }
        }