Beispiel #1
0
        private StopGroupModel createStopHeader(StopGroup stop, IList <RouteModel> items, bool showTime, bool showDistance, GeoCoordinate location = null, bool showBtn = false, bool showSeparator = false)
        {
            var model = new StopGroupModel(items, addFooter)
            {
                Stop = stop,
                IsWheelchairVisible = stop.Stops.Any(s => s.WheelchairBoardingAvailable),
                TimeText            = StartTime.ToRelativeString(),
                IsTransferVisible   = showTime,
                IsDistanceVisible   = false,
                IsBtnVisible        = showBtn,
                IsSeparatorVisible  = showSeparator,
            };

            if (showDistance && items.Count > 0)
            {
                double dist = items.Select(i => i.Distance).Average();
                if (dist > MinShowDistance)
                {
                    double walkTime = items.Select(i => i.WalkTime.TotalMinutes).Average();
                    model.NearDistance      = StringFactory.LocalizeDistance(dist);
                    model.NearDirection     = StringFactory.CardinalToString(stop.InverseDirection(location.Latitude, location.Longitude));
                    model.NearWalkingtime   = (int)Math.Ceiling(walkTime);
                    model.IsDistanceVisible = true;
                }
            }
            return(model);
        }