コード例 #1
0
        ///// <summary>
        /////
        ///// </summary>
        ///// <param name="idUser"></param>
        ///// <param name="ldapInfo"></param>
        //public static void SaveLdapUserConfig(string idUser, LdapConfig ldapInfo)
        //{
        //    using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext())
        //    {
        //        // Verifica se l'integrazione con ldap è attivata
        //        LdapConfigurations.CheckForLdapIntegrationActivated();

        //        // Validazione dati di configurazione
        //        ValidateConfigurations(ldapInfo);

        //        DocsPaDB.Query_DocsPAWS.Ldap ldapDbServices = new DocsPaDB.Query_DocsPAWS.Ldap();

        //        ldapDbServices.SaveLdapUserConfig(idUser, ldapInfo);

        //        transactionalContext.Complete();
        //    }
        //}

        /// <summary>
        /// Verifica se un determinato utente può collegarsi ad un archivio LDAP
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="userName"></param>
        /// <returns></returns>
        public static bool UserCanConnectToLdap(string userName)
        {
            string idAmministrazioneAsString;

            using (DocsPaDB.Query_DocsPAWS.Utenti utentiDb = new DocsPaDB.Query_DocsPAWS.Utenti())
                utentiDb.GetIdAmmUtente(out idAmministrazioneAsString, userName);

            int idAmministrazione;

            Int32.TryParse(idAmministrazioneAsString, out idAmministrazione);

            if (idAmministrazione > 0)
            {
                // Solo gli utenti configurati in un amministrazione posso autenticarsi ad LDAP
                DocsPaVO.Ldap.LdapConfig configInfo = DocsPaLdapServices.LdapConfigurations.GetLdapConfig(idAmministrazioneAsString);

                DocsPaVO.Ldap.LdapUserConfig userConfigInfo = GetLdapUserConfigByName(userName);

                return(!string.IsNullOrEmpty(configInfo.ServerName) && !string.IsNullOrEmpty(configInfo.GroupDN) &&
                       userConfigInfo.LdapAuthenticated);
            }
            else
            {
                // Utente non associato ad un'amministrazione (es. SuperAdmin)
                return(false);
            }
        }
コード例 #2
0
        public static string ElencoUtentiConnessi(string codiceAmm)
        {
            string  result       = null;
            DataSet elencoUtenti = null;

            DocsPaDB.Query_DocsPAWS.Utenti gestioneUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            elencoUtenti = gestioneUtenti.GetUtentiConnessi(codiceAmm);
            if (elencoUtenti != null)
            {
                XmlDocument xmlUtenti = new XmlDocument();

                XmlNode utenti = xmlUtenti.AppendChild(xmlUtenti.CreateElement("UTENTI"));

                foreach (DataRow utente in elencoUtenti.Tables[0].Rows)
                {
                    XmlNode nodoUtente = utenti.AppendChild(xmlUtenti.CreateElement("UTENTE"));
                    string  userId     = utente["USER_ID"].ToString().ToUpper();
                    nodoUtente.AppendChild(xmlUtenti.CreateElement("USERID")).InnerText = userId;
                    string nomeUtente = gestioneUtenti.GetNomeUtente(userId);
                    nodoUtente.AppendChild(xmlUtenti.CreateElement("DESCRIZIONE")).InnerText = nomeUtente;
                    nodoUtente.AppendChild(xmlUtenti.CreateElement("DATAORA")).InnerText     = utente["DTA_CONNESSIONE"].ToString();
                }
                result = xmlUtenti.OuterXml;
            }
            return(result);
        }
コード例 #3
0
        /// Verifica vincoli in inserimento di una qualifica, campi validi e univocità codice
        public static ValidationResultInfo InsertQual(Qualifica qual)
        {
            ValidationResultInfo retValue = IsValidRequiredFieldsQualifica(DBActionTypeRegistroEnum.InsertMode, qual);

            // Verifica presenza codice univoco
            if (retValue.Value)
            {
                DocsPaDB.Query_DocsPAWS.Utenti dbUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                retValue.Value = dbUtenti.CheckUniqueCodiceQualifica(qual.CODICE, qual.ID_AMM.ToString());

                if (!retValue.Value)
                {
                    BrokenRule brokenRule = new BrokenRule();
                    brokenRule.ID          = "CODICE_QUALIFICA";
                    brokenRule.Description = "Codice qualifica già presente";
                    retValue.BrokenRules.Add(brokenRule);
                }
                else
                {
                    dbUtenti.InsertQual(qual.CODICE, qual.DESCRIZIONE, qual.ID_AMM.ToString());
                    retValue.Value = true;
                }
            }
            return(retValue);
        }
