public IActionResult PutVehicleStop(string vehicleId, string routeId, PutStopModel postedModel) { if (postedModel == null) { return(StatusCode(204)); } if (!Guid.TryParse(vehicleId, out var vehicleGuidId)) { return(NotFound("Invalid Vehicle id")); } if (!Guid.TryParse(routeId, out var routeGuidId)) { return(NotFound("Invalid Route id")); } // extract latitude and longitude var coordinates = Helper.TryParseLocation(postedModel.stopLocation); if (!string.IsNullOrWhiteSpace(postedModel.stopLocation) && (coordinates.latitude == null || coordinates.longitude == null)) { return(BadRequest("Invalid Stop Location")); } // create the instance var driverStopLog = new StopGeographicDetails { Id = Guid.NewGuid(), routeId = routeGuidId, address = postedModel.stopAddress, stopName = postedModel.stopName, latitude = coordinates.latitude ?? 0, longitude = coordinates.longitude ?? 0, stopDeadline = postedModel.stopDeadline }; var vehicleStopXRef = new VehicleStopXRef { Id = Guid.NewGuid(), vehicleId = vehicleGuidId, stopId = driverStopLog.Id, createdOn = DateTimeOffset.Now }; // add and save m_Context.StopGeographicDetails.Add(driverStopLog); m_Context.VehicleStopXRef.Add(vehicleStopXRef); m_Context.SaveChanges(); // return result return(new OkObjectResult(new { driverStopLog.routeId, stopId = driverStopLog.Id })); }
public StopGeographicDetailsModel(StopGeographicDetails item, string ProviderId) { id = item.Id; providerId = ProviderId; serverTime = DateTime.UtcNow; stopName = item.stopName; address = item.address; comment = item.comment; location = string.Format("{0} {1}", item.latitude, item.longitude); if (!string.IsNullOrEmpty(item.entryArea)) { entryArea = new List <string>(item.entryArea.Split(';')); } }
public IActionResult PostRoute(string vehicleId, PostRouteModel postedModel) { if (postedModel == null) { return(StatusCode(204)); } if (!Guid.TryParse(vehicleId, out var vehicleGuidId)) { return(BadRequest("Invalid vehicleId")); } if (string.IsNullOrWhiteSpace(postedModel.startLocation)) { return(BadRequest("Invalid startLocation")); } // extract latitude and longitude var startCoordinates = Helper.TryParseLocation(postedModel.startLocation); if (startCoordinates.latitude == null || startCoordinates.longitude == null) { return(BadRequest("Invalid startLocation")); } if (string.IsNullOrWhiteSpace(postedModel.stopLocation)) { return(BadRequest("Invalid stopLocation")); } var stopCoordinates = Helper.TryParseLocation(postedModel.stopLocation); if (stopCoordinates.latitude == null || stopCoordinates.longitude == null) { return(BadRequest("Invalid stopLocation")); } var route = new Route { Id = Guid.NewGuid(), startName = postedModel.startName, startAddress = postedModel.startAddress, startLatitude = startCoordinates.latitude.Value, startLongitude = startCoordinates.longitude.Value, comment = postedModel.routeAddInstructions }; var stop = new StopGeographicDetails { Id = Guid.NewGuid(), routeId = route.Id, address = postedModel.stopAddress, stopName = postedModel.stopName, latitude = stopCoordinates.latitude ?? 0, longitude = stopCoordinates.longitude ?? 0, stopDeadline = postedModel.stopDeadline }; var vehicleStopXRef = new VehicleStopXRef { Id = Guid.NewGuid(), vehicleId = vehicleGuidId, stopId = stop.Id, createdOn = DateTimeOffset.Now }; // add and save m_Context.Route.Add(route); m_Context.StopGeographicDetails.Add(stop); m_Context.VehicleStopXRef.Add(vehicleStopXRef); m_Context.SaveChanges(); // return result return(new OkObjectResult(new { routeId = route.Id, stopId = stop.Id })); }