Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <param name="ruoloSmistamento"></param>
        /// <param name="descrizione"></param>
        /// <returns></returns>
        protected DocsPaWR.datiAggiuntiviSmistamento[] GetDatiAggiuntivi(string id, DocsPaWR.RuoloSmistamento ruoloSmistamento, out string descrizione)
        {
            descrizione = string.Empty;
            DocsPaWR.datiAggiuntiviSmistamento[] datiAggiuntivi = null;

            if (ruoloSmistamento.ID == id)
            {
                datiAggiuntivi = new datiAggiuntiviSmistamento[1] {
                    ruoloSmistamento.datiAggiuntiviSmistamento
                };
                descrizione = ruoloSmistamento.Descrizione;
            }
            else
            {
                foreach (DocsPaWR.UtenteSmistamento utente in ruoloSmistamento.Utenti)
                {
                    if (utente.ID == id)
                    {
                        if (utente.FlagCompetenza || utente.FlagConoscenza)
                        {
                            datiAggiuntivi = new datiAggiuntiviSmistamento[1] {
                                utente.datiAggiuntiviSmistamento
                            };
                            descrizione = utente.Denominazione;
                            break;
                        }
                    }
                }
            }

            return(datiAggiuntivi);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// </summary>
        /// <param name="uoSmistamento"></param>
        /// <param name="descrizione"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        protected DocsPaWR.datiAggiuntiviSmistamento[] GetDatiAggiuntivi(string id, out string descrizione, params DocsPaWR.UOSmistamento[] uoSmistamento)
        {
            descrizione = string.Empty;
            DocsPaWR.datiAggiuntiviSmistamento[] datiAggiuntivi = null;

            if (uoSmistamento != null)
            {
                foreach (DocsPaWR.UOSmistamento uo in uoSmistamento)
                {
                    if (uo.ID == id)
                    {
                        descrizione = uo.Descrizione;

                        // L'id fa riferimento ad una UO, le quali non dispongono dei dati aggiuntivi.
                        // In tal caso, si ricercano i dati aggiuntivi di tutti i ruoli di riferimento della stessa.
                        DocsPaWR.RuoloSmistamento[] ruoliRiferimento = uo.Ruoli.Where(e => e.RuoloRiferimento).ToArray();

                        datiAggiuntivi = new datiAggiuntiviSmistamento[ruoliRiferimento.Length];
                        for (int i = 0; i < ruoliRiferimento.Length; i++)
                        {
                            datiAggiuntivi[i] = ruoliRiferimento[i].datiAggiuntiviSmistamento;
                        }

                        break;
                    }
                    else
                    {
                        foreach (DocsPaWR.RuoloSmistamento ruolo in uo.Ruoli)
                        {
                            datiAggiuntivi = this.GetDatiAggiuntivi(id, ruolo, out descrizione);

                            if (datiAggiuntivi != null)
                            {
                                break;
                            }
                        }

                        if (datiAggiuntivi == null)
                        {
                            datiAggiuntivi = this.GetDatiAggiuntivi(id, out descrizione, uo.UoInferiori);

                            if (datiAggiuntivi != null)
                            {
                                break;
                            }
                        }

                        if (datiAggiuntivi != null)
                        {
                            break;
                        }
                    }
                }
            }

            return(datiAggiuntivi);
        }