Exemplo n.º 1
0
        /// <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);
        }