コード例 #1
0
        public List <SchedaContattoMarker> Get(AreaMappa area, string codSede)
        {
            var ListaSchede = _getSchedeContatto.ListaSchedeContatto(codSede);

            return(GetListaSchedeMarker(area, ListaSchede));
        }
コード例 #2
0
ファイル: GetMezziMarkerExt.cs プロジェクト: somaliz/sovvf
        /// <summary>
        ///   il metodo la classe recupera le informazioni dei mezzi e la loro posizione georeferenziata.
        /// </summary>
        /// <param name="filtroAreaMappa">un area mappa</param>
        /// <returns>Lista di MezziMarker</returns>
        public List <MezzoMarker> GetListaMezziMarker(AreaMappa filtroAreaMappa)
        {
            var listaMezziFilter = new List <MezzoMarker>();

            var listaMezzi = _getMezziUtilizzabili.Get(filtroAreaMappa.CodiceSede).Result;

            var listaMezziMarker = new List <MezzoMarker>();

            foreach (var mezzo in listaMezzi)
            {
                var mezzoMarker = new MezzoMarker()
                {
                    Mezzo         = mezzo,
                    InfoRichiesta = _getInfoRichiesta.GetInfoRichiestaFromIdRichiestaMezzo(mezzo.IdRichiesta)
                };
                listaMezziMarker.Add(mezzoMarker);
            }

            if (filtroAreaMappa.BottomLeft == null)
            {
                return(listaMezziMarker);
            }

            listaMezziFilter.AddRange(listaMezziMarker.Where(mezzo => mezzo.Mezzo.Coordinate.Latitudine >= filtroAreaMappa.BottomLeft.Latitudine && mezzo.Mezzo.Coordinate.Latitudine <= filtroAreaMappa.TopRight.Latitudine && mezzo.Mezzo.Coordinate.Longitudine >= filtroAreaMappa.BottomLeft.Longitudine && mezzo.Mezzo.Coordinate.Longitudine <= filtroAreaMappa.TopRight.Longitudine));

            var listaMezziMarkerRaggruppata = new List <MezzoMarker>();

            var listaMezziFiltrataPerStato       = new List <MezzoMarker>();
            var listaMezziFitrataPerStatoEGenere = new List <MezzoMarker>();
            var listaMezziFiltrataPerGenere      = new List <MezzoMarker>();

            if (filtroAreaMappa.FiltroMezzi.Stato.Any())
            {
                foreach (var stato in filtroAreaMappa.FiltroMezzi.Stato)
                {
                    listaMezziFiltrataPerStato.AddRange(listaMezziFilter.FindAll(x => x.Mezzo.Stato.Equals(stato)));
                }

                if (!filtroAreaMappa.FiltroMezzi.Tipologia.Any())
                {
                    listaMezziFilter = listaMezziFiltrataPerStato;
                }
            }
            if (filtroAreaMappa.FiltroMezzi.Tipologia.Any())
            {
                foreach (var genere in filtroAreaMappa.FiltroMezzi.Tipologia)
                {
                    listaMezziFiltrataPerGenere.AddRange(listaMezziFilter.FindAll(x => x.Mezzo.Genere.Equals(genere)));
                }
                if (!filtroAreaMappa.FiltroMezzi.Stato.Any())
                {
                    listaMezziFilter = listaMezziFiltrataPerGenere;
                }
            }

            if (filtroAreaMappa.FiltroMezzi.Tipologia.Any() && filtroAreaMappa.FiltroMezzi.Stato.Any())
            {
                listaMezziFilter = listaMezziFiltrataPerStato.FindAll(x => listaMezziFiltrataPerGenere.Contains(x));
            }

            return(listaMezziFilter);
            //return GroupListaMezziMarker.Group(listaMezziFilter); //TODO da integrare con la clusterizzazione.
        }