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); }
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(); }
public async Task RemoveRouteAsync(RoutesRouteDto route) { var routeToRemove = await _repository.GetRouteAsync(route.Id); await _repository.RemoveRouteAsync(routeToRemove); }