Ejemplo n.º 1
0
        /// <summary>
        ///   Costruttore della classe
        /// </summary>
        /// <param name="numeroMezzi">Il numero dei mezzi costituente il parco</param>
        /// <param name="codiceUnitaOperativa">
        ///   L'unità operativa alla quale appartengono i mezzi (l'etichetta viene usata per creare
        ///   il codice di un mezzo)
        /// </param>
        public ParcoMezzi(IGetMezziInServizioPerUnitaOperativa getMezziInServizioPerUnitaOperativa,
                          string codiceUnitàOperativa)
        {
            var pinNodo = new PinNodo(codiceUnitàOperativa, true);
            var mezzi   = getMezziInServizioPerUnitaOperativa.Get(new[] { pinNodo });

            this.mezzi = mezzi.Select(m => new MezzoInSimulazione(m)).ToArray();
        }
Ejemplo n.º 2
0
        public List <string> GetGerarchiaSede(string codSedeDiPartenza, string[] CodSediAllertate = null)
        {
            var listaSediAlberata = _getAlberaturaUnitaOperative.ListaSediAlberata();

            var pin     = new PinNodo(codSedeDiPartenza);
            var pinNodi = new List <PinNodo>();

            pinNodi.Add(pin);

            var UnitaOperativaAnagrafica = listaSediAlberata.GetSottoAlbero(pinNodi);

            List <string> ListaCodiciSediInteressate = new List <string>();

            UnitaOperativa unitaperativa = new UnitaOperativa(codSedeDiPartenza, UnitaOperativaAnagrafica.ToList()[0].Nome)
            {
                Figli = UnitaOperativaAnagrafica.ToList()[0].Figli
            };

            foreach (var direzioneRegionale in listaSediAlberata.Figli)
            {
                if (direzioneRegionale.Figli.ToList().Contains(unitaperativa))
                {
                    ListaCodiciSediInteressate.Add(direzioneRegionale.Codice);
                    ListaCodiciSediInteressate.Add(unitaperativa.Codice);
                }
                else
                {
                    foreach (var comune in direzioneRegionale.Figli)
                    {
                        if (comune.Figli.ToList().Contains(unitaperativa))
                        {
                            ListaCodiciSediInteressate.Add(direzioneRegionale.Codice);
                            ListaCodiciSediInteressate.Add(comune.Codice);
                            ListaCodiciSediInteressate.Add(unitaperativa.Codice);
                        }
                    }
                }
            }

            if (CodSediAllertate != null)
            {
                foreach (var sede in CodSediAllertate)
                {
                    ListaCodiciSediInteressate.Add(sede);
                }
            }

            return(ListaCodiciSediInteressate);
        }
Ejemplo n.º 3
0
        private List <PinNodo> GetGerarchia(string[] CodSede)
        {
            var listaPin     = new List <PinNodo>();
            var sediAlberate = _getAlberaturaUnitaOperative.ListaSediAlberata();

            foreach (var sede in CodSede)
            {
                listaPin.Add(new PinNodo(sede, true));
                foreach (var figlio in sediAlberate.GetSottoAlbero(listaPin))
                {
                    PinNodo fgl = new PinNodo(figlio.Codice, true);
                    listaPin.Add(fgl);
                }
            }

            return(listaPin);
        }
Ejemplo n.º 4
0
        public bool Check(List <Role> ruoliDaAggiungere, string codiceFiscaleUtenteDaControllare)
        {
            var utente = _getUtenteByCF.Get(codiceFiscaleUtenteDaControllare);

            if (utente != null)
            {
                var listaSediAlberate = _getListaUO.ListaSediAlberata();

                List <Role> listaRuoliEsplosaPerRicorsivita = new List <Role>();

                foreach (var ruolo in utente.Ruoli)
                {
                    var     listaPin = new List <PinNodo>();
                    PinNodo pin      = new PinNodo(ruolo.CodSede, ruolo.Ricorsivo);
                    listaPin.Add(pin);
                    foreach (var unita in listaSediAlberate.GetSottoAlbero(listaPin))
                    {
                        Role ruoloEsploso = new Role(ruolo.Descrizione, unita.Codice);
                        listaRuoliEsplosaPerRicorsivita.Add(ruoloEsploso);
                    }
                }

                var risultato = listaRuoliEsplosaPerRicorsivita.Where(o => ruoliDaAggiungere.Any(s => o.CodSede.Equals(s.CodSede) && o.Descrizione.Equals(s.Descrizione))).ToList();

                if (risultato.Count > 0)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            else
            {
                return(true);
            }
        }