Exemplo n.º 1
0
        public object Get()
        {
            var task = Request.RequestUri.Segments.LastOrDefault().ToUpper();

            switch (task)
            {
            case "ROUTES":
                var result = _manager.GetRouteList().Select(s => (RouteViewModel)s.Value)
                             .OrderBy(x => x.Symbol)
                             .ToList();
                return(result);

            case "REGION":
                return(_manager.GetRegion());

            case "NEARBY":
                var query = Request.RequestUri.ParseQueryString();
                var stop  = query["stop"];
                return(_manager.GetNearbyRoutes(stop.ToUpper()));

            default:
                var manifest = _manager.GetRouteDetail(task);
                if (manifest == null)
                {
                    return("PING");
                }
                return(manifest);
            }
        }