/// <summary> /// </summary> /// <param name="db"></param> /// <param name="idProject"></param> /// <param name="debug"></param> /// <returns></returns> internal static ArrayList getVisibilitaSemplificata(/*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.GetVisibilitaSemplificata(out dataSet, idProject); fascicoli.Dispose(); string IDAMM = string.Empty; 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(); // Visualizzazione del pulsante della storia del ruolo se il ruolo ha una storia ruolo.ShowHistory = ruoloRow["ShowHistory"] != DBNull.Value ? ruoloRow["ShowHistory"].ToString() : String.Empty; // Impostazione dell'id del ruolo ruolo.systemId = ruoloRow["system_id"].ToString(); ruolo.codiceRubrica = ruoloRow["VAR_COD_RUBRICA"].ToString(); ruolo.dta_fine = ruoloRow["dta_fine"].ToString(); if (ruoloRow["ID_REGISTRO"] != null && !ruoloRow["ID_REGISTRO"].ToString().Equals("")) { System.Collections.ArrayList reg = new System.Collections.ArrayList(); reg.Add(ruoloRow["ID_REGISTRO"].ToString()); ruolo.registri = reg; } if (ruoloRow["ID_AMM"] != null && !ruoloRow["ID_AMM"].ToString().Equals("")) { ruolo.idAmministrazione = ruoloRow["ID_AMM"].ToString(); IDAMM = ruolo.idAmministrazione; } if (ruoloRow["VAR_DESC_CORR"] != null && !ruoloRow["VAR_DESC_CORR"].ToString().Equals("")) { ruolo.descrizione = ruoloRow["VAR_DESC_CORR"].ToString(); } if (ruoloRow["ID_UO"] != null && !ruoloRow["ID_UO"].ToString().Equals("")) { ruolo.uo = new DocsPaVO.utente.UnitaOrganizzativa(); ruolo.uo.systemId = ruoloRow["ID_UO"].ToString(); ruolo.uo.idAmministrazione = IDAMM; if (ruoloRow["DESC_UO"] != null && !ruoloRow["DESC_UO"].ToString().Equals("")) { ruolo.uo.descrizione = ruoloRow["DESC_UO"].ToString(); } if (ruoloRow["CHA_TIPO_UO"] != null && !ruoloRow["CHA_TIPO_UO"].ToString().Equals("")) { ruolo.uo.tipoIE = ruoloRow["CHA_TIPO_UO"].ToString(); } if (ruoloRow["VAR_COD_UO"] != null && !ruoloRow["VAR_COD_UO"].ToString().Equals("")) { ruolo.uo.codiceRubrica = ruoloRow["VAR_COD_UO"].ToString(); } } if (ruoloRow["CHA_TIPO_URP"] != null && !ruoloRow["CHA_TIPO_URP"].ToString().Equals("")) { ruolo.tipoCorrispondente = ruoloRow["CHA_TIPO_URP"].ToString(); } if (ruoloRow["CHA_TIPO_IE"] != null && !ruoloRow["CHA_TIPO_IE"].ToString().Equals("")) { ruolo.tipoIE = ruoloRow["CHA_TIPO_IE"].ToString(); } ruolo.idGruppo = ruoloRow["PERSONORGROUP"].ToString(); 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; if (ruoloRow["TS_INSERIMENTO"] != DBNull.Value) { dirittoOggetto.dtaInsSecurity = ruoloRow["TS_INSERIMENTO"].ToString(); } if (ruoloRow["VAR_NOTE_SEC"] != DBNull.Value) { dirittoOggetto.noteSecurity = ruoloRow["VAR_NOTE_SEC"].ToString(); } listaDiritti.Add(dirittoOggetto); logger.Debug("Ruolo inserito"); } //2-->Inserimento utenti DocsPaDB.Query_DocsPAWS.Fascicoli fascicoliUtenti = new DocsPaDB.Query_DocsPAWS.Fascicoli(); DataSet dataSet1; fascicoliUtenti.GetVisibilita1Semplificata(out dataSet1, idProject); fascicoliUtenti.Dispose(); foreach (DataRow utenteRow in dataSet1.Tables["DIRITTI_UTENTI"].Rows) { DocsPaVO.utente.Utente utenteTemp = new DocsPaVO.utente.Utente(); DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto(); DocsPaVO.fascicolazione.TipoDiritto tipoDiritto = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString()); utenteTemp.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString(); if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals("")) { string reg = utenteRow["ID_REGISTRO"].ToString(); utenteTemp.idRegistro = reg; } if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals("")) { utenteTemp.idAmministrazione = utenteRow["ID_AMM"].ToString(); } if (utenteRow["VAR_DESC_CORR"] != null && !utenteRow["VAR_DESC_CORR"].ToString().Equals("")) { utenteTemp.descrizione = utenteRow["VAR_DESC_CORR"].ToString(); } if (utenteRow["CHA_TIPO_URP"] != null && !utenteRow["CHA_TIPO_URP"].ToString().Equals("")) { utenteTemp.tipoCorrispondente = utenteRow["CHA_TIPO_URP"].ToString(); } if (utenteRow["CHA_TIPO_IE"] != null && !utenteRow["CHA_TIPO_IE"].ToString().Equals("")) { utenteTemp.tipoIE = utenteRow["CHA_TIPO_IE"].ToString(); } utenteTemp.idPeople = utenteRow["PERSONORGROUP"].ToString(); dirittoOggetto.idObj = idProject; dirittoOggetto.soggetto = utenteTemp; dirittoOggetto.tipoDiritto = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString()); dirittoOggetto.accessRights = Convert.ToInt32(utenteRow["ACCESSRIGHTS"]); dirittoOggetto.deleted = false; dirittoOggetto.personorgroup = utenteRow["PERSONORGROUP"].ToString(); dirittoOggetto.rootFolder = rootFolder; if (dirittoOggetto.tipoDiritto.Equals(DocsPaVO.fascicolazione.TipoDiritto.TIPO_DELEGATO)) { dirittoOggetto.soggetto = utenteTemp; dirittoOggetto.soggetto.descrizione = utenteTemp.descrizione + " sostituto di " + utenteTemp.descrizione; } else { dirittoOggetto.soggetto = utenteTemp; } 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_rimossiSemplificata(out dsRuoliRimossi, idProject); fascRuoliRimossi.Dispose(); foreach (DataRow ruoloRow in dsRuoliRimossi.Tables["DIRITTI_RUOLI_DELETED"].Rows) { DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto(); DocsPaVO.utente.Ruolo ruolo = new DocsPaVO.utente.Ruolo(); ruolo.codiceRubrica = ruoloRow["VAR_COD_RUBRICA"].ToString(); if (ruoloRow["ID_REGISTRO"] != null && !ruoloRow["ID_REGISTRO"].ToString().Equals("")) { System.Collections.ArrayList reg = new System.Collections.ArrayList(); reg.Add(ruoloRow["ID_REGISTRO"].ToString()); ruolo.registri = reg; } if (ruoloRow["ID_AMM"] != null && !ruoloRow["ID_AMM"].ToString().Equals("")) { ruolo.idAmministrazione = ruoloRow["ID_AMM"].ToString(); IDAMM = ruolo.idAmministrazione; } if (ruoloRow["VAR_DESC_CORR"] != null && !ruoloRow["VAR_DESC_CORR"].ToString().Equals("")) { ruolo.descrizione = ruoloRow["VAR_DESC_CORR"].ToString(); } if (ruoloRow["ID_UO"] != null && !ruoloRow["ID_UO"].ToString().Equals("")) { ruolo.uo = new DocsPaVO.utente.UnitaOrganizzativa(); ruolo.uo.systemId = ruoloRow["ID_UO"].ToString(); ruolo.uo.idAmministrazione = IDAMM; if (ruoloRow["DESC_UO"] != null && !ruoloRow["DESC_UO"].ToString().Equals("")) { ruolo.uo.descrizione = ruoloRow["DESC_UO"].ToString(); } if (ruoloRow["CHA_TIPO_UO"] != null && !ruoloRow["CHA_TIPO_UO"].ToString().Equals("")) { ruolo.uo.tipoIE = ruoloRow["CHA_TIPO_UO"].ToString(); } if (ruoloRow["VAR_COD_UO"] != null && !ruoloRow["VAR_COD_UO"].ToString().Equals("")) { ruolo.uo.codiceRubrica = ruoloRow["VAR_COD_UO"].ToString(); } } if (ruoloRow["CHA_TIPO_URP"] != null && !ruoloRow["CHA_TIPO_URP"].ToString().Equals("")) { ruolo.tipoCorrispondente = ruoloRow["CHA_TIPO_URP"].ToString(); } if (ruoloRow["CHA_TIPO_IE"] != null && !ruoloRow["CHA_TIPO_IE"].ToString().Equals("")) { ruolo.tipoIE = ruoloRow["CHA_TIPO_IE"].ToString(); } ruolo.idGruppo = ruoloRow["PERSONORGROUP"].ToString(); dirittoOggetto.idObj = idProject; dirittoOggetto.soggetto = ruolo; dirittoOggetto.tipoDiritto = getDirittoFasc(ruoloRow["CHA_TIPO_DIRITTO"].ToString()); dirittoOggetto.accessRights = Convert.ToInt32(ruoloRow["ACCESSRIGHTS"]); dirittoOggetto.deleted = true; dirittoOggetto.personorgroup = ruoloRow["PERSONORGROUP"].ToString(); dirittoOggetto.rootFolder = rootFolder; listaDiritti.Add(dirittoOggetto); logger.Debug("Ruolo rimosso inserito"); } //4-->gestione utenti diritti rimossi DocsPaDB.Query_DocsPAWS.Fascicoli fascUtentiRimossi = new DocsPaDB.Query_DocsPAWS.Fascicoli(); DataSet dsUtentiRimossi; fascUtentiRimossi.GetVisibilita_UtentiRimossiSemplificata(out dsUtentiRimossi, idProject); fascUtentiRimossi.Dispose(); foreach (DataRow utenteRow in dsUtentiRimossi.Tables["DIRITTI_UTENTI_RIMOSSI"].Rows) { DocsPaVO.utente.Utente utenteTemp = new DocsPaVO.utente.Utente(); DocsPaVO.fascicolazione.DirittoOggetto dirittoOggetto = new DocsPaVO.fascicolazione.DirittoOggetto(); DocsPaVO.fascicolazione.TipoDiritto tipoDiritto = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString()); utenteTemp.codiceRubrica = utenteRow["VAR_COD_RUBRICA"].ToString(); if (utenteRow["ID_REGISTRO"] != null && !utenteRow["ID_REGISTRO"].ToString().Equals("")) { string reg = utenteRow["ID_REGISTRO"].ToString(); utenteTemp.idRegistro = reg; } if (utenteRow["ID_AMM"] != null && !utenteRow["ID_AMM"].ToString().Equals("")) { utenteTemp.idAmministrazione = utenteRow["ID_AMM"].ToString(); } if (utenteRow["VAR_DESC_CORR"] != null && !utenteRow["VAR_DESC_CORR"].ToString().Equals("")) { utenteTemp.descrizione = utenteRow["VAR_DESC_CORR"].ToString(); } if (utenteRow["CHA_TIPO_URP"] != null && !utenteRow["CHA_TIPO_URP"].ToString().Equals("")) { utenteTemp.tipoCorrispondente = utenteRow["CHA_TIPO_URP"].ToString(); } if (utenteRow["CHA_TIPO_IE"] != null && !utenteRow["CHA_TIPO_IE"].ToString().Equals("")) { utenteTemp.tipoIE = utenteRow["CHA_TIPO_IE"].ToString(); } utenteTemp.idPeople = utenteRow["PERSONORGROUP"].ToString(); dirittoOggetto.idObj = idProject; dirittoOggetto.soggetto = utenteTemp; dirittoOggetto.tipoDiritto = getDirittoFasc(utenteRow["CHA_TIPO_DIRITTO"].ToString()); dirittoOggetto.accessRights = Convert.ToInt32(utenteRow["ACCESSRIGHTS"]); dirittoOggetto.deleted = true; dirittoOggetto.personorgroup = utenteRow["PERSONORGROUP"].ToString(); dirittoOggetto.rootFolder = rootFolder; if (dirittoOggetto.tipoDiritto.Equals(DocsPaVO.fascicolazione.TipoDiritto.TIPO_DELEGATO)) { dirittoOggetto.soggetto = utenteTemp; dirittoOggetto.soggetto.descrizione = utenteTemp.descrizione + " sostituto di " + utenteTemp.descrizione; } else { dirittoOggetto.soggetto = utenteTemp; } listaDiritti.Add(dirittoOggetto); logger.Debug("Utente rimosso inserito"); } } //ritorna la lista dei diritti return(listaDiritti); }