/// <summary>
        /// Interface call to get all parkades
        /// </summary>
        /// <returns>a Model with all parkades</returns>
        public IEnumerable <IParkadeModel> RequestParkadesWithinCenter(IGeolocationRequestParameter requestParameter)
        {
            if (!requestParameter.IsValid())
            {
                Logger.Error("RequestParkadesWithinCenter: Invalid Model");
                return(new List <ParkadeModel>());
            }

            ParkadesModel    allParkades    = this.RequestParkades <ParkadesModel>();
            OccupanciesModel allOccupancies = this.RequestParkadeOccupancies <OccupanciesModel>();

            IList <ParkadeModel> parkades = new List <ParkadeModel>();

            // TODO Implement Geolocation Service
            foreach (ParkadeModel parkade in allParkades.Parkades)
            {
                if ((requestParameter.Geolocation.Distance(new Geoobject(parkade.Latitude, parkade.Longitude)) >
                     requestParameter.Distance))
                {
                    continue;
                }

                // TODO Int Parse Prettier
                int parkadeId;
                if (!int.TryParse(parkade.Id, out parkadeId))
                {
                    parkadeId = -1;
                }

                OccupancyModel occupancyOfParkade = allOccupancies
                                                    .Occupancies
                                                    .FirstOrDefault(element => element.Site.Id == parkadeId)
                                                    ?? new OccupancyModel();

                parkade.OccupancyModel = occupancyOfParkade;
                parkades.Add(parkade);
            }

            return(parkades.AsEnumerable());
            // END
        }
Exemple #2
0
 /// <summary>
 /// c'tor
 /// </summary>
 public ParkingFinderAnalyticsData()
 {
     OccupancyModel = new OccupancyModel();
 }