Example #1
0
        public async Task <RoutesRouteDto> GetRouteIncludeAllAsync(int id)
        {
            var route = await _repository.GetRouteIncludeAllAsync(id);

            var punctuality = PunctualityConverter.RoutePunctualityPercentage(route);
            var routeDto    = new RoutesRouteDto
            {
                PunctualityPercentage = punctuality
            };
            var result = _mapper.Map <Route, RoutesRouteDto>(route, routeDto);

            SetPunctualityForRoute(route, ref result);

            return(result);
        }
Example #2
0
        private static void SetPunctualityForRoute(Route route, ref RoutesRouteDto routeDto)
        {
            for (int i = 0; i < route.BusStops.Count; i++)
            {
                routeDto.BusStops.ElementAt(i).PunctualityPercentage
                    = PunctualityConverter.BusStopPunctualityPercentage(route.BusStops.ElementAt(i));
                routeDto.BusStops.ElementAt(i).PunctualityMode
                    = PunctualityConverter.BusStopPunctualityHourMode(route.BusStops.ElementAt(i)).ToString(@"hh\:mm");

                var avgTuple = PunctualityConverter
                               .BusStopPunctualityHourAvgBeforeAvgAfterTime(route.BusStops.ElementAt(i));
                routeDto.BusStops.ElementAt(i).PunctualityAvgBeforeTime = avgTuple.avgTimeBefore.ToString();
                routeDto.BusStops.ElementAt(i).PunctualityAvgAfterTime  = avgTuple.avgTimeAfter.ToString();
            }

            var avgPunctuality =
                PunctualityConverter.RoutePunctualityHourAvgBeforeAvgAfterTime(route);

            routeDto.PunctualityAvgBeforeTime = avgPunctuality.avgTimeBefore.ToString();
            routeDto.PunctualityAvgAfterTime  = avgPunctuality.avgTimeAfter.ToString();
        }
Example #3
0
        public async Task RemoveRouteAsync(RoutesRouteDto route)
        {
            var routeToRemove = await _repository.GetRouteAsync(route.Id);

            await _repository.RemoveRouteAsync(routeToRemove);
        }