Beispiel #1
0
        protected void BtnPrint_Click(object sender, EventArgs e)
        {
            try
            {
                XmlDocument xmlDoc = this.exportToXML();

                if (xmlDoc != null && (xmlDoc.InnerXml != string.Empty || xmlDoc.InnerXml != ""))
                {
                    DocsPaWR.FileDocumento filePdf = new DocsPaWR.FileDocumento();
                    OrganigrammaManager    manager = new OrganigrammaManager();

                    manager.StampaOrganigramma(xmlDoc);

                    filePdf = manager.getFilePDF();

                    if (filePdf != null && filePdf.content.Length > 0)
                    {
                        manager.setSessionFilePDF(filePdf);
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "stampa", "stampa('" + utils.FormatJs(componentType) + "');", true);
                    }
                }
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "dialog", "ajaxDialogModal('ErrorCustom', 'error', '', '" + utils.FormatJs(ex.Message) + "');", true);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Metodo per il caricamento delle informazioni sui destinatari interni cui effettuare le trasmissioni del
        /// documento.
        /// </summary>
        /// <param name="settings">Impostazioni del registro per cui caricare i destinatari della trasmissione interna</param>
        /// <param name="privateDocument">Flag utilizzato per indicare se il documento è stato rivevuto come privato</param>
        /// <param name="receiversInfo">Lista dei destinatari della spedizione per cui caricare i destinatari interni cui trasmettere il documento</param>
        /// <param name="uneachableReceivers">Lista dei destinatari non raggiungibili (per il registro / RF non esiste alcun ruolo con la microfunzione per la ricezione della trasmissione del predisposto</param>
        /// <returns>Lista dei corrispondenti raggiunti dalla spedizione</returns>
        internal static List <Corrispondente> LoadTransmissionReceivers(InteroperabilitySettings settings, bool privateDocument, List <ReceiverInfo> receiversInfo, out List <ReceiverInfo> uneachableReceivers)
        {
            logger.Debug("RAFFREDDORE - START");
            logger.Debug("RAFFREDDORE - private document " + privateDocument.ToString());
            List <Corrispondente> receivers     = new List <Corrispondente>();
            List <Corrispondente> tempReceivers = new List <Corrispondente>();

            uneachableReceivers = new List <ReceiverInfo>();

            using (DocsPaDB.Query_DocsPAWS.InteroperabilitaSemplificata interopDB = new DocsPaDB.Query_DocsPAWS.InteroperabilitaSemplificata())
            {
                foreach (ReceiverInfo receiver in receiversInfo)
                {
                    tempReceivers = new List <Corrispondente>();
                    // Il codice del corrispondente pubblicato in Rubrica Comune è composto da CodiceAmministrazione-CodiceCorrispondente
                    String corrCode = receiver.Code;
                    logger.Debug("RAFFREDDORE - receiver.Code " + corrCode);
                    if (receiver.Code.Length - (receiver.AdministrationCode.Length + 1) > 0)
                    {
                        corrCode = receiver.Code.Substring(receiver.AdministrationCode.Length + 1);
                    }

                    logger.Debug("RAFFREDDORE - receiver.Code " + corrCode);
                    String rfId = RegistriManager.GetSystemIdRFDaDPA_EL_REGISTRI(corrCode);
                    logger.Debug("RAFFREDDORE - rfId " + rfId);

                    // Se il destinatario è una UO, la ricerca viene effettuata sull'id del registro
                    // altirmenti viene effettuata sull'id dell'RF
                    if (!String.IsNullOrEmpty(rfId))
                    {
                        tempReceivers = interopDB.LoadTransmissionReceiverData(rfId, privateDocument);
                    }
                    else
                    {
                        String corrType = UserManager.GetInternalCorrAttributeByCorrCode(
                            corrCode,
                            DocsPaDB.Query_DocsPAWS.Utenti.CorrAttribute.cha_tipo_urp,
                            OrganigrammaManager.GetIDAmm(receiver.AdministrationCode));

                        if (!String.IsNullOrEmpty(corrType) && corrType == "U")
                        {
                            tempReceivers = interopDB.LoadTransmissionReceiverData(settings.RegistryId, privateDocument);
                        }
                    }

                    // Aggiunta dei destinatari trovati all'insieme dei destinatari
                    receivers.AddRange(tempReceivers);

                    // Se tempReceivers non contiene elementi significa che per il destinatario analizzato non è stato
                    // trovato alcun destinatario per la trasmissione, quindi per il destinatario analizzato deve essere
                    // generata una ricevuta di mancata consegna
                    if (tempReceivers == null || tempReceivers.Count == 0)
                    {
                        uneachableReceivers.Add(receiver);
                    }
                }
            }

            return(receivers);
        }
