示例#1
0
        public IActionResult _CreateRoute(int startLocationId)
        {
            var startLocation = ServiceFactory.GeolocationManagement.GetLocation(startLocationId).Data;

            var model = new CreateRouteVM
            {
                StartLocation = startLocation
            };

            return(PartialView(model));
        }
示例#2
0
        public IActionResult CreateRoute(CreateRouteVM createRouteVM)
        {
            var result = new Result();

            try
            {
                var serviceResult = ServiceFactory.RouteManagement.CreateRoute(createRouteVM.Locations, createRouteVM.Name, createRouteVM.EstimatedDurationInHours);

                result.Success = serviceResult.Success;
                result.Message = serviceResult.Message;
            }
            catch (Exception ex)
            {
                result.Success = false;
            }
            return(Json(result));
        }
      public async Task <IActionResult> Create([FromBody] CreateRouteVM data)
      {
          if (data != null)
          {
              try
              {
                  Route route = new Route();
                  route.Name               = data.name;
                  route.Description        = data.description;
                  route.TotalDistance      = data.totalDistance;
                  route.TotalElevationGain = data.totalElevationGain;
                  route.TotalElevationLoss = data.totalElevationLoss;
                  string[] cityState = ReverseGeocodeCoordinates(data.coordinates[0]);
                  route.City   = cityState[0];
                  route.State  = cityState[1];
                  route.UserId = int.Parse(data.userId);
                  _context.Routes.Add(route);
                  await _context.SaveChangesAsync();

                  int routeId = FindRouteId(route.Name);
                  CreateCoordinatesRows(data.coordinates, routeId);
                  CreateDistancesRows(data.distances, routeId);
                  CreateElevationsRows(data.elevations, routeId);
                  RouteVM routeVM = new RouteVM();
                  routeVM.id = routeId;
                  return(Ok(routeVM
                            ));
              }
              catch
              {
                  throw new System.Web.Http.HttpResponseException(System.Net.HttpStatusCode.InternalServerError);
              }
          }
          else
          {
              return(NoContent());
          }
      }