public static bool UpdateRide(string id, UpdateRideDTO dto) { try { Ride r = UpdateRideDTO.FromDTO(dto); r.Id = id; //RideRelationship rideRel = new RideRelationship(r); Dictionary <string, object> queryDict = new Dictionary <string, object> { { "RidePrice", dto.RidePrice }, { "RideType", dto.RideType }, { "TakeOfTime", r.TakeOfTime }, { "ArrivalTime", r.ArrivalTime }, { "DayOfWeek", dto.DayOfWeek } }; var query = DataLayer.Client.Cypher .Match("(ride:Ride)", "(takeOf:Station) - [rel: RIDE] -> (arrival:Station)") .Where((Ride ride) => ride.Id == id) .AndWhere((Ride rel) => rel.Id == id) .Set("ride = {newRide}") .WithParam("newRide", r) .Set("rel.RidePrice = {RidePrice}") .Set("rel.RideType = {RideType}") .Set("rel.TakeOfTime = {TakeOfTime}") .Set("rel.ArrivalTime = {ArrivalTime}") .Set("rel.DayOfWeek = {DayOfWeek}") .WithParams(queryDict) .Return <Ride>("ride") .Results; if (query != null && query.Count() > 0) { RedisDataProvider.RedisRideDataProvider.UpdateRide(id, dto.NumberOfSeats); return(true); } return(false); } catch (Exception e) { return(false); } }
// PUT: api/Ride/5 public bool Put(string id, [FromBody] UpdateRideDTO value) { return(RideDataProvider.UpdateRide(id, value)); }