Beispiel #3
0
        /// <summary>
        /// Funzione per l'inizializzazione della sezione di ricerca
        /// </summary>
        private void InitializeSearchSection()
        {
            // Registrazione eventi onchange javascript per le text box dei codici
            this.txtDestinatariCodice.Attributes["onchange"] = String.Format("javascript:clearCorrData(this, '{0}');", this.txtDestinatariDescrizione.ClientID);
            this.txtVisibilitaCodice.Attributes["onchange"]  = String.Format("javascript:clearCorrData(this, '{0}');", this.txtVisibilitaDescrizione.ClientID);



            String idAmm = UserManager.GetInfoUser().idAmministrazione;

            // Registri
            this.ddlRegistri.Items.Clear();
            this.ddlRegistri.Items.Add(String.Empty);
            OrganigrammaManager theManager = new OrganigrammaManager();

            theManager.ListaRegistriRF(idAmm, null, String.Empty);
            foreach (OrgRegistro item in theManager.getListaRegistri())
            {
                this.ddlRegistri.Items.Add(new ListItem(item.Descrizione, item.IDRegistro));
            }

            // Ragioni di trasmissione
            this.ddlRagioniTrasmissione.Items.Clear();
            this.ddlRagioniTrasmissione.Items.Add(String.Empty);
            RagioneTrasmissione[] rag = NttDataWA.UIManager.ModelliTrasmManager.getlistRagioniTrasm(idAmm, false, String.Empty);
            foreach (RagioneTrasmissione item in rag)
            {
                this.ddlRagioniTrasmissione.Items.Add(new ListItem(item.descrizione, item.systemId));
            }



            // Caricamento dei registri
            //this.LoadRegistryInformation();
        }
Beispiel #4
0
        /// <summary>
        /// Reperimento tipi ruolo in un'amministrazione
        /// </summary>
        /// <param name="codiceAmministrazione"></param>
        /// <returns></returns>
        public static ArrayList GetTipiRuolo(string codiceAmministrazione)
        {
            DocsPaDB.Query_DocsPAWS.Amministrazione dbAmm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
            string idAmministrazione = dbAmm.GetIDAmm(codiceAmministrazione);

            dbAmm = null;

            return(OrganigrammaManager.GetListTipiRuolo(idAmministrazione));
        }
Beispiel #5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         this.RegisterCallBack(String.Empty);
         OrgManager    = new OrganigrammaManager();
         Report        = new List <SaveChangesToRoleReport>();
         MessageToShow = String.Empty;
     }
 }
Beispiel #6
0
        /// <summary>
        /// Reperimento dati della UO passata come parametro
        /// </summary>
        /// <param name="idCorrGlobale"></param>
        /// <returns></returns>
        private DocsPaWR.OrgUO GetDatiUOCorrente(string idCorrGlobale)
        {
            DocsPaWR.OrgUO currentUO;

            OrganigrammaManager manager = new OrganigrammaManager();

            manager.DatiUOCorrente(idCorrGlobale);

            currentUO = manager.getDatiUO();

            return(currentUO);
        }
