Пример #1
0
        /// <summary>
        ///   il metodo restituisce una lista di mezzi in servizio associati ad una determinata sede
        /// </summary>
        /// <param name="codiceSede">il codice sede</param>
        /// <returns>Lista di MezziInServizio</returns>
        public List <MezzoInServizio> Get(string[] CodiciSede)
        {
            var listaMezzoInServizio = new List <MezzoInServizio>();

            var listaCodiciSede = CodiciSede.ToList();

            var codiceSedeIniziali = listaCodiciSede[0];

            var mezzi = _getMezziUtilizzabili.Get(listaCodiciSede.ToHashSet().ToList()).Result;

            var statoMezzi = new List <StatoOperativoMezzo>();

            foreach (var codsede in listaCodiciSede)
            {
                statoMezzi.AddRange(_getStatoMezzi.Get(codsede));
            }

            foreach (var mezzo in mezzi)
            {
                var statoOperativoMezzi = statoMezzi.Find(x => x.CodiceMezzo.Equals(mezzo.Codice));
                mezzo.Stato       = statoOperativoMezzi != null ? statoOperativoMezzi.StatoOperativo : Costanti.MezzoInSede;
                mezzo.IdRichiesta = statoOperativoMezzi?.CodiceRichiesta;
                var mezzoMarker = new MezzoMarker()
                {
                    Mezzo         = mezzo,
                    InfoRichiesta = _getInfoRichiesta.GetInfoRichiestaFromIdRichiestaMezzo(mezzo.IdRichiesta)
                };
                var mezzoInServizio = new MezzoInServizio()
                {
                    Mezzo = mezzoMarker
                };

                if (mezzo.IdRichiesta != null)
                {
                    var richiesta = _getRichiestaById.GetByCodice(mezzo.IdRichiesta);
                    if (richiesta != null)
                    {
                        foreach (var partenza in richiesta.Partenze)
                        {
                            if (partenza.Partenza.Mezzo.Codice == mezzo.Codice)
                            {
                                mezzoInServizio.Squadre = partenza.Partenza.Squadre;
                            }
                        }
                    }
                }
                else
                {
                    mezzoInServizio.Squadre = null;
                }

                listaMezzoInServizio.Add(mezzoInServizio);
            }

            return(listaMezzoInServizio);
        }
Пример #2
0
        public List <MezzoInServizio> Get(string[] codiceSede)
        {
            var    filepath         = CostantiJson.Mezzo;
            var    getRichiestaById = new GetRichiestaById();
            string json;

            using (var r = new StreamReader(filepath))
            {
                json = r.ReadToEnd();
            }

            var codiceSedeIniziali = codiceSede[0];

            var mezzi = JsonConvert.DeserializeObject <List <Mezzo> >(json).FindAll(x => x.Stato != Costanti.MezzoFuoriServizio);

            var listaMezzoInServizio = new List <MezzoInServizio>();

            foreach (var mezzo in mezzi.FindAll(x => x.Distaccamento.Codice
                                                .StartsWith(codiceSedeIniziali)))
            {
                var mezzoMarker = new MezzoMarker()
                {
                    Mezzo         = mezzo,
                    InfoRichiesta = _getInfoRichiesta.GetInfoRichiestaFromIdRichiestaMezzo(mezzo.IdRichiesta)
                };
                var mezzoInServizio = new MezzoInServizio {
                    Mezzo = mezzoMarker
                };
                if (mezzoInServizio.Mezzo.Mezzo.IdRichiesta != null)
                {
                    var richiesta = getRichiestaById.GetByCodice(mezzoInServizio.Mezzo.Mezzo.IdRichiesta);
                    foreach (var partenza in richiesta.Partenze)
                    {
                        if (partenza.Partenza.Mezzo.Codice == mezzoInServizio.Mezzo.Mezzo.Codice)
                        {
                            mezzoInServizio.Squadre = partenza.Partenza.Squadre;
                        }
                    }
                }
                else
                {
                    mezzoInServizio.Squadre = null;
                }

                listaMezzoInServizio.Add(mezzoInServizio);
            }

            return(listaMezzoInServizio);
        }
