public ActionResult <LiftRequest> Post([FromBody] LiftRequest liftRequest) { if (liftRequest == null) { return(BadRequest()); } var journey = _carPoolContext.Journeys .FirstOrDefault(j => j.Id == liftRequest.JourneyId); if (journey == null) { return(NotFound("Journey Not Found")); } if (journey.LiftRequests == null) { journey.LiftRequests = new List <LiftRequest>(); } journey.LiftRequests.Add(liftRequest); _carPoolContext.SaveChanges(); return(Ok(liftRequest)); }
public ActionResult Put([FromBody] LiftRequest liftRequest) { var trackedLiftRequest = _carPoolContext.LiftRequests.FirstOrDefault(x => x.Id == liftRequest.Id); if (trackedLiftRequest == null) { return(BadRequest()); } var journey = _carPoolContext.Journeys.Include(x => x.LiftRequests) .FirstOrDefault(j => j.Id == trackedLiftRequest.JourneyId); if (journey == null) { return(NotFound("Journey Not Found")); } if (!journey.LiftRequests.Remove(trackedLiftRequest)) { return(NotFound("Unable to remove LiftRequest from Journey")); } var passenger = _carPoolContext.Users.FirstOrDefault(x => x.Id == trackedLiftRequest.PassengerId); if (passenger == null) { return(NotFound("Unable to find passenger")); } if (journey.Passengers == null) { journey.Passengers = new List <User>(); } journey.Passengers.Add(passenger); _carPoolContext.SaveChanges(); var driver = journey.Passengers.FirstOrDefault(p => p.IsDriver); if (driver != null) { return(Ok(_nexmoSmsClient.SMS.Send(request: new SMS.SMSRequest { @from = "Ac Car Pool", to = passenger.PhoneNumber, text = $"Good News, {driver.Name} has approved your lift request. Verify your journey here https://bit.ly/2Dh8KMX" }))); } return(Ok()); }
public ActionResult Put([FromBody] LiftRequest liftRequest) { var trackedLiftRequest = _carPoolContext.LiftRequests.FirstOrDefault(x => x.Id == liftRequest.Id); if (trackedLiftRequest == null) { return(BadRequest()); } var journey = _carPoolContext.Journeys.Include(x => x.LiftRequests) .FirstOrDefault(j => j.Id == trackedLiftRequest.JourneyId); if (journey == null) { return(NotFound("Journey Not Found")); } if (!journey.LiftRequests.Remove(trackedLiftRequest)) { return(NotFound("Unable to remove LiftRequest from Journey")); } var passenger = _carPoolContext.Users.FirstOrDefault(x => x.Id == liftRequest.PassengerId); if (passenger == null) { return(NotFound("Unable to find passenger")); } if (journey.Passengers == null) { journey.Passengers = new List <User>(); } journey.Passengers.Add(passenger); _carPoolContext.SaveChanges(); //var driver = journey.Passengers.FirstOrDefault(p => p.IsDriver); //if(driver != null) //{ // _nexmoSmsClient.SMS.Send(request: new SMS.SMSRequest // { // from = "", // to = passenger.PhoneNumber, // text = $"Your lift request with {driver.Name} has been accepted." // }); //} return(Ok()); }
public ActionResult Delete([FromBody] LiftRequest liftRequest) { if (liftRequest == null) { return(BadRequest()); } var journey = _carPoolContext.Journeys .FirstOrDefault(j => j.Id == liftRequest.JourneyId); if (journey == null) { return(NotFound("Journey Not Found")); } if (!journey.LiftRequests.Remove(liftRequest)) { return(NotFound("Unable to remove LiftRequest from Journey")); } _carPoolContext.SaveChanges(); return(Ok()); }