Beispiel #7
0
        private void PerformSearch()
        {
            int    num_trovati        = 0;
            string returnValue        = string.Empty;
            string codice             = this.Codice.Trim();
            string descrizione        = this.Descrizione.Trim();
            string idAmm              = this.IdAmm.Trim();
            string tipo               = this.Tipo.Trim();
            bool   searchHistoricized = this.SearchHistoricized;

            if (!string.IsNullOrEmpty(idAmm))
            {
                OrganigrammaManager theManager = new OrganigrammaManager();
                theManager.RicercaInOrg(tipo, codice, descrizione, idAmm, searchHistoricized, false);
                if (theManager.getRisultatoRicerca() != null && theManager.getRisultatoRicerca().Count > 0)
                {
                    this.InitializeDataSetRisultato();

                    DataRow row;
                    foreach (DocsPaWR.OrgRisultatoRicerca risultato in theManager.getRisultatoRicerca())
                    {
                        returnValue = risultato.IDCorrGlob + "_" + risultato.IDParent + "_" + tipo;

                        row = dsRisultato.Tables[0].NewRow();
                        row["IDCorrGlob"]  = risultato.IDCorrGlob;
                        row["Codice"]      = "<a href=\"javascript:void(0)\" onclick=\"parent.closeAjaxModal('OrganizationChartSearchResult', '" + returnValue + "');\">" + risultato.Codice + "</a>";
                        row["Descrizione"] = "<a href=\"javascript:void(0)\" onclick=\"parent.closeAjaxModal('OrganizationChartSearchResult', '" + returnValue + "');\">" + risultato.Descrizione + "</a>";
                        row["IDParent"]    = risultato.IDParent;
                        row["DescParent"]  = risultato.DescParent;

                        dsRisultato.Tables["LISTA_RICERCA"].Rows.Add(row);

                        num_trovati++;
                    }

                    if (num_trovati > 1)
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "ajaxModalPopupOrganizationChartSearchResult();", true);
                    }
                    else
                    {
                        this.VisualizzaNodoRicercato(returnValue);
                        this.UpPnlTree.Update();
                        this.UpContainer.Update();
                    }
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "dialog", "ajaxDialogModal('InfoOrganizationChartSearchResultNone', 'info', '');", true);
                }
            }
        }
Beispiel #8
0
        /// <summary>
        /// Ritorna la UO padre
        /// </summary>
        /// <param name="idCorrGlobRuolo"></param>
        /// <param name="tipo"></param>
        /// <returns></returns>
        private string GetUOPadre(string idCorrGlobRuolo, string tipo)
        {
            string idCorrGlob = string.Empty;

            OrganigrammaManager manager = new OrganigrammaManager();

            manager.ListaIDParentRicerca(idCorrGlobRuolo, tipo);
            if (manager.getListaIDParentRicerca() != null && manager.getListaIDParentRicerca().Length > 0)
            {
                object[] lista = manager.getListaIDParentRicerca();
                idCorrGlob = lista[1].ToString();
            }
            return(idCorrGlob);
        }
        protected void btnOk_Click(object sender, EventArgs e)
        {
            OrganigrammaManager theManager = new OrganigrammaManager();

            // Inserimento del ruolo
            theManager.InsNuovoRuolo(Role, this.calculateAtipicitaOptions.CalculateAtipicita());

            String scriptForClose = String.Empty;

            // Se il risultato è negativo viene visualizzato il messaggio
            if (theManager.getEsitoOperazione().Codice != 0)
            {
                this.AjaxMessageBox.ShowMessage(
                    String.IsNullOrEmpty(theManager.getEsitoOperazione().Descrizione) ?
                    "Si è verificato un problema non identificato durante l'inserimento del ruolo" :
                    theManager.getEsitoOperazione().Descrizione);
                //scriptForClose = "window.close();";
                scriptForClose = String.Format("window.returnValue='{0}';window.close();", Request["ret"]);
            }
            else
            {
                String idUo = Role.IDUo;
                theManager.ListaRuoliUO(Role.IDUo);
                Role = ((OrgRuolo[])theManager.getListaRuoliUO().ToArray(typeof(OrgRuolo))).Where(r => r.Codice == Role.Codice).FirstOrDefault();

                if (Role != null)
                {
                    scriptForClose = String.Format("window.returnValue='{0}_{1}';window.close();", Role.IDCorrGlobale, idUo);
                }
                else
                {
                    //scriptForClose = String.Format("window.close();");
                    scriptForClose = String.Format("window.returnValue='{0}';window.close();", Request["ret"]);
                }
            }


            // Chiusura della finestra
            ScriptManager.RegisterStartupScript(
                this,
                this.GetType(),
                "ClosePage",
                scriptForClose,
                true);
        }