Пример #3
0
        /// <summary>
        ///   il metodo restituisce una lista di mezzi in servizio associati ad una determinata sede
        /// </summary>
        /// <param name="codiceSede">il codice sede</param>
        /// <returns>Lista di MezziInServizio</returns>
        public List <MezzoInServizio> Get(string[] CodiciSede)
        {
            var mezzi      = _getMezziUtilizzabili.Get(CodiciSede.ToList());
            var statoMezzi = _getStatoMezzi.Get(CodiciSede);

            var listaMezzoInServizio = mezzi.Result.Select(mezzo =>
            {
                var statoOperativoMezzi = statoMezzi.Find(x => x.CodiceMezzo.Equals(mezzo.Codice));
                mezzo.Stato             = statoOperativoMezzi != null ? statoOperativoMezzi.StatoOperativo : Costanti.MezzoInSede;
                mezzo.IdRichiesta       = statoOperativoMezzi?.CodiceRichiesta;
                var mezzoMarker         = new MezzoMarker()
                {
                    Mezzo         = mezzo,
                    InfoRichiesta = _getInfoRichiesta.GetInfoRichiestaFromCodiceRichiestaMezzo(mezzo.IdRichiesta)
                };
                var mezzoInServizio = new MezzoInServizio()
                {
                    Mezzo = mezzoMarker
                };

                if (mezzo.IdRichiesta != null)
                {
                    var richiesta = _getRichiestaById.GetByCodice(mezzo.IdRichiesta);
                    if (richiesta != null)
                    {
                        foreach (var partenza in richiesta.Partenze)
                        {
                            if (partenza.Partenza.Mezzo.Codice == mezzo.Codice)
                            {
                                mezzoInServizio.Squadre = partenza.Partenza.Squadre;
                            }
                        }
                    }
                }
                else
                {
                    mezzoInServizio.Squadre = null;
                }

                return(mezzoInServizio);
            });

            return(listaMezzoInServizio
                   .OrderBy(c => c.Mezzo.Mezzo.Stato == Costanti.MezzoInSede)
                   .ToList());
        }
Пример #4
0
        public List <MezzoInServizio> Get(string codiceSede)
        {
            var    mapper           = new MapFromFlottaToMezziMarker();
            var    filepath         = CostantiJson.FlottaMezzi;
            var    getRichiestaById = new GetRichiestaById();
            string json;

            using (var r = new StreamReader(filepath))
            {
                json = r.ReadToEnd();
            }

            var codiceSedePulito = codiceSede.Substring(0, 2);

            var flottaMezzi      = JsonConvert.DeserializeObject <List <MapperMezziFromGeoFleet> >(json);
            var listaMezziMarker = mapper.MappaFlottaMezziSuMezziMarker(flottaMezzi).FindAll(x => x.Mezzo.Distaccamento.Codice.StartsWith(codiceSedePulito));

            var listaMezzoInServizio = new List <MezzoInServizio>();

            foreach (var mezzoMarkerIn in listaMezziMarker)
            {
                var mezzoInServizio = new MezzoInServizio {
                    Mezzo = mezzoMarkerIn
                };
                if (mezzoInServizio.Mezzo.Mezzo.IdRichiesta != null)
                {
                    var richiesta = getRichiestaById.Get(mezzoInServizio.Mezzo.Mezzo.IdRichiesta);
                    foreach (var partenza in richiesta.Partenze)
                    {
                        if (partenza.Partenza.Mezzo.Codice == mezzoInServizio.Mezzo.Mezzo.Codice)
                        {
                            mezzoInServizio.Squadre = partenza.Partenza.Squadre;
                        }
                    }
                }
                else
                {
                    mezzoInServizio.Squadre = null;
                }

                listaMezzoInServizio.Add(mezzoInServizio);
            }

            return(listaMezzoInServizio);
        }