public async Task <List <RouteModel> > GetAllAsync( ClaimsPrincipal userPrincipal, int?projectId, bool?active) { var userRoutesModel = await _userManager.GetAvailableRoutesModel(userPrincipal); var result = await _routeRepository.GetAllAsync(userRoutesModel, projectId, active); return(MapToModel <RouteModel>(result)); }
public async Task <IActionResult> GetAllRoutesAsync(CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); var modelRoutesList = await routeRepository.GetAllAsync(cancellationToken).ConfigureAwait(false); var modelCheckpoints = await checkpointRepository.GetAllAsync(cancellationToken).ConfigureAwait(false); var clientRoutesList = modelRoutesList.Select(item => Converter.RouteConverter.Convert(item, modelCheckpoints)) .ToImmutableList(); return(Ok(clientRoutesList)); }
public async Task <List <TrolleybusTodayStatusModel> > GetTrolleybusTodayStatus() { var routes = await _routeRepository.GetAllAsync(null, null, null); var statuses = await _busDataRepository.GetTrolleybusTodayStatus(); var trolleybuses = await _objectRepository.GetAllTrolleybuses(); var compType = StringComparison.InvariantCultureIgnoreCase; var result = statuses.Select(s => { var currentRoute = routes.First(x => x.Name.Equals(s.RouteName, compType)); var newRoute = !string.IsNullOrEmpty(s.NewTrolleyNumber) ? routes.First(x => x.IsTrolleybus && Regex.Match(x.Name, @"\d+").Value.Equals(s.NewTrolleyNumber, compType)) : null; if (currentRoute == newRoute) { newRoute = null; } var vehicle = trolleybuses.First(x => x.Name.Equals(s.Name, compType)); vehicle.Route = routes.First(x => x.Id == vehicle.LastRouteId.Value); var item = new TrolleybusTodayStatusModel { Place = s.Place, CoordinationTime = s.CoordTime, Trolleybus = _mapper.Map <ObjectModel>(vehicle), NewRoute = _mapper.Map <RouteModel>(newRoute), IsNotDefined = string.IsNullOrEmpty(s.NewTrolleyNumber) }; return(item); }) .ToList(); result.Sort((a, b) => { var compareResult = -(a.NewRoute != null).CompareTo(b.NewRoute != null); if (compareResult == 0) { compareResult = a.IsNotDefined.CompareTo(b.IsNotDefined); if (compareResult == 0) { var aRouteNumber = int.Parse(Regex.Match(a.Trolleybus.Route.Name, @"\d+").Value); var bRouteNumber = int.Parse(Regex.Match(b.Trolleybus.Route.Name, @"\d+").Value); compareResult = aRouteNumber.CompareTo(bRouteNumber); if (compareResult == 0) { compareResult = a.Trolleybus.Name.CompareTo(b.Trolleybus.Name); } } } return(compareResult); }); return(result); }
public async Task <IEnumerable <Route> > GetAllAsync(string query, RouteFilterByEnum?filterField, RouteSortByEnum?sortBy, int?take, int?skip) { return(await _routeRepository.GetAllAsync(query, filterField, sortBy, take, skip)); }