Beispiel #10
0
        /// <summary>
        /// Funzione per l'inizializzazione della sezione di ricerca
        /// </summary>
        private void InitializeSearchSection()
        {
            // Registrazione eventi onchange javascript per le text box dei codici
            this.txtDestinatariCodice.Attributes["onchange"] = String.Format("javascript:clearCorrData(this, '{0}');", this.txtDestinatariDescrizione.ClientID);
            this.txtVisibilitaCodice.Attributes["onchange"]  = String.Format("javascript:clearCorrData(this, '{0}');", this.txtVisibilitaDescrizione.ClientID);

            DocsPaWebService ws = new DocsPaWebService();

            ws.Timeout = Timeout.Infinite;
            //string[] amm = ((string)Session["AMMDATASET"]).Split('@');
            //string codAmm = amm[0];
            //String idAmm = ws.getIdAmmByCod(codAmm);
            String idAmm = UserManager.getInfoUtente().idAmministrazione;

            // Registri
            this.ddlRegistri.Items.Clear();
            this.ddlRegistri.Items.Add(String.Empty);
            OrganigrammaManager theManager = new OrganigrammaManager();

            theManager.ListaRegistriRF(idAmm, null, String.Empty);
            foreach (OrgRegistro item in theManager.getListaRegistri())
            {
                this.ddlRegistri.Items.Add(new ListItem(item.Descrizione, item.IDRegistro));
            }

            // Ragioni di trasmissione
            this.ddlRagioniTrasmissione.Items.Clear();
            this.ddlRagioniTrasmissione.Items.Add(String.Empty);
            RagioneTrasmissione[] rag = DocsPAWA.AdminTool.Manager.ModelliTrasmManager.getlistRagioniTrasm(idAmm, false, String.Empty);
            foreach (RagioneTrasmissione item in rag)
            {
                this.ddlRagioniTrasmissione.Items.Add(new ListItem(item.descrizione, item.systemId));
            }

            // Impostazione del css per i bottoni
            this.btnFind.CssClass           = this.ButtonCss;
            this.btnExport.CssClass         = this.ButtonCss;
            this.btnFindAndReplace.CssClass = this.ButtonCss;

            // Visualizzazione dei controlli in base al contesto
            this.ShowControl();

            // Caricamento dei registri
            this.LoadRegistryInformation();
        }
Beispiel #11
0
        /// <summary>
        /// Visualizza come nodo Root la UO di livello 0
        /// </summary>
        private void VisualizzaNodoRoot()
        {
            string idCorrGlob           = string.Empty;
            OrganigrammaManager manager = new OrganigrammaManager();

            manager.ListaUOLivelloZero(this.idAmm);
            ArrayList lista = manager.getListaUO();

            if (lista != null && lista.Count > 0)
            {
                foreach (DocsPaWR.OrgUO uo in lista)
                {
                    idCorrGlob = uo.IDCorrGlobale;
                }

                this.VisualizzaNodoRicercato(idCorrGlob + "_0_U");
            }
        }
