public IActionResult _CreateRoute(int startLocationId) { var startLocation = ServiceFactory.GeolocationManagement.GetLocation(startLocationId).Data; var model = new CreateRouteVM { StartLocation = startLocation }; return(PartialView(model)); }
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()); } }