コード例 #4
0
        /// <summary>
        /// Modifica password utente
        /// </summary>
        /// <param name="newPassword"/></param>
        /// <param name="utente"></param>
        ///// <returns></returns>
        public DocsPaVO.Validations.ValidationResultInfo ChangeUserPwd(DocsPaVO.utente.UserLogin user, string oldPassword)
        {
            DocsPaVO.Validations.ValidationResultInfo result = new DocsPaVO.Validations.ValidationResultInfo();

            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            if (!utenti.CambiaPassword(user, oldPassword))
            {
                result.BrokenRules.Add(new DocsPaVO.Validations.BrokenRule("ChangePassword_ERROR", "Errore nella modifica della password per il documentale FILENET", DocsPaVO.Validations.BrokenRule.BrokenRuleLevelEnum.Error));
            }

            if (result.BrokenRules.Count == 0)
            {
                // gestione specifica per Filenet---------------------------------------------------------
                string oldPwd = utenti.GetPasswordUserFilenet(user.UserName);

                if (!this.ChangeUserFilenetPassword(user.UserName, oldPwd, user.UserName, user.IdAmministrazione))
                {
                    result.BrokenRules.Add(new DocsPaVO.Validations.BrokenRule("ChangePassword_ERROR", "Errore nella modifica della password per il documentale FILENET", DocsPaVO.Validations.BrokenRule.BrokenRuleLevelEnum.Error));
                }
            }

            result.Value = (result.BrokenRules.Count == 0);

            return(result);
        }
コード例 #5
0
        /// <summary>
        /// Reperimento ruolo dall'id corrglobali
        /// </summary>
        /// <param name="idPeople"></param>
        /// <returns></returns>
        public static DocsPaVO.utente.Ruolo getRuolo(string idCorrGlobali)
        {
            DocsPaDB.Query_DocsPAWS.Utenti utentiDb = new DocsPaDB.Query_DocsPAWS.Utenti();

            // Caricamento dei dati del ruolo, escludendo le funzioni
            return(utentiDb.GetRuoloEnabledAndDisabled(idCorrGlobali));
        }
コード例 #6
0
        /// <summary>
        /// Modifica password utente
        /// </summary>
        /// <param name="newPassword"/></param>
        /// <param name="utente"></param>
        ///// <returns></returns>
        public DocsPaVO.Validations.ValidationResultInfo ChangeUserPwd(DocsPaVO.utente.UserLogin user, string oldPassword)
        {
            DocsPaVO.Validations.ValidationResultInfo result = null;

            AdminPasswordConfig pwdConfig = new AdminPasswordConfig();

            if (pwdConfig.IsSupportedPasswordConfig())
            {
                // Se è abilitata la gestione configurazioni password
                int idAmministrazione = 0;
                if (!string.IsNullOrEmpty(user.IdAmministrazione))
                {
                    idAmministrazione = Convert.ToInt32(user.IdAmministrazione);
                }

                result = DocsPaPwdServices.UserPasswordServices.SetPassword(user.UserName, user.Password, false);
            }
            else
            {
                result = new DocsPaVO.Validations.ValidationResultInfo();

                DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                if (!utenti.CambiaPassword(user, oldPassword))
                {
                    result.BrokenRules.Add(new DocsPaVO.Validations.BrokenRule("ChangePassword_ERROR", "Errore nella modifica della password per il documentale ETDOCS", DocsPaVO.Validations.BrokenRule.BrokenRuleLevelEnum.Error));
                }

                result.Value = (result.BrokenRules.Count == 0);
            }

            return(result);
        }
コード例 #7
0
 public static void logoff(string userId, string idAmm, string dst)
 {
     DocsPaDB.Query_DocsPAWS.Utenti gestioneUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
     gestioneUtenti.UnlockUserLogin(userId, idAmm);
     DocsPaDocumentale.Documentale.UserManager userManager = new DocsPaDocumentale.Documentale.UserManager();
     userManager.LogoutUser(dst);
 }
コード例 #8
0
        public static bool AddBrowserInfo(DocsPaVO.utente.UserLogin objLogin, string idPeople)
        {
            bool retValue = false;

            DocsPaDB.Query_DocsPAWS.Utenti gestioneUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            retValue = gestioneUtenti.AddBrowserInfo(objLogin.BrowserInfo, idPeople, objLogin.UserName, objLogin.IPAddress);
            return(retValue);
        }
コード例 #9
0
        /// Cancellazione qualifica
        public static ValidationResultInfo DeleteQual(String idQualifica, int idAmministrazione)
        {
            ValidationResultInfo retValue = new ValidationResultInfo();

            DocsPaDB.Query_DocsPAWS.Utenti dbUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            dbUtenti.DeleteQual(idQualifica, idAmministrazione.ToString());
            return(retValue);
        }
コード例 #10
0
        /// Cancellazione peopleGroups
        public static ValidationResultInfo DeletePeopleGroups(String idPeopleGroups)
        {
            ValidationResultInfo retValue = new ValidationResultInfo();

            DocsPaDB.Query_DocsPAWS.Utenti dbUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            dbUtenti.DeletePeopleGroups(idPeopleGroups);
            return(retValue);
        }
コード例 #11
0
        public static string getDominio(string idPeople)
        {
            string dominio = null;

            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            utenti.GetDominio(out dominio, idPeople);
            return(dominio);
        }
コード例 #12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idRuolo"></param>
        /// <returns></returns>
        public static ArrayList getRegistriRuolo(string idRuolo)
        {
            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();

            return(utenti.GetRegistriRuolo(idRuolo));

            #region Codice Commentato

            /*logger.Debug("getRegistri");
             * ArrayList registri = new ArrayList();
             * //ricerca dei registri associati al ruolo
             * string queryString =
             *      "SELECT A.SYSTEM_ID, A.VAR_CODICE, A.NUM_RIF, A.VAR_DESC_REGISTRO, " +
             *      "A.VAR_EMAIL_REGISTRO, A.CHA_STATO, A.ID_AMM, " +
             *      DocsPaWS.Utils.dbControl.toChar("A.DTA_OPEN",false) + " AS DTA_OPEN, " +
             *      DocsPaWS.Utils.dbControl.toChar("A.DTA_CLOSE",false) + " AS DTA_CLOSE, " +
             *      DocsPaWS.Utils.dbControl.toChar("A.DTA_ULTIMO_PROTO",false) + " AS DTA_ULTIMO_PROTO " +
             *      "FROM DPA_L_RUOLO_REG B, DPA_EL_REGISTRI A " +
             *      "WHERE A.SYSTEM_ID=B.ID_REGISTRO AND ID_RUOLO_IN_UO=" + idRuolo +
             *      " ORDER BY B.CHA_PREFERITO DESC, A.VAR_DESC_REGISTRO";
             * logger.Debug(queryString);
             * IDataReader dr = db.executeReader(queryString);
             * while(dr.Read()){
             *      DocsPaVO.utente.Registro reg=new DocsPaVO.utente.Registro();
             *
             *      reg.systemId = dr.GetValue(0).ToString();
             *      reg.codRegistro = dr.GetValue(1).ToString();
             *      reg.codice = dr.GetValue(2).ToString();
             *      reg.descrizione = dr.GetValue(3).ToString();
             *      reg.email = dr.GetValue(4).ToString();
             *      reg.stato = dr.GetValue(5).ToString();
             *      reg.idAmministrazione = dr.GetValue(6).ToString();
             *      reg.codAmministrazione = DocsPaWS.Utils.Personalization.getInstance(reg.idAmministrazione).getCodiceAmministrazione();
             *      reg.dataApertura = dr.GetValue(7).ToString();
             *      reg.dataChiusura = dr.GetValue(8).ToString();
             *      reg.dataUltimoProtocollo = dr.GetValue(9).ToString();
             *      registri.Add(reg);
             * }
             * dr.Close();
             *
             * // leggo il numero di protocollo solo se lo stato del registro è chiuso
             * for (int i=0; i < registri.Count; i++) {
             *      DocsPaVO.utente.Registro reg = (DocsPaVO.utente.Registro)registri[i];
             *      if(reg.stato.Equals("C")) {
             *              if(reg.dataUltimoProtocollo.Substring(6,4).Equals(DocsPaWS.Utils.DateControl.getDate(false).Substring(6,4))) {
             *                      queryString =
             *                              "SELECT NUM_RIF FROM DPA_REG_PROTO WHERE ID_REGISTRO = " + reg.systemId;
             *                      logger.Debug(queryString);
             *                      reg.ultimoNumeroProtocollo = db.executeScalar(queryString).ToString();
             *                      reg.ultimoNumeroProtocollo=obj.getUltimoNumProto(reg.systemId);
             *              } else
             *                      reg.ultimoNumeroProtocollo = "1";
             *              registri[i] = reg;
             *      }
             * }
             * return registri;*/
            #endregion
        }
コード例 #13
0
 /// <summary>
 /// Reperimento di tutti gli utenti in un'amministrazione che hanno impostata una particolare qualifica
 /// </summary>
 /// <param name="codiceQualifica"></param>
 /// <param name="idAmm"></param>
 /// <param name="idUo"></param>
 /// <param name="idGruppo"></param>
 /// <returns></returns>
 public static List <DocsPaVO.Qualifica.PeopleQualifica> GetPeopleConQualifica(
     string codiceQualifica,
     string idAmm,
     string idUo,
     string idGruppo)
 {
     using (DocsPaDB.Query_DocsPAWS.Utenti utDb = new DocsPaDB.Query_DocsPAWS.Utenti())
         return(utDb.GetPeopleConQualifica(codiceQualifica, idAmm, idUo, idGruppo));
 }
コード例 #14
0
        /// <summary>
        /// Reperimento configurazioni LDAP impostate per un utente
        /// </summary>
        /// <param name="idUser"></param>
        /// <returns></returns>
        public static LdapUserConfig GetLdapUserConfig(string idUser)
        {
            DocsPaVO.utente.Utente user = null;

            using (DocsPaDB.Query_DocsPAWS.Utenti utentiDb = new DocsPaDB.Query_DocsPAWS.Utenti())
                user = utentiDb.getUtenteById(idUser);

            return(GetLdapUserConfigByName(user.userId));
        }
コード例 #15
0
        /// <summary>
        /// Putfile chiamato per l'inserimento in SharePoint del documento.
        /// </summary>
        /// <param name="fileforcontenct">Oggetto dal quale prendo i byte del File</param>
        /// <param name="schedaDocBase">Scheda documento, usata per i parametri in SharePoint</param>
        /// <param name="_infoutente">Info Utente</param>
        /// <param name="fileRequest">Oggetto utile alla get del nome file e del Path</param>
        /// <param name="extention">Estensione del file da inserire nel documentale (es:doc)</param>
        /// <returns>True false a seconda dell'esito del PUT, non uso Try catch per far tornare l'errore originale</returns>
        public static bool PutFileInSP(ref DocsPaVO.documento.FileDocumento fileforcontenct,
                                       ref SchedaDocumento schedaDocBase, DocsPaVO.utente.InfoUtente _infoutente,
                                       ref DocsPaVO.documento.FileRequest fileRequest, string extention)
        {
            string sRemoteFileURL = null;
            string sSPURL         = GetServerRoot();

            //Istanzio il service
            SPCopy.Copy sp2010VmCopyService2Put = new SPCopy.Copy();
            //Setto le credenziali con le mie prese da db
            sp2010VmCopyService2Put.Credentials = GetCredentialSP();
            //eeeeeee
            //sp2010VmCopyService2Put.Url = string.Format("{0}/{1}", GetServerProtocollo() + GetServerRootnosites(), "_vti_bin/copy.asmx");
            sp2010VmCopyService2Put.Url =
                string.Format("{0}{1}/{2}/{3}", GetServerProtocollo(), GetServerRootnosites(), GetLibraryRoot(DateTime.Now.Year.ToString(), _infoutente.codWorkingApplication).Replace(@"/", "\\").ToUpper(), "_vti_bin/copy.asmx");

            //Nome file
            sRemoteFileURL = string.Format("{0}_{1}.{2}", _infoutente.codWorkingApplication, fileRequest.versionId, extention);
            //Url di destinazione sotto SP per la scrittura del file
            string[] destinationUrls = { Uri.EscapeUriString(GetServerProtocollo() + fileRequest.path) };
            //Faccio la Get della UO da passare nei Metadati
            DocsPaDB.Query_DocsPAWS.Utenti utentiDb = new DocsPaDB.Query_DocsPAWS.Utenti();
            DocsPaVO.utente.Ruolo          ruolo    = utentiDb.GetRuolo(_infoutente.idCorrGlobali, false);
            schedaDocBase.creatoreDocumento.uo_codiceCorrGlobali = ruolo.uo.codice;
            //Imposto i metadati.
            //correzione sabrina -- tutto l'oggetto fileRequest
            SPCopy.FieldInformation[] myFieldInfoArray = ImpostaMetaDati(ref schedaDocBase, _infoutente, fileRequest);

            //SPCopy.FieldInformation[] myFieldInfoArray = ImpostaMetaDati(ref schedaDocBase, _infoutente, fileRequest.version);
            SPCopy.CopyResult[] result;
            //Put del file sotto Sharepoint e sotto la sitecollection corretta
            sp2010VmCopyService2Put.CopyIntoItems(sRemoteFileURL, destinationUrls, myFieldInfoArray, fileforcontenct.content, out result);
            //Gestione errori:
            if (result[0].ErrorCode != SPCopy.CopyErrorCode.Success)
            {
                Console.WriteLine("Error occured during document upload process.");
                throw new Exception("Error Occured!" + result[0].ErrorCode);
            }

            //metadati null
            SPCopy.FieldInformation   myFieldInfo          = new SPCopy.FieldInformation();
            SPCopy.FieldInformation[] myFieldInfoArrayNull = { myFieldInfo };
            byte[] myByteArray;
            //Faccio la Get solo ed esclusivamente per valorizzare il nuovo contenct[] e il suo lenght.
            uint myGetUint = sp2010VmCopyService2Put.GetItem(destinationUrls[0], out myFieldInfoArrayNull, out myByteArray);

            //valorizzo.
            if (myByteArray == null || myByteArray.Length == 0)
            {
                return(false);
            }
            fileforcontenct.content = myByteArray;
            fileforcontenct.length  = myByteArray.Length;
            //Ok torno.
            return(true);
        }
コード例 #16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="registro"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static DocsPaVO.utente.Registro cambiaStato(string idPeople, string idCorrGlobali, DocsPaVO.utente.Registro registro)
        {
            #region Codice Commentato

            /*logger.Debug("cambiaStato");
             * string updateString =
             *      "UPDATE DPA_EL_REGISTRI SET ";
             *
             * if(registro.stato.Equals("A")) {
             *      registro.stato = "C";
             *      registro.dataChiusura = DocsPaWS.Utils.DateControl.getDate(false);
             *      updateString += " DTA_CLOSE = " + DocsPaWS.Utils.dbControl.getDate();
             * }
             * else {
             *      registro.stato = "A";
             *      registro.dataApertura = DocsPaWS.Utils.DateControl.getDate(false);
             *      registro.dataChiusura = "";
             *      updateString += " DTA_CLOSE = null, DTA_OPEN = " + DocsPaWS.Utils.dbControl.getDate();
             * }
             * updateString +=
             *      ", CHA_STATO = '" + registro.stato + "'" +
             *      " WHERE SYSTEM_ID = " + registro.systemId;
             * DocsPaWS.Utils.Database db = DocsPaWS.Utils.dbControl.getDatabase();
             * try {
             *      db.openConnection();
             *      if (!registro.stato.Equals("C")) {
             *              string sqlString =
             *                      "UPDATE DPA_REG_PROTO SET NUM_RIF=1 " +
             *                      "WHERE ID_REGISTRO = (SELECT SYSTEM_ID FROM DPA_EL_REGISTRI " +
             *                      "WHERE SYSTEM_ID= " + registro.systemId + " AND " + DocsPaWS.Utils.dbControl.getYear(DocsPaWS.Utils.dbControl.getDate()) + "!=" + DocsPaWS.Utils.dbControl.getYear("DTA_OPEN") + ")";
             *              logger.Debug(sqlString);
             *              db.executeNonQuery(sqlString);
             *      }
             *      logger.Debug(updateString);
             *      db.executeNonQuery(updateString);
             *      if (registro.stato.Equals("C")) {
             *              registro.ultimoNumeroProtocollo = db.executeScalar("SELECT NUM_RIF FROM DPA_REG_PROTO WHERE ID_REGISTRO = " + registro.systemId).ToString();
             *              aggiornaStorico(db, registro, infoUtente);
             *      }
             *      db.closeConnection();
             * } catch (Exception e) {
             *      logger.Debug (e.Message);
             *      db.closeConnection();
             *      throw new Exception("F_System");
             * }*/
            //DocsPaWS.Utils.Database db = DocsPaWS.Utils.dbControl.getDatabase();
            #endregion

            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            logger.Debug("CALL : RegistroCambiaStato");
            utenti.RegistroCambiaStato(idPeople, idCorrGlobali, ref registro);

            logger.Debug("END : DocsPAWS > Utenti > RegistriManager > cambiaStato");
            return(registro);
        }
コード例 #17
0
        public static DocsPaVO.utente.Registro GetRegistroDaPec(string idProfile)
        {
            DocsPaVO.utente.Registro reg = null;

            if (!string.IsNullOrEmpty(idProfile))
            {
                DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                utenti.GetRegistroDaPec(idProfile, ref reg);
            }

            return(reg);
        }
コード例 #18
0
        public static DocsPaVO.utente.Registro getRegistroByCode(string codiceRegistro)
        {
            DocsPaVO.utente.Registro reg = null;

            if (!string.IsNullOrEmpty(codiceRegistro))
            {
                DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                utenti.GetRegistroByCodice(codiceRegistro, ref reg);
            }

            return(reg);
        }
コード例 #19
0
        private static DocsPaVO.trasmissione.Trasmissione ExecuteTransmission(DocsPaVO.documento.SchedaDocumento schedaDoc, string idGruppoDest, string idPeopleDest, DocsPaVO.utente.InfoUtente infoUtente)
        {
            DocsPaVO.trasmissione.Trasmissione trasm = new DocsPaVO.trasmissione.Trasmissione();

            DocsPaDB.Query_DocsPAWS.Utenti u = new DocsPaDB.Query_DocsPAWS.Utenti();

            trasm.ruolo  = u.GetRuoloByIdGruppo(infoUtente.idGruppo); //istanzaProcesso.RuoloProponente;
            trasm.utente = u.getUtenteById(infoUtente.idPeople);      //istanzaProcesso.UtenteProponente;
            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();

            trasm.infoDocumento = schedaDoc.InfoDocumento;

            //INSERISCO LA RAGIONE DI TRASMISSIONE DI SISTEMA PER LIBRO FIRMA
            DocsPaVO.trasmissione.RagioneTrasmissione ragione = getRagioneTrasm(infoUtente.idAmministrazione, "D");

            //CREO LA TRASMISSIONE SINGOLA
            DocsPaVO.trasmissione.TrasmissioneSingola trasmSing = new DocsPaVO.trasmissione.TrasmissioneSingola();
            trasmSing.ragione   = ragione;
            trasmSing.tipoTrasm = "S";


            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            DocsPaVO.utente.Ruolo          ruolo  = utenti.GetRuoloByIdGruppo(idGruppoDest);
            trasmSing.corrispondenteInterno = ruolo;
            trasmSing.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO;

            System.Collections.ArrayList             listaUtenti = new System.Collections.ArrayList();
            DocsPaVO.addressbook.QueryCorrispondente qc          = new DocsPaVO.addressbook.QueryCorrispondente();
            qc.codiceRubrica = ruolo.codiceRubrica;
            System.Collections.ArrayList registri = ruolo.registri;
            qc.tipoUtente = DocsPaVO.addressbook.TipoUtente.INTERNO;
            //qc.idRegistri = registri;
            qc.idAmministrazione = ruolo.idAmministrazione;
            qc.getChildren       = true;
            qc.fineValidita      = true;
            listaUtenti          = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qc);
            System.Collections.ArrayList trasmissioniUt = new System.Collections.ArrayList();

            for (int k = 0; k < listaUtenti.Count; k++)
            {
                DocsPaVO.trasmissione.TrasmissioneUtente trUt = new DocsPaVO.trasmissione.TrasmissioneUtente();
                trUt.utente       = (DocsPaVO.utente.Utente)listaUtenti[k];
                trUt.daNotificare = (listaUtenti[k] as DocsPaVO.utente.Utente).idPeople.Equals(idPeopleDest);
                trasmissioniUt.Add(trUt);
            }

            trasmSing.trasmissioneUtente = trasmissioniUt;
            trasm.trasmissioniSingole    = new System.Collections.ArrayList()
            {
                trasmSing
            };
            return(BusinessLogic.Trasmissioni.ExecTrasmManager.saveExecuteTrasmMethod("", trasm));
        }
コード例 #20
0
        /// <summary>
        /// Verifica se l'utente è configurato in amministrazione per l'autenticazione di dominio
        /// </summary>
        /// <param name="idPeople">Id dell'utente da verificare</param>
        /// <param name="networkAlias">
        /// Nome utente di rete corrispondente all'utente applicativo pitre (non è detto che corrispondano)
        /// </param>
        /// <returns></returns>
        public static bool isUtenteDominio(string idPeople, out string networkAlias)
        {
            networkAlias = string.Empty;
            bool retValue = false;

            using (DocsPaDB.Query_DocsPAWS.Utenti utentiDb = new DocsPaDB.Query_DocsPAWS.Utenti())
                utentiDb.GetDominio(out networkAlias, idPeople);

            retValue = (!string.IsNullOrEmpty(networkAlias));

            return(retValue);
        }
コード例 #21
0
        public static void disconnettiUtente(string userId, string codiceAmm)
        {
            DocsPaDB.Query_DocsPAWS.Utenti             gestioneUtenti  = new DocsPaDB.Query_DocsPAWS.Utenti();
            DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazione = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();
            string idAmm = amministrazione.GetAdminByName(codiceAmm);

            if (idAmm != null)
            {
                gestioneUtenti.UnlockUserLogin(userId, idAmm);
            }
            return;
        }
コード例 #22
0
        public static int NumUtentiAttivi(string codiceAmm)
        {
            int result = 0;

            DocsPaDB.Query_DocsPAWS.Utenti gestioneUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            result = gestioneUtenti.GetNumUtentiAttivi(codiceAmm);
            if (result == null)
            {
                result = 0;
            }
            return(result);
        }
コード例 #23
0
        public static DocsPaVO.utente.Registro getRegistroByCodAOO(string codAOO, string idAmministrazione)
        {
            DocsPaVO.utente.Registro reg = null;
            if (!(codAOO != null && !codAOO.Equals("")))
            {
                return(reg);
            }
            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            utenti.GetRegistroByCodAOO(codAOO, idAmministrazione, ref reg);


            return(reg);
        }
コード例 #24
0
        /// Aggiornamento qualifica con verifica campo descrizione
        public static ValidationResultInfo UpdateQual(String idQualifica, String descrizione)
        {
            ValidationResultInfo retValue = IsValidRequiredFieldsQualificaUpdate(descrizione);

            if (retValue.Value)
            {
                DocsPaDB.Query_DocsPAWS.Utenti dbUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                dbUtenti.UpdateQual(idQualifica, descrizione);
                retValue.Value = true;
            }

            return(retValue);
        }
コード例 #25
0
        /// <summary>
        /// Modifica password utente
        /// </summary>
        /// <param name="newPassword"/></param>
        /// <param name="utente"></param>
        ///// <returns></returns>
        public DocsPaVO.Validations.ValidationResultInfo ChangeUserPwd(DocsPaVO.utente.UserLogin user, string oldPassword)
        {
            DocsPaVO.Validations.ValidationResultInfo result = new DocsPaVO.Validations.ValidationResultInfo();

            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            if (!utenti.CambiaPassword(user, oldPassword))
            {
                result.BrokenRules.Add(new DocsPaVO.Validations.BrokenRule("ChangePassword_ERROR", "Errore nella modifica della password per il documentale HUMMINGBIRD", DocsPaVO.Validations.BrokenRule.BrokenRuleLevelEnum.Error));
            }

            result.Value = (result.BrokenRules.Count == 0);

            return(result);
        }
コード例 #26
0
        ///// <summary>
        /////
        ///// </summary>
        ///// <param name="newPassword"></param>
        ///// <param name="userName"></param>
        ///// <returns></returns>
        //public static DocsPaVO.Validations.ValidationResultInfo ChangePassword(string newPassword, string userName, string idAmministrazione)
        //{
        //    DocsPaVO.Validations.ValidationResultInfo result = null;

        //    DocsPaVO.utente.Utente user = BusinessLogic.Utenti.UserManager.getUtente(userName, idAmministrazione);

        //    if (user != null)
        //    {
        //        result = ChangePassword(user, );
        //    }
        //    else
        //    {
        //        // Utente non trovato
        //        result = new DocsPaVO.Validations.ValidationResultInfo();
        //        result.BrokenRules.Add(new DocsPaVO.Validations.BrokenRule("USER_NOT_FOUND", string.Format("Utente '{0}' non trovato", userName), DocsPaVO.Validations.BrokenRule.BrokenRuleLevelEnum.Error));
        //        result.Value = false;
        //    }

        //    return result;
        //}

        ///// <summary>
        ///// </summary>
        ///// <param name="login"></param>
        ///// <param name="debug"></param>
        //public static bool cambiaPassword(DocsPaVO.utente.UserLogin user, string oldPassword)
        //{
        //    bool result = false;

        //    DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
        //    result = utenti.CambiaPassword(user, oldPassword);

        //    string esito = (result)?"OK":"errore!";
        //    logger.Debug("Funzione: Cambia password utente... esito: " + esito);

        //    if(result)
        //    {
        //        // gestione specifica per Filenet---------------------------------------------------------
        //        string oldPwd = string.Empty;
        //        string documentType = System.Configuration.ConfigurationManager.AppSettings["documentale"];
        //        if (documentType.ToUpper().Equals("FILENET"))
        //        {
        //            oldPwd = utenti.GetPasswordUserFilenet(user.userId);

        //            DocsPaDocumentale.Documentale.UserManager userManager = new DocsPaDocumentale.Documentale.UserManager(null, null);
        //            result = userManager.UpdateUserFilenet(user.userId, oldPwd, newPassword, string.Format("{0} {1}", user.cognome, user.nome), user.idAmministrazione);
        //            esito = (result)?"OK":"errore!";
        //            logger.Debug("segue: Cambia password utente su FILENET... esito: " + esito);
        //        }
        //        // fine filenet---------------------------------------------------------------------------
        //    }

        //    return result;
        //}

        public static DocsPaVO.utente.UserLogin VerificaUtente(string userName)
        {
            DataSet ds;

            logger.Debug("Verifica utente");
            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            ds = utenti.VerificaUtente(userName);
            if (ds.Tables[0].Rows.Count == 0)
            {
                return(null);
            }
            string idAmm     = ds.Tables[0].Rows[0]["ID_AMM"].ToString();
            string pwdUtente = "";             // ds.Tables[0].Rows[0]["USER_PASSWORD"].ToString();

            DocsPaVO.utente.UserLogin userLogin = new DocsPaVO.utente.UserLogin(userName, pwdUtente, idAmm);
            return(userLogin);
        }
コード例 #27
0
        //OK
        public ArrayList getCorrispondentiByCodRF(string codiceRF)
        {
            ArrayList corr = new ArrayList();

            DocsPaDB.DBProvider dbProvider = new DocsPaDB.DBProvider();

            try
            {
                //semaforo.WaitOne();
                DocsPaUtils.Query queryMng = DocsPaUtils.InitQuery.getInstance().getQuery("GET_CORRISPONDENTE_BY_RF");
                queryMng.setParam("param1", codiceRF.ToUpper().Replace("'", "''"));
                string commandText = queryMng.getSQL();
                System.Diagnostics.Debug.WriteLine("SQL - getCorrispondentiByCodRF - RF.cs - QUERY : " + commandText);
                logger.Debug("SQL - getCorrispondentiByCodRF - RF.cs - QUERY : " + commandText);

                DataSet ds = new DataSet();
                dbProvider.ExecuteQuery(ds, commandText);

                DocsPaDB.Query_DocsPAWS.Utenti u = new DocsPaDB.Query_DocsPAWS.Utenti();
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    DocsPaVO.utente.Corrispondente c = u.GetCorrispondenteBySystemID(ds.Tables[0].Rows[i][0].ToString());
                    string ii = c.codiceRubrica;
                    // corr.Add(c);
                    if (c.tipoIE == "I")
                    {
                        corr.Add(u.GetCorrispondenteByCodRubrica(ds.Tables[0].Rows[i][1].ToString(), c.codiceRubrica, DocsPaVO.addressbook.TipoUtente.INTERNO));
                    }
                    if (c.tipoIE == "E")
                    {
                        corr.Add(u.GetCorrispondenteByCodRubrica(ds.Tables[0].Rows[i][1].ToString(), c.codiceRubrica, DocsPaVO.addressbook.TipoUtente.ESTERNO));
                    }
                }
            }
            catch
            {
                return(null);
            }
            finally
            {
                dbProvider.Dispose();
                //semaforo.ReleaseMutex();
            }

            return(corr);
        }
コード例 #28
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="objLogin"></param>
        /// <param name="loginResult"></param>
        /// <param name="forcedLogin">
        /// Imposta se la connessione deve essere forzata, ossia
        /// una eventuale connessione esistente viene annullata).
        /// </param>
        /// <returns></returns>
        public static DocsPaVO.utente.UserLogin.ValidationResult ValidateLogin(string userName, string idAmministrazione, string webSessionId)
        {
            DocsPaVO.utente.UserLogin.ValidationResult result = DocsPaVO.utente.UserLogin.ValidationResult.OK;

            try
            {
                DocsPaDB.Query_DocsPAWS.Utenti gestioneUtenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                result = gestioneUtenti.CheckUserLogin(userName, idAmministrazione, webSessionId);
            }
            catch (Exception exception)
            {
                logger.Debug("Errore durante la validazione della sessione web.", exception);
                result = DocsPaVO.utente.UserLogin.ValidationResult.APPLICATION_ERROR;
            }

            return(result);
        }
コード例 #29
0
        /// <summary>
        /// </summary>
        /// <param name="idRegistro"></param>
        /// <returns></returns>
        public static DocsPaVO.utente.Registro getRegistro(string idRegistro)
        {
            DocsPaVO.utente.Registro reg = null;

            if (!(idRegistro != null && !idRegistro.Equals("")))
            {
                return(reg);
            }

            DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
            utenti.GetRegistro(idRegistro, ref reg);

            #region Codice Commentato

            /*string queryString =
             *      "SELECT A.SYSTEM_ID, A.VAR_CODICE, A.NUM_RIF, A.VAR_DESC_REGISTRO, " +
             *      "A.VAR_EMAIL_REGISTRO, A.CHA_STATO, A.ID_AMM, " +
             *      DocsPaWS.Utils.dbControl.toChar("A.DTA_OPEN",false) + " AS DTA_OPEN, " +
             *      DocsPaWS.Utils.dbControl.toChar("A.DTA_CLOSE",false) + " AS DTA_CLOSE, " +
             *      DocsPaWS.Utils.dbControl.toChar("A.DTA_ULTIMO_PROTO",false) + " AS DTA_ULTIMO_PROTO " +
             *      "FROM DPA_EL_REGISTRI A WHERE A.SYSTEM_ID=" + idRegistro;
             * logger.Debug(queryString);
             *
             * IDataReader dr = db.executeReader(queryString);
             *
             * if(dr.Read()){
             *      reg = new DocsPaVO.utente.Registro();
             *
             *      reg.systemId = dr.GetValue(0).ToString();
             *      reg.codRegistro = dr.GetValue(1).ToString();
             *      reg.codice = dr.GetValue(2).ToString();
             *      reg.descrizione = dr.GetValue(3).ToString();
             *      reg.email = dr.GetValue(4).ToString();
             *      reg.stato = dr.GetValue(5).ToString();
             *      reg.idAmministrazione = dr.GetValue(6).ToString();
             *      reg.codAmministrazione = DocsPaDB.Utils.Personalization.getInstance(reg.idAmministrazione).getCodiceAmministrazione();
             *      reg.dataApertura = dr.GetValue(7).ToString();
             *      reg.dataChiusura = dr.GetValue(8).ToString();
             *      reg.dataUltimoProtocollo = dr.GetValue(9).ToString();
             * }
             * dr.Close();*/
            #endregion

            return(reg);
        }
コード例 #30
0
        public static ArrayList getRegistriNoFiltroAOO(string idAmm)
        {
            //TODO: DOMANI
            ArrayList registri = null;

            try
            {
                DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                registri = utenti.getRegistriNoFiltroAOO(idAmm);
            }
            catch (Exception e)
            {
                logger.Debug("Errore nella gestione degli utenti (getRegistriNoFiltroAOO)", e);
                throw new Exception("F_System");
            }

            return(registri);
        }