Beispiel #12
0
        /// <summary>
        /// Metodo per il salvataggio dei dati di una ricevuta di eccezione o di annullamento
        /// </summary>
        /// <param name="senderRecordInfo">Informazioni sul protocollo mittente</param>
        /// <param name="receiverRecordInfo">Informazioni sul protocollo destinatario</param>
        /// <param name="reason">Ragione di annullamento o dettaglio dell'eccezione</param>
        /// <param name="receiverUrl">Url del destinatario</param>
        /// <param name="droppedProof">Flag utilizzato per indicare se si tratta di una ricevuta di annullamento</param>
        /// <param name="receiverCode">Codice del destinatario</param>
        public static void SaveProofData(RecordInfo senderRecordInfo, RecordInfo receiverRecordInfo, string reason, string receiverUrl, bool droppedProof, String receiverCode)
        {
            using (DocsPaDB.Query_DocsPAWS.InteroperabilitaSemplificata interopDb = new DocsPaDB.Query_DocsPAWS.InteroperabilitaSemplificata())
            {
                bool retVal = interopDb.SaveDocumentDroppedOrExceptionProofData(senderRecordInfo, receiverRecordInfo, reason, receiverUrl, droppedProof, receiverCode);

                SimplifiedInteroperabilityLogAndRegistryManager.InsertItemInLog(String.Empty, !retVal,
                                                                                String.Format("Salvataggio delle informazioni sulla ricevuta di {0} relativa al protocollo {1} creato in data {2}, {3}",
                                                                                              droppedProof ? "annullamento" : "eccezione",
                                                                                              senderRecordInfo.RecordNumber, senderRecordInfo.RecordDate,
                                                                                              retVal ? "riuscito correttamente" : "non riuscito"));

                logger.DebugFormat("Salvataggio delle informazioni sulla ricevuta di {0}, per l'interoperabilità semplificata, relativa al protocollo {1} creato in data {2}, {3}",
                                   droppedProof ? "annullamento" : "eccezione",
                                   senderRecordInfo.RecordNumber, senderRecordInfo.RecordDate,
                                   retVal ? "riuscito correttamente" : "non riuscito");

                // Recupero dell'id del documento cui si riferisce l'eccezione
                String idProfile = String.Empty;
                using (DocsPaDB.Query_DocsPAWS.Documenti docDb = new DocsPaDB.Query_DocsPAWS.Documenti())
                {
                    idProfile = docDb.GetIdProfileFromProtoInfo(senderRecordInfo.RecordDate, senderRecordInfo.RecordNumber, senderRecordInfo.AOOCode, senderRecordInfo.AdministrationCode);
                }

                // Se è una eccezione, viene inserita una riga nel registro delle ricevute
                if (!droppedProof)
                {
                    SaveExceptionInRegistry(
                        String.Empty,
                        InteroperabilitaSemplificataManager.GetUrl(OrganigrammaManager.GetIDAmm(senderRecordInfo.AdministrationCode)),
                        DateTime.Now,
                        idProfile,
                        receiverCode,
                        reason);


                    String userId = BusinessLogic.Documenti.DocManager.GetDocumentAttribute(
                        senderRecordInfo.RecordDate,
                        senderRecordInfo.RecordNumber,
                        senderRecordInfo.AOOCode,
                        senderRecordInfo.AdministrationCode,
                        DocsPaDB.Query_DocsPAWS.Documenti.DocumentAttribute.UserId);

                    //Recupero il ruolo che ha effettuato l'ultima spedizione IS, dallo storico delle spedizioni.
                    ArrayList listHistorySendDoc = SpedizioneManager.GetElementiStoricoSpedizione(idProfile);
                    if (listHistorySendDoc != null && listHistorySendDoc.Count > 0)
                    {
                        Object lastSendIs = (from record in listHistorySendDoc.ToArray()
                                             where ((ElStoricoSpedizioni)record).Mail_mittente.Equals("N.A.")
                                             select record).ToList().OrderBy(z => ((ElStoricoSpedizioni)z).Id).LastOrDefault();

                        Ruolo  role = UserManager.getRuoloByIdGruppo(((ElStoricoSpedizioni)lastSendIs).IdGroupSender);
                        Utente user = UserManager.getUtente(userId);
                        // LOG per documento
                        string desc = "Notifica di eccezione: " + reason.Replace("’", "'") + "<br/>Destinatario spedizione: " + receiverCode;
                        BusinessLogic.UserLog.UserLog.WriteLog(user.userId, user.idPeople, role.idGruppo,
                                                               user.idAmministrazione, "EXCEPTION_SEND_SIMPLIFIED_INTEROPERABILITY",
                                                               idProfile, desc, DocsPaVO.Logger.CodAzione.Esito.OK, null, "1");
                    }
                }
            }
        }
