コード例 #1
0
        /// <summary>
        /// Modifica dei metadati di un ruolo
        /// </summary>
        /// <param name="ruolo"></param>
        /// <returns></returns>
        public EsitoOperazione ModificaRuolo(OrgRuolo ruolo)
        {
            EsitoOperazione ret = new EsitoOperazione();
            string          logMsg;

            // test sui campi obbligatori
            if (string.IsNullOrEmpty(ruolo.Codice) ||
                string.IsNullOrEmpty(ruolo.Descrizione))
            {
                ret.Codice      = -1;
                logMsg          = ERR_HEADER + "ModificaRuolo: dati insufficienti";
                ret.Descrizione = logMsg;
                logger.Debug(logMsg);
                return(ret);
            }

            // il campo Codice corrisponde a:
            //  (ETDOCS) DPA_CORR_GLOBALI.VAR_COD_RUBRICA varchar(128)
            //  (OCS)

            try
            {
                CorteContentServices.GroupRequestType groupReq = new CorteContentServices.GroupRequestType();
                groupReq.userCredentials   = OCSServices.OCSUtils.getApplicationUserCredentials();
                groupReq.group             = new CorteContentServices.GroupType();
                groupReq.group.name        = ruolo.Codice;
                groupReq.group.description = ruolo.Descrizione;
                groupReq.group.users       = new DocsPaDocumentale_OCS.CorteContentServices.UserType[0];

                CorteContentServices.ResultType result = this.WsGroupInstance.ModifyGroup(groupReq);

                if (OCSUtils.isValidServiceResult(result))
                {
                    ret.Codice = 0;
                }
                else
                {
                    logger.Debug(DEBUG_HEADER + "ModificaRuolo operazione con ERRORE su OCS: " + ret.Descrizione);
                    ret.Codice      = -1;
                    ret.Descrizione = result.message.Replace("'", " ");
                }

                return(ret);
            }
            catch (Exception ex)
            {
                string st = ex.ToString();
                logger.Debug(DEBUG_HEADER + "ModificaRuolo FALLITA, Exception=" + st);
                ret.Codice      = -1;
                ret.Descrizione = ERR_HEADER + "ModificaRuolo";
                return(ret);
            }
        }
コード例 #2
0
        /// <summary>
        /// Login al sistema documentale
        /// </summary>
        /// <param name="utente"></param>
        /// <param name="loginResult"></param>
        /// <returns></returns>
        public bool LoginUser(DocsPaVO.utente.UserLogin userLogin, out DocsPaVO.utente.Utente utente, out DocsPaVO.utente.UserLogin.LoginResult loginResult)
        {
            bool retValue = false;

            utente      = null;
            loginResult = UserLogin.LoginResult.UNKNOWN_USER;
            try
            {
                utente = new Utente();

                CorteContentServices.UserCredentialsRequestType userCred = new CorteContentServices.UserCredentialsRequestType();
                CorteContentServices.ResultType result = new CorteContentServices.ResultType();
                userCred.userCredentials          = new CorteContentServices.UserCredentialsType();
                userCred.userCredentials.userId   = userLogin.UserName;
                userCred.userCredentials.password = userLogin.Password;

                result = this.WsUserInstance.Login(userCred);

                if (OCSUtils.isValidServiceResult(result))
                {
                    //definizione del dst
                    // il dst tiene in memoria le informazioni necessarie per l'autenticazione dell'utente
                    // ci sono operazioni in cui non viene utilizzato l'utente applicativo ma è necessario
                    // utilizzare le credenziali effettive dell'utente che si connette al sistema.
                    // Per esempio nelle ricerche
                    utente     = new Utente();
                    utente.dst = this.GetAuthenticationToken(userLogin.UserName, userLogin.Password);

                    retValue    = true;
                    loginResult = DocsPaVO.utente.UserLogin.LoginResult.OK;
                    logger.Debug(string.Format("OCS.LoginUser: utente {0} connesso", userLogin.UserName));
                }
                else
                {
                    retValue    = false;
                    utente      = null;
                    loginResult = UserLogin.LoginResult.UNKNOWN_USER;

                    logger.Debug(string.Format("Errore in OCS.Login:\n{0}", result.message));
                }
            }
            catch (Exception ex)
            {
                retValue    = false;
                utente      = null;
                loginResult = UserLogin.LoginResult.UNKNOWN_USER;

                logger.Error(string.Format("Errore in OCS.Login:\n{0}", ex.ToString()));
            }

            return(retValue);
        }
コード例 #3
0
        /// <summary>
        /// Cancellazione di un ruolo in amministrazione
        /// </summary>
        /// <param name="ruolo"></param>
        /// <returns></returns>
        public EsitoOperazione EliminaRuolo(OrgRuolo ruolo)
        {
            EsitoOperazione ret = new EsitoOperazione();
            string          logMsg;

            // test sui campi obbligatori
            if (string.IsNullOrEmpty(ruolo.Codice))
            {
                logMsg          = ERR_HEADER + "EliminaRuolo: dati insufficienti";
                ret.Codice      = -1;
                ret.Descrizione = logMsg;
                logger.Debug(logMsg);
                return(ret);
            }

            try
            {
                CorteContentServices.GroupDefinitionRequestType groupReq = new CorteContentServices.GroupDefinitionRequestType();
                CorteContentServices.ResultType result;
                groupReq.userCredentials             = OCSServices.OCSUtils.getApplicationUserCredentials();
                groupReq.groupDefinition             = new CorteContentServices.GroupDefinitionType();
                groupReq.groupDefinition.name        = ruolo.Codice;
                groupReq.groupDefinition.description = ruolo.Descrizione;

                result = this.WsGroupInstance.DeleteGroup(groupReq);

                if (OCSUtils.isValidServiceResult(result))
                {
                    logger.Debug(DEBUG_HEADER + "EliminaRuolo completata con SUCCESSO");
                    ret.Codice = 0;
                }
                else
                {
                    logger.Debug(DEBUG_HEADER + "EliminaRuolo operazione con ERRORE su OCS: " + result.message);
                    ret.Codice      = -1;
                    ret.Descrizione = result.message.Replace("'", " ");
                }

                return(ret);
            }
            catch (Exception ex)
            {
                String st = ex.ToString();
                logger.Debug(DEBUG_HEADER + "EliminaRuolo FALLITA, Exception=" + st);
                ret.Codice      = -1;
                ret.Descrizione = ERR_HEADER + "EliminaRuolo";
                return(ret);
            }
        }
コード例 #4
0
        /// <summary>
        /// Inserimento di un nuovo utente in amministrazione. L'utente verrà inserito in un gruppo che contiene tutti gli utenti DocsPA.
        /// il gruppo deve già esistere su OCS!!!
        /// </summary>
        /// <param name="utente"></param>
        /// <returns></returns>
        public EsitoOperazione InserisciUtente(OrgUtente utente)
        {
            //inserisce l'utente nel gruppo dei lettori DocsPA
            EsitoOperazione ret = new EsitoOperazione();

            try
            {
                string codiceRuolo  = OCSConfigurations.GetGroupUsers();
                string codiceUtente = utente.CodiceRubrica;
                CorteContentServices.GroupRequestType groupReq = new CorteContentServices.GroupRequestType();
                CorteContentServices.ResultType       result;
                groupReq.userCredentials = OCSServices.OCSUtils.getApplicationUserCredentials();
                groupReq.group           = new CorteContentServices.GroupType();
                groupReq.group.name      = codiceRuolo;
                //bisogna specificare la descrizione perchè l'elemento non è facoltativo al momento
                groupReq.group.description     = "";
                groupReq.group.users           = new CorteContentServices.UserType[1];
                groupReq.group.users[0]        = new CorteContentServices.UserType();
                groupReq.group.users[0].userId = codiceUtente;

                result = this.WsGroupInstance.AddGroupUsers(groupReq);

                if (OCSUtils.isValidServiceResult(result))
                {
                    logger.Debug(DEBUG_HEADER + "Inserimento utente nel gruppo DocsPa: " + codiceRuolo + " completata con SUCCESSO");
                    ret.Codice = 0;
                }
                else
                {
                    logger.Debug(DEBUG_HEADER + "Inserimento utente nel gruppo DocsPa: " + codiceRuolo + " operazione con ERRORE");
                    ret.Codice      = -1;
                    ret.Descrizione = "problema su OCS: " + result.message.Replace("'", " ");
                }

                return(ret);
            }
            catch (Exception ex)
            {
                String st = ex.ToString();
                logger.Debug(DEBUG_HEADER + "InserisciUtenteInRuolo FALLITA, Exception=" + st);
                ret.Codice      = -1;
                ret.Descrizione = ERR_HEADER + "InserisciUtenteInRuolo";
                return(ret);
            }
            //throw new NotSupportedException("InserisciUtente: operazione non supportata in OCS");
        }
コード例 #5
0
        /// <summary>
        /// Eliminazione di un utente da un ruolo
        /// </summary>
        /// <param name="idPeople"></param>
        /// <param name="idGruppo"></param>
        /// <returns></returns>
        public EsitoOperazione EliminaUtenteDaRuolo(string idPeople, string idGruppo)
        {
            EsitoOperazione ret = new EsitoOperazione();

            try
            {
                string codiceRuolo  = DocsPaServices.DocsPaQueryHelper.getCodiceRuoloFromIdGroup(idGruppo);
                string codiceUtente = DocsPaServices.DocsPaQueryHelper.getCodiceUtente(idPeople);
                CorteContentServices.GroupRequestType groupReq = new CorteContentServices.GroupRequestType();
                CorteContentServices.ResultType       result;
                groupReq.userCredentials = OCSServices.OCSUtils.getApplicationUserCredentials();
                groupReq.group           = new CorteContentServices.GroupType();
                groupReq.group.name      = codiceRuolo;
                //bisogna specificare la descrizione perchè l'elemento non è facoltativo al momento
                groupReq.group.description     = "";
                groupReq.group.users           = new CorteContentServices.UserType[1];
                groupReq.group.users[0]        = new CorteContentServices.UserType();
                groupReq.group.users[0].userId = codiceUtente;

                result = this.WsGroupInstance.RemoveGroupUsers(groupReq);

                if (OCSUtils.isValidServiceResult(result))
                {
                    logger.Debug(DEBUG_HEADER + "EliminaUtenteDaRuolo completata con SUCCESSO");
                    ret.Codice = 0;
                }
                else
                {
                    logger.Debug(DEBUG_HEADER + "EliminaUtenteDaRuolo operazione con ERRORE su OCS: " + result.message);
                    ret.Codice      = -1;
                    ret.Descrizione = "Errore in OCS: " + result.message.Replace("'", " ");
                }

                return(ret);
            }
            catch (Exception ex)
            {
                String st = ex.ToString();
                logger.Debug(DEBUG_HEADER + "EliminaUtenteDaRuolo FALLITA, Exception=" + st);
                ret.Codice      = -1;
                ret.Descrizione = ERR_HEADER + "EliminaUtenteDaRuolo";
                return(ret);
            }
        }