/// <summary> /// Modifica dei metadati di un ruolo /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione ModificaRuolo(OrgRuolo ruolo) { // Modifica del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.ModificaRuolo(ruolo); return(result); }
/// <summary> /// Inserimento nuovo ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione InserisciRuolo(OrgRuolo ruolo, bool computeAtipicita) { // Inserimento del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.InserisciRuolo(ruolo, computeAtipicita); return(result); }
/// <summary> /// Informa lamministratore se il ruolo ha documenti associati(in questo caso /// il ruolo può essere solo disabilitato) /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione OnlyDisabledRole(OrgRuolo ruolo) { //documentale ETDOCS EsitoOperazione result = this.InstanceETDOCS.OnlyDisabledRole(ruolo); return(result); }
/// <summary> /// Spostamento di un ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> /// <remarks> /// In dctm, non esiste il concetto di ruolo contenuto in UO; /// pertanto verrà richiamato il metodo ModificaRuolo in quanto /// la funzione consente di modificare alcuni attributi, tra cui il codice. /// </remarks> public EsitoOperazione SpostaRuolo(OrgRuolo ruolo) { // Lo spostamento corrisponde al modifica return(this.ModificaRuolo(ruolo)); // Lo spostamento in documentum non è supportato //return new EsitoOperazione() { Codice = 0 }; }
/// <summary> /// Informa lamministratore se il ruolo ha documenti associati(in questo caso /// il ruolo può essere solo disabilitato) /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione OnlyDisabledRole(OrgRuolo ruolo) { //documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.OnlyDisabledRole(ruolo); return(result); }
/// <summary> /// /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione OnlyDisabledRole(OrgRuolo ruolo) { DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione(); DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione(); string result = dbAmm.AmmOnlyDisabledRole(ruolo); // possibili valori di ritorno: // 1 - il ruolo presenta record nella dpa_doc_arrivo_par // 2 - il ruolo presenta record nella dpa_trasm_singola // 9 - il ruolo presenta record nella profile // gli altri valori non ci interessano in questo caso, verranno ripresi in EliminaRuolo switch (result) { case "1": esito.Codice = 1; esito.Descrizione = "il ruolo non può essere eliminato ma solo disabilitato\\n\\poiché risulta essere MITTENTE o DESTINATARIO di alcuni documenti protocollati."; break; case "2": esito.Codice = 2; esito.Descrizione = "il ruolo non può essere eliminato ma solo disabilitato\\n\\poiché risulta essere DESTINATARIO di trasmissioni."; break; case "21": esito.Codice = 9; esito.Descrizione = "il ruolo non può essere eliminato ma solo disabilitato\\n\\poiché risulta essere proprietario di documenti."; break; } dbAmm = null; return(esito); }
/// <summary> /// Cancellazione di un ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione EliminaRuolo(OrgRuolo ruolo) { // Eliminazione del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.EliminaRuolo(ruolo); return(result); }
/// <summary> /// Spostamento di un ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione SpostaRuolo(OrgRuolo ruolo) { // Spostamento del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.SpostaRuolo(ruolo); return(result); }
/// <summary> /// /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione InserisciRuolo(OrgRuolo ruolo, bool computeAtipicita) { DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione(); DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione(); //verifica se il codice è univoco sulla corr_globali DocsPaDB.Query_DocsPAWS.AmministrazioneXml obj = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml(); if (!obj.CheckCountCondition("DPA_CORR_GLOBALI", "UPPER(VAR_CODICE)=UPPER('" + ruolo.Codice + "') AND ID_AMM=" + ruolo.IDAmministrazione)) { esito.Codice = 1; esito.Descrizione = "codice già utilizzato da altro ruolo"; } else { //verifica se il codice è univoco sulla groups if (!obj.CheckCountCondition("GROUPS", "UPPER(GROUP_ID)=UPPER('" + ruolo.Codice + "')")) { esito.Codice = 2; esito.Descrizione = "codice già utilizzato da altro gruppo"; } else { if (!dbAmm.AmmInsNuovoRuolo(ruolo)) { esito.Codice = 3; esito.Descrizione = "si è verificato un errore: inserimento del ruolo"; } //verifica se si vuole disabilitare alla ricezione delle trasmissioni un ruolo di riferimento if (ruolo.DiRiferimento.ToString().Equals("1") && ruolo.DisabledTrasm.ToString().Equals("1")) { esito.Codice = 4; esito.Descrizione = "Impossibile disabilitare alla ricezione delle trasmissioni un ruolo di riferimento"; } } } // Se è richiesto il calcolo dell'atipicità, viene richiamata la procedura if (esito.Codice == 0 && computeAtipicita) { try { using (DocsPaDB.Query_DocsPAWS.Documentale doc = new DocsPaDB.Query_DocsPAWS.Documentale()) doc.CalcolaAtipicitaRuoliSottoposti(ruolo); } catch (Exception e) { esito.Codice = 5; esito.Descrizione = "Errore durante il calcolo di atipicità su documenti e fascicoli dei ruoli sottoposti"; } } obj = null; dbAmm = null; return(esito); }
/// <summary> /// Inserimento nuovo ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione InserisciRuolo(OrgRuolo ruolo, bool computeAtipicita) { EsitoOperazione ret = new EsitoOperazione(); string logMsg; IObjectService objSrvc = null; String repositoryName = DctmConfigurations.GetRepositoryName(); // test sui campi obbligatori if (string.IsNullOrEmpty(ruolo.Codice) || string.IsNullOrEmpty(ruolo.Descrizione)) { ret.Codice = -1; logMsg = ERR_HEADER + "InserisciRuolo: dati insufficienti"; ret.Descrizione = logMsg; logger.Debug(logMsg); return(ret); } // il campo Codice corrisponde a: // (ETDOCS) DPA_CORR_GLOBALI.VAR_COD_RUBRICA varchar(128) // (DCTM) dm_group.group_name string(32) // se mi viene passato un codice di lunghezza > 32 lancio un'eccezione if (ruolo.Codice.Length > 32) { ret.Codice = -1; logMsg = ERR_HEADER + "InserisciRuolo: campo CODICE supera la lunghezza massima (32)"; ret.Descrizione = logMsg; logger.Debug(logMsg); return(ret); } try { objSrvc = this.GetObjectServiceInstance(); ObjectIdentity userIdentity = new ObjectIdentity(repositoryName); DataObject groupData = new DataObject(userIdentity, ObjectTypes.GRUPPO); groupData.Properties.Properties.AddRange(Dfs4DocsPa.getGroupProperties(ruolo, false)); DataPackage pkg = new DataPackage(groupData); objSrvc.Create(pkg, null); logger.Debug(DEBUG_HEADER + "InserisciRuolo completata con SUCCESSO"); return(ret); } catch (Exception ex) { String st = ex.ToString(); logger.Debug(DEBUG_HEADER + "InserisciRuolo FALLITA, Exception=" + st); ret.Codice = -1; ret.Descrizione = ERR_HEADER + "InserisciRuolo"; return(ret); } }
/// <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); } }
/// <summary> /// informa l'amministratore se il ruolo può essere disabilitato ma non eliminato /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione OnlyDisabledRole(OrgRuolo ruolo) { // possibili valori di ritorno: // 1 - il ruolo presenta record nella dpa_doc_arrivo_par // 2 - il ruolo presenta record nella dpa_trasm_singola // 21 - il ruolo presenta record nella profile // 0 - il ruolo può essere eliminato //non siamo interessati agli altri valori, serviranno in elimina ruolo // Eliminazione del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.OnlyDisabledRole(ruolo); return(result); }
/// <summary> /// Cancellazione di un ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione EliminaRuolo(OrgRuolo ruolo) { // Eliminazione del ruolo nel documentale DOCUMENTUM EsitoOperazione result = this.OrganigrammaManagerDCTM.EliminaRuolo(ruolo); if (result.Codice == 0) { // Eliminazione del ruolo nel documentale ETDOCS se è stato cancellato con successo da et docs result = this.OrganigrammaManagerETDOCS.EliminaRuolo(ruolo); } return(result); }
public OrgRuolo HistoricizeRole(OrgRuolo role) { // Storicizzazione in ET-Docs OrgRuolo result = this.OrganigrammaManagerETDOCS.HistoricizeRole(role); if (result != null) { // Storicizzazione in OCS result = this.OrganigrammaManagerOCS.HistoricizeRole(role); } return(result); }
/// <summary> /// Creazione oggetto ruolo /// </summary> /// <param name="reader"></param> /// <returns></returns> private static OrgRuolo GetRuolo(IDataReader reader) { OrgRuolo role = new OrgRuolo(); role.IDCorrGlobale = DocsPaUtils.Data.DataReaderHelper.GetValue <object>(reader, "SYSTEM_ID", false).ToString(); role.IDAmministrazione = DocsPaUtils.Data.DataReaderHelper.GetValue <object>(reader, "ID_AMM", true).ToString(); role.Codice = DocsPaUtils.Data.DataReaderHelper.GetValue <string>(reader, "VAR_ORIGINAL_CODE", true); role.CodiceRubrica = role.Codice; role.Descrizione = DocsPaUtils.Data.DataReaderHelper.GetValue <string>(reader, "VAR_DESC_CORR", true); role.IDGruppo = DocsPaUtils.Data.DataReaderHelper.GetValue <object>(reader, "ID_GRUPPO", true).ToString(); return(role); }
/// <summary> /// Spostamento di un ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione SpostaRuolo(OrgRuolo ruolo) { // Spostamento del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.SpostaRuolo(ruolo); /* * if (result.Codice == 0) * { * // Spostamento del ruolo nel documentale DCTM * result = this.OrganigrammaManagerDCTM.SpostaRuolo(ruolo); * } */ return(result); }
/// <summary> /// Modifica dei metadati di un ruolo /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione ModificaRuolo(OrgRuolo ruolo) { // Modifica del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.ModificaRuolo(ruolo); if (result.Codice == 0) { // Se la modifica è andata a buon fine, // modifica del ruolo nel documentale DOCUMENTUM result = this.OrganigrammaManagerDCTM.ModificaRuolo(ruolo); } return(result); }
/// <summary> /// Inserimento nuovo ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione InserisciRuolo(OrgRuolo ruolo, bool computeAtipicita) { // Inserimento del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.InserisciRuolo(ruolo, computeAtipicita); if (result.Codice == 0) { // Se l'inserimento è andato a buon fine, // inserimento del ruolo nel documentale DOCUMENTUM result = this.OrganigrammaManagerDCTM.InserisciRuolo(ruolo, computeAtipicita); } return(result); }
/// <summary> /// Cancellazione di un ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione EliminaRuolo(OrgRuolo ruolo) { // Eliminazione del ruolo nel documentale ETDOCS EsitoOperazione result = this.OrganigrammaManagerETDOCS.EliminaRuolo(ruolo); if (result.Codice == 0) { // Se l'eliminazione è andata a buon fine, // eliminazione del ruolo nel documentale OCS result = this.OrganigrammaManagerOCS.EliminaRuolo(ruolo); } return(result); }
/// <summary> /// Reperimento dei gruppi docspa per l'amministrazione richiesta /// </summary> /// <param name="idAmministrazione"></param> /// <returns></returns> public static OrgRuolo[] getAdminGroups(string idAmministrazione) { List <OrgRuolo> roles = new List <OrgRuolo>(); DocsPaDB.Query_DocsPAWS.Amministrazione ammDb = new DocsPaDB.Query_DocsPAWS.Amministrazione(); foreach (string item in ammDb.GetRuoli(idAmministrazione)) { OrgRuolo role = new OrgRuolo(); role.Codice = item; roles.Add(role); } return(roles.ToArray()); }
/// <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); } }
public EsitoOperazione CalcolaAtipicita(OrgRuolo ruolo, string idTipoRuoloVecchio, string idVecchiaUo, bool calcolaSuiSottoposti) { EsitoOperazione result = new EsitoOperazione(); DocsPaDB.Query_DocsPAWS.Amministrazione amm = new DocsPaDB.Query_DocsPAWS.Amministrazione(); if (!amm.CalcolaAtipicita(ruolo, idTipoRuoloVecchio, idVecchiaUo, calcolaSuiSottoposti)) { result = new EsitoOperazione() { Codice = -1, Descrizione = "Errore durante il calcolo di atipicità" } } ; return(result); } }
/// <summary> /// Cancellazione di un ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione EliminaRuolo(OrgRuolo ruolo) { // Eliminazione del ruolo nel documentale DOCUMENTUM /*EsitoOperazione result = this.OrganigrammaManagerDCTM.EliminaRuolo(ruolo); * * if (result.Codice == 0) * { * // Eliminazione del ruolo nel documentale ETDOCS se è stato cancellato con successo da et docs * result = this.OrganigrammaManagerETDOCS.EliminaRuolo(ruolo); * * * } * * return result; */ return(null); }
/// <summary> /// Modifica dei metadati di un ruolo /// </summary> /// <param name="ruolo"></param> /// <returns>Ruolo creato a seguito della modifica</returns> public EsitoOperazione ModificaRuolo(OrgRuolo ruolo) { DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione(); DocsPaVO.amministrazione.EsitoOperazione esito = new DocsPaVO.amministrazione.EsitoOperazione(); if (!dbAmm.AmmModRuolo(ruolo)) { esito.Codice = 1; esito.Descrizione = "Si è verificato un errore durante l'aggiornamento del ruolo"; } //verifica se si vuole disabilitare alla ricezione delle trasmissioni un ruolo di riferimento if (ruolo.DiRiferimento.ToString().Equals("1") && ruolo.DisabledTrasm.ToString().Equals("1")) { esito.Codice = 1; esito.Descrizione = "Impossibile disabilitare alla ricezione delle trasmissioni un ruolo di riferimento"; } return(esito); }
/// <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; IObjectService objSrvc = null; String repositoryName = DctmConfigurations.GetRepositoryName(); // 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 { objSrvc = this.GetObjectServiceInstance(); ObjectIdentity groupIdentity = Dfs4DocsPa.getGroupIdentityByName(TypeGruppo.GetGroupName(ruolo)); checkReference(TypeGruppo.GetGroupName(ruolo), ObjectTypes.UTENTE, "user_group_name", false); ObjectIdentitySet s = new ObjectIdentitySet(groupIdentity); objSrvc.Delete(s, null); logger.Debug(DEBUG_HEADER + "EliminaRuolo completata con SUCCESSO"); 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); } }
public EsitoOperazione CalcolaAtipicita(OrgRuolo ruolo, string idTipoRuoloVecchio, string idVecchiaUo, bool calcolaSuiSottoposti) { return(this.OrganigrammaManagerETDOCS.CalcolaAtipicita(ruolo, idTipoRuoloVecchio, idVecchiaUo, calcolaSuiSottoposti)); }
public OrgRuolo HistoricizeRole(OrgRuolo role) { OrgRuolo retVal = this.OrganigrammaManagerETDOCS.HistoricizeRole(role); return(retVal); }
public EsitoOperazione CalcolaAtipicita(OrgRuolo ruolo, string idTipoRuoloVecchio, string idVecchiaUo, bool calcolaSuiSottoposti) { throw new NotSupportedException("CalcolaAtipicita: operazione non supportata in OCS"); }
/// <summary> /// Operazione non consentita in OCS /// </summary> /// <param name="role"></param> /// <returns></returns> public OrgRuolo HistoricizeRole(OrgRuolo role) { throw new NotSupportedException("HistoricizeRole: operazione non supportata in OCS"); }
/// <summary> /// Spostamento di un ruolo in amministrazione /// </summary> /// <param name="ruolo"></param> /// <returns></returns> public EsitoOperazione SpostaRuolo(OrgRuolo ruolo) { throw new NotSupportedException("SpostaRuolo: operazione non supportata in OCS"); }