Beispiel #13
0
        /// <summary>
        /// Visualizza le sotto UO
        /// </summary>
        /// <param name="currentUO"></param>
        /// <param name="indice"></param>
        /// <returns></returns>
        private bool SottoUO(DocsPaWR.OrgUO currentUO, myTreeNode2 TreeNodo)
        {
            bool retValue = true;

            myTreeNode2 TreeNodoFiglio;
            myTreeNode2 nodoUO;

            ArrayList lista = new ArrayList();

            int livello = Convert.ToInt32(currentUO.Livello) + 1;

            OrganigrammaManager manager = new OrganigrammaManager();

            manager.ListaUO(currentUO.IDCorrGlobale, Convert.ToString(livello), currentUO.IDAmministrazione);
            lista = manager.getListaUO();

            if (lista != null && lista.Count > 0)
            {
                if (!this.isOrdinamentoAbilitato)
                {
                    lista.Sort(new UOSort());
                }
                if (UIManager.UserManager.IsAuthorizedFunctions("DO_VIS_LIV_ORG"))
                {
                    foreach (DocsPaWR.OrgUO sottoUO in lista)
                    {
                        nodoUO = new myTreeNode2();

                        nodoUO.ID       = sottoUO.IDCorrGlobale;
                        nodoUO.TipoNodo = "U";
                        nodoUO.Text     = sottoUO.CodiceRubrica + " - [" + sottoUO.Livello + "] - " + sottoUO.Descrizione;
                        nodoUO.ImageUrl = this.getElementType(nodoUO.TipoNodo);
                        nodoUO.Expanded = false;

                        TreeNodo.ChildNodes.Add(nodoUO);

                        nodoUO.RuoliUO = sottoUO.Ruoli;
                        nodoUO.SottoUO = sottoUO.SottoUo;
                        nodoUO.Livello = sottoUO.Livello;

                        if ((int.Parse(this.ddlView.SelectedValue) > 1 && Convert.ToInt32(sottoUO.Ruoli) > 0) || Convert.ToInt32(sottoUO.SottoUo) > 0)
                        {
                            TreeNodoFiglio      = new myTreeNode2();
                            TreeNodoFiglio.Text = "<font color='#ff0000'>&nbsp;loading...</font>";
                            nodoUO.ChildNodes.Add(TreeNodoFiglio);
                        }
                    }
                }
                else
                {
                    foreach (DocsPaWR.OrgUO sottoUO in lista)
                    {
                        nodoUO = new myTreeNode2();

                        nodoUO.ID       = sottoUO.IDCorrGlobale;
                        nodoUO.TipoNodo = "U";
                        nodoUO.Text     = sottoUO.CodiceRubrica + " - " + sottoUO.Descrizione;
                        nodoUO.ImageUrl = this.getElementType(nodoUO.TipoNodo);
                        nodoUO.Expanded = false;

                        TreeNodo.ChildNodes.Add(nodoUO);

                        nodoUO.RuoliUO = sottoUO.Ruoli;
                        nodoUO.SottoUO = sottoUO.SottoUo;
                        nodoUO.Livello = sottoUO.Livello;

                        if ((int.Parse(this.ddlView.SelectedValue) > 1 && Convert.ToInt32(sottoUO.Ruoli) > 0) || Convert.ToInt32(sottoUO.SottoUo) > 0)
                        {
                            TreeNodoFiglio      = new myTreeNode2();
                            TreeNodoFiglio.Text = "<font color='#ff0000'>&nbsp;loading...</font>";
                            nodoUO.ChildNodes.Add(TreeNodoFiglio);
                        }
                    }
                }
            }
            else
            {
                retValue = false;
            }

            return(retValue);
        }
Beispiel #14
0
 /// <summary>
 /// Reperisce la lista dei ruoli con l'RF selezionato
 /// </summary>
 private void getRuoliRFSelezionato()
 {
     this._ruoliConRFselezionato = OrganigrammaManager.AmmGetListaRuoliAOO(this.ddlRF.SelectedValue);
 }
Beispiel #15
0
        protected void treeViewUO_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
        {
            DocsPaWR.OrgUO    currentUO;
            DocsPaWR.OrgRuolo currentRole;

            myTreeNode2 TreeNodo = (myTreeNode2)e.Node;

            TreeNodo.Expanded = true;

            if (TreeNodo.ChildNodes.Count > 0)
            {
                TreeNodo.ChildNodes.Clear();
            }

            switch (TreeNodo.TipoNodo)
            {
            case "U":

                currentUO = new DocsPaWR.OrgUO();
                currentUO.IDCorrGlobale     = TreeNodo.ID;
                currentUO.IDAmministrazione = this.idAmm;
                currentUO.Ruoli             = TreeNodo.RuoliUO;
                currentUO.SottoUo           = TreeNodo.SottoUO;
                currentUO.Livello           = TreeNodo.Livello;

                if (this.ddlView.SelectedIndex >= 1 && Convert.ToInt32(currentUO.Ruoli) > 0)
                {
                    this.RuoliUO(currentUO, TreeNodo);
                }

                if (Convert.ToInt32(currentUO.SottoUo) > 0)
                {
                    this.SottoUO(currentUO, TreeNodo);
                }

                break;

            // Gabriele Melini
            // bug gestione ruoli organigramma
            case "R":

                currentRole = new DocsPaWR.OrgRuolo();

                OrganigrammaManager manager = new OrganigrammaManager();
                currentRole = manager.GetRole(TreeNodo.ID);
                manager.ListaUtenti(currentRole.IDGruppo);

                if (manager.getListaUtenti() != null && manager.getListaUtenti().Count > 0)
                {
                    DocsPaWR.OrgUtente[] utenti = (DocsPaWR.OrgUtente[])manager.getListaUtenti().ToArray(typeof(DocsPaWR.OrgUtente));
                    currentRole.Utenti = utenti;

                    if (this.ddlView.SelectedValue == "3" && currentRole.Utenti.Length > 0)
                    {
                        this.UtentiRuolo(TreeNodo, currentRole);
                    }
                }

                break;
            }
        }
Beispiel #16
0
        /// <summary>
        /// Metodo per l'analisi di una richiesta di generazione di una ricevuta di eccezione o di eliminazione
        /// di un documento
        /// </summary>
        /// <param name="senderRecordInfo">Informazioni sul protocollo mittente</param>
        /// <param name="receiverRecordInfo">Informazioni sul protocollo destinatario</param>
        /// <param name="reason">Ragione della cancellazione del documento o dettaglio errore</param>
        /// <param name="receiverUrl">Url del mittente della spedizione</param>
        /// <param name="operation">Tipo di ricevuta da generare</param>
        /// <param name="receiverCode">Codice del destinatario per cui generare la ricevuta</param>
        public void AnalyzeDocumentDroppedOrErrorMessageProof(
            RecordInfo senderRecordInfo,
            RecordInfo receiverRecordInfo,
            String reason,
            String receiverUrl,
            OperationDiscriminator operation,
            String receiverCode)
        {
            try
            {
                SimplifiedInteroperabilityRecordDroppedAndExceptionManager.SaveProofData(
                    new DocsPaVO.Interoperabilita.Semplificata.RecordInfo()
                {
                    AdministrationCode = senderRecordInfo.AdministrationCode,
                    AOOCode            = senderRecordInfo.AOOCode,
                    RecordDate         = senderRecordInfo.RecordDate,
                    RecordNumber       = senderRecordInfo.RecordNumber
                },
                    new DocsPaVO.Interoperabilita.Semplificata.RecordInfo()
                {
                    AdministrationCode = receiverRecordInfo.AdministrationCode,
                    AOOCode            = receiverRecordInfo.AOOCode,
                    RecordDate         = receiverRecordInfo.RecordDate,
                    RecordNumber       = receiverRecordInfo.RecordNumber
                },
                    reason,
                    receiverUrl,
                    operation == OperationDiscriminator.Drop,
                    receiverCode);


                // Se l'operazione richiesta non è la segnalazione di eliminazione di un documento
                // viene inviato un item al centro notifiche
                if (operation != OperationDiscriminator.Drop && NotificationCenterHelper.IsEnabled(OrganigrammaManager.GetIDAmm(senderRecordInfo.AdministrationCode)))
                {
                    // Recupero dell'id del ruolo creatore del documento e dell'id del documento
                    String userId = BusinessLogic.Documenti.DocManager.GetDocumentAttribute(
                        senderRecordInfo.RecordDate,
                        senderRecordInfo.RecordNumber,
                        senderRecordInfo.AOOCode,
                        senderRecordInfo.AdministrationCode,
                        DocsPaDB.Query_DocsPAWS.Documenti.DocumentAttribute.UserId);
                    String documentId = BusinessLogic.Documenti.DocManager.GetDocumentAttribute(
                        senderRecordInfo.RecordDate,
                        senderRecordInfo.RecordNumber,
                        senderRecordInfo.AOOCode,
                        senderRecordInfo.AdministrationCode,
                        DocsPaDB.Query_DocsPAWS.Documenti.DocumentAttribute.IdProfile);

                    NotificationCenterHelper.InsertItem(
                        receiverCode,
                        reason,
                        "Notifica di eccezione",
                        Convert.ToInt32(userId),
                        "IS",
                        Int32.Parse(documentId),
                        Int32.Parse(senderRecordInfo.RecordNumber),
                        senderRecordInfo.AdministrationCode);
                }
            }
            catch (Exception e)
            {
                throw new FaultException <InteroperabilityFault>(
                          new InteroperabilityFault
                {
                    Exceptions = new List <Exception>()
                    {
                        e
                    }
                },
                          new FaultReason(e.Message));
            }
        }
Beispiel #17
0
        /// <summary>
        /// Visualizza i ruoli di una UO
        /// </summary>
        /// <param name="currentUO"></param>
        /// <param name="indice"></param>
        private void RuoliUO(DocsPaWR.OrgUO currentUO, myTreeNode2 TreeNodo)
        {
            myTreeNode2 nodoRuoli;

            OrganigrammaManager manager = new OrganigrammaManager();

            manager.ListaRuoliUO(currentUO.IDCorrGlobale);
            if (manager.getListaRuoliUO() != null && manager.getListaRuoliUO().Count > 0)
            {
                TreeNodo.Expanded = true;
                if (UIManager.UserManager.IsAuthorizedFunctions("DO_VIS_LIV_ORG"))
                {
                    OrgTipoRuolo[] lista = manager.getListaTipiRuolo();
                    foreach (DocsPaWR.OrgRuolo ruolo in manager.getListaRuoliUO())
                    {
                        // filtro per nuova gestione RF
                        if (this.visualizzaRuolo_filtroRF(ruolo.IDCorrGlobale))
                        {
                            //Modifica per visualizzare il codice del tipo ruolo
                            manager.ListaTipiRuolo(ruolo.IDAmministrazione);
                            OrgTipoRuolo[] elencoTipiRuolo = (OrgTipoRuolo[])manager.getListaTipiRuolo();
                            OrgTipoRuolo   tipoRuolo       = elencoTipiRuolo.Where(oggetto => oggetto.IDTipoRuolo.ToUpper().Equals(ruolo.IDTipoRuolo.ToUpper())).FirstOrDefault();


                            nodoRuoli          = new myTreeNode2();
                            nodoRuoli.ID       = ruolo.IDCorrGlobale;
                            nodoRuoli.Text     = ruolo.CodiceRubrica + " - [" + tipoRuolo.Livello + "] - " + ruolo.Descrizione;
                            nodoRuoli.TipoNodo = "R";
                            nodoRuoli.ImageUrl = this.getElementType(nodoRuoli.TipoNodo);
                            nodoRuoli.Expanded = true;

                            TreeNodo.ChildNodes.Add(nodoRuoli);

                            if (this.ddlView.SelectedValue == "3" && ruolo.Utenti.Length > 0)
                            {
                                this.UtentiRuolo(nodoRuoli, ruolo);
                            }
                        }
                    }
                }
                else
                {
                    foreach (DocsPaWR.OrgRuolo ruolo in manager.getListaRuoliUO())
                    {
                        // filtro per nuova gestione RF
                        if (this.visualizzaRuolo_filtroRF(ruolo.IDCorrGlobale))
                        {
                            nodoRuoli          = new myTreeNode2();
                            nodoRuoli.ID       = ruolo.IDCorrGlobale;
                            nodoRuoli.Text     = ruolo.CodiceRubrica + " - " + ruolo.Descrizione;
                            nodoRuoli.TipoNodo = "R";
                            nodoRuoli.ImageUrl = this.getElementType(nodoRuoli.TipoNodo);
                            nodoRuoli.Expanded = true;

                            TreeNodo.ChildNodes.Add(nodoRuoli);

                            if (this.ddlView.SelectedValue == "3" && ruolo.Utenti.Length > 0)
                            {
                                this.UtentiRuolo(nodoRuoli, ruolo);
                            }
                        }
                    }
                }
            }
        }