protected void submit_Click(object sender, EventArgs e) { if (originTB.Text != "" && destinationTB.Text != "" && calendarTB.Text != "") { DataSet ds = new DataSet(); try { RideRequest rr = new RideRequest(); ds = rr.GetAllRidesFilter(rideTypeDDL.SelectedValue.ToString(), originTB.Text, destinationTB.Text, (Convert.ToDateTime(calendarTB.Text)), Convert.ToInt32(minuteDDL.SelectedValue), Convert.ToInt32(hourDDL.SelectedValue), Convert.ToInt32(genderPrefDDL.SelectedValue)); } catch (Exception ex) { throw ex; } if (ds != null) { ridesRepeater.DataSource = ds.Tables[0]; ridesRepeater.DataBind(); } else { Page.Header.Controls.Add(new LiteralControl("<script type='text/javascript'>alert('לא נמצאו טרמפים מתאימים. נסה מאוחר יותר!');</script>")); } } else { Page.Header.Controls.Add(new LiteralControl("<script type='text/javascript'>alert('אנא הזן מוצא ויעד');</script>")); } }
public async Task <string> PostRideRequestAsync(string userId, RideRequest rideRequest) { var uri = new Uri(App.Current.ServerAddress, "api/rides/ride-request") .AddParameter("userId", userId); var content = new StringContent(JsonConvert.SerializeObject(rideRequest), System.Text.Encoding.UTF8, "application/json"); try { var response = await App.Current.HttpClient.PostAsync(uri, content); Console.WriteLine($"Response code: {response.StatusCode}"); if (response.IsSuccessStatusCode) { Console.WriteLine($"Response body: {await response.Content.ReadAsStringAsync()}"); return(response.Headers.Location.OriginalString); } else { Console.WriteLine($"Reason phrases: {response.ReasonPhrase}"); return(null); } } catch (HttpRequestException e) { Console.WriteLine($"Got exception: {e}"); return(null); } }
private string FormatAcceptedMessageToProvider(RideRequest rideRequest, IUser requestedBy) { return ($"Thank you for accepting to give {requestedBy.UserName} a ride, you can contact them on their number at {requestedBy.PhoneNumber}. " + $"As a reminder remeber that you're picking them up at: {rideRequest.Source} and " + $"taking them to: {rideRequest.Destination} at: {rideRequest.PickupTime:g}"); }
public UserRideRequest(User user, RideRequest rideRequest) : base(user) { RideRequest = rideRequest; PostStatus().FireAndForgetAsync(Program.ErrorHandler); }
public void NotifyNewRide(RideRequest rideRequest, IUrlHelper url) { foreach (var user in _usersRepository.Users.Where(profile => profile.RideProvider)) { SendNotification(user.PhoneNumber, FormatNewRideMessage(rideRequest, user, url)); } }
public bool ApproveRequest(int rideId, string requestId, bool isApproved) { if (isApproved) { if (BookingDal.GetStatus(requestId).ToString() == "Requested") { RideRequest request = BookingDal.GetBookingDetails(requestId).Request; if (RideDal.IsSeatAvailable(request, rideId)) { BookingDal.UpdateStatus(requestId, "Approved"); return(true); } else { BookingDal.UpdateStatus(requestId, "Rejected"); return(false); } } } else { BookingDal.UpdateStatus(requestId, "Rejected"); } return(true); }
public async Task <RideResponse> Post(RideRequest body) { HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Remove("Authorization"); httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token); httpClient.BaseAddress = Security.BaseAddress("SANDBOX"); StringContent stringContent = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json"); HttpResponseMessage response = await httpClient.PostAsync($"requests", stringContent); if (!response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); var Exception = JsonConvert.DeserializeObject(content); throw new System.Exception(Exception.ToString()); } try { return(JsonConvert.DeserializeObject <RideResponse>(await response.Content.ReadAsStringAsync())); } catch (System.Exception ex) { throw ex; } }
public IActionResult AddRequest(AddRequestViewModel addRequestViewModel) { if (ModelState.IsValid) { ApplicationUser currentUser = context.Users.Single(u => u.UserName.Equals(User.Identity.Name)); RideRequest newRequest = new RideRequest { RiderOrgLoc = addRequestViewModel.RiderOrgLoc, RiderDestLoc = addRequestViewModel.RiderDestLoc, SeatNeeded = addRequestViewModel.SeatsNeeded, RequestTime = DateTime.Now.ToString("h:mm:ss tt"), Date = DateTime.Today, UserAccountID = currentUser.Id, ActiveRequest = true, RiderOrgLat = addRequestViewModel.RiderOrgLat, RiderOrgLong = addRequestViewModel.RiderOrgLong, RiderDestLat = addRequestViewModel.RiderDestLat, RiderDestLong = addRequestViewModel.RiderDestLong }; //Add new ride requesUt to the database context.RideRequests.Add(newRequest); context.SaveChanges(); var lastride = context.RideRequests.Last(); return(Redirect("/RideRequest/GetStatus?rideID=" + lastride.ID)); //return RedirectToAction("GetStatus"); } else { return(View(addRequestViewModel)); } }
public List <RideRequest> GetRequests(int rideId) { string connectionString = Configuration.ConnectionString; List <RideRequest> requests = new List <RideRequest>(); using (SqlConnection connection = new SqlConnection(connectionString)) { string sql = $"Select * from Booking where RideId='{rideId}'"; using (SqlCommand command = new SqlCommand(sql, connection)) { connection.Open(); using (SqlDataReader dataReader = command.ExecuteReader()) { while (dataReader.Read()) { RideRequest Request = new RideRequest { PickUp = Convert.ToString(dataReader["Source"]), Drop = Convert.ToString(dataReader["Destination"]), NoOfSeats = Convert.ToInt32(dataReader["NoOfSeats"]), Id = Convert.ToString(dataReader["Id"]), RiderId = Convert.ToString(dataReader["RiderId"]), StartDate = Convert.ToDateTime(dataReader["StartDate"]) }; requests.Add(Request); } } } connection.Close(); } return(requests); }
public IActionResult CancelRider() { var id = Request.Query["rideID"]; RideRequest currentRide = context.RideRequests.Single(r => r.ID == int.Parse(id)); //Change status to cancelled currentRide.CanceledRide = true; //adds the cancellation reason to the database currentRide.CancellationReason = "Rider did not show up"; //Change seats needed to 0 because the driver will not pick up any riders currentRide.SeatNeeded = 0; //Removes the request from the Ride Request Queue list currentRide.ActiveRequest = false; //save the changes made to the ride request context.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Post([FromBody] PhoneRideRequest request) { if (request.dropoffs == null || request.passengers == null || request.firstName == null || request.homeAddress == null || request.pickupLocation == null || request.cellPhoneNumber == null) { return(BadRequest()); } var convertedRideRequest = new RideRequest() { Pickup = request.pickupLocation, PhoneNumber = request.cellPhoneNumber, NumberOfPeople = request.passengers, Destination = request.homeAddress, PatronName = request.firstName }; try { DBConnector db = new DBConnector(); db.InsertRide(convertedRideRequest); } catch (Exception ex) { Console.WriteLine(ex); return(StatusCode(500)); } return(Ok()); }
public RideRequest AddRequest(RideRequest request) { var entity = _databaseContext.Requests.Add(request).Entity; _databaseContext.SaveChanges(); return(entity); }
public IHttpActionResult PostConvertRideRequest(RideRequest rideRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Params priceParam = new Params(); decimal price = priceParam.Price * rideRequest.nbKm; Ride ride = new Ride() { RiderId = rideRequest.RiderId, DriverId = rideRequest.DriverId, PosXStart = rideRequest.PosXStart, PosXEnd = rideRequest.PosXEnd, PosYEnd = rideRequest.PosYEnd, PosYStart = rideRequest.PosYStart, PlaceNumber = rideRequest.PlaceNumber, DateCreation = DateTime.Now, DateStart = null, DateEnd = null, Price = price, Payment = null, PromotionCodeId = null }; db.Rides.Add(ride); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = ride.RideId }, ride)); }
public async Task <ActionResult <RideResponse> > Post(RideRequest request) { _logger.LogDebug("{@Configuration}", _configuration.AsEnumerable().Select(kv => $"{kv.Key} - {kv.Value}").ToList()); _logger.LogDebug("{@LambdaContext}", Request.HttpContext.Items[AbstractAspNetCoreFunction.LAMBDA_CONTEXT]); _logger.LogDebug("{@LambdaRequestObject}", Request.HttpContext.Items[AbstractAspNetCoreFunction.LAMBDA_REQUEST_OBJECT]); _logger.LogDebug("{@IdentityDetails}", GetIdentityDetails().ToList()); var rideId = Guid.NewGuid().ToString(); var username = User.Identity.Name; var unicorn = FindUnicorn(request.PickupLocation); await _dbContext.SaveAsync(new Ride { RideId = rideId, RequestTime = DateTime.UtcNow, Unicorn = unicorn, UnicornName = unicorn.Name, User = username }); var response = new RideResponse { Eta = "30 seconds", RideId = rideId, Rider = username, Unicorn = unicorn, UnicornName = unicorn.Name }; return(CreatedAtAction(nameof(Post), response)); }
public IHttpActionResult PutRideRequest(int id, RideRequest rideRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != rideRequest.RideRequestID) { return(BadRequest()); } db.Entry(rideRequest).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!RideRequestExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult JoinedRiders(int rid) { RideRequest rr = new RideRequest(); rr.RideId = rid; rr.RequestStatus = "2"; List <RideRequest> rrlist = new RideRequestDAC().SelectALLAcceptedRequestByRideId(rr); List <JoinedRidersModel> jrlist = new List <JoinedRidersModel>(); if (rrlist != null) { foreach (RideRequest m in rrlist) { JoinedRidersModel jrmodel = new JoinedRidersModel(); Users utemp = new UsersDAC().SelectById(m.PassengerId); jrmodel.Id = m.Id; jrmodel.PassengerId = m.PassengerId; jrmodel.PickupLocation = m.PickupLocation; jrmodel.Destination = m.Destination; jrmodel.RideId = m.RideId; jrmodel.RequestStatus = m.RequestStatus; jrmodel.TotalAmount = m.TotalAmount; jrmodel.UserName = utemp.UserName; jrlist.Add(jrmodel); } jrlist.TrimExcess(); return(Ok(jrlist)); } else { return(NotFound()); } }
protected DataSet GetAllRideRequests() { RideRequest rideRequest = new RideRequest(); DataSet ds = new DataSet(); try { ds = rideRequest.GetUserRideRequests((int)Session["userId"]); } catch (Exception ex) { throw ex; } for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (Convert.ToInt32(ds.Tables[0].Rows[i]["price"]) == -1) { ds.Tables[0].Rows[i]["price"] = 0; } string date = ds.Tables[0].Rows[i]["rideDate"].ToString(); string[] arr = date.Split('-'); ds.Tables[0].Rows[i]["rideDate"] = arr[2] + "/" + arr[1] + "/" + arr[0]; } return(ds); }
public ResponseVM ApproveRequest([FromQuery] int rideId, [FromQuery] string requestId, [FromQuery] bool isApprove, [FromQuery] string providerId) { ResponseVM response = new ResponseVM { Result = true }; if (isApprove) { RideRequest request = _rideService.FindRide(rideId).Requests.Find(_ => _.Id == requestId); float amount = _rideService.CalculateCostForRide(rideId, request.PickUp, request.Drop); if (_userService.IsBalanceAvailable(amount, request.RiderId)) { if (_rideService.ApproveRequest(rideId, requestId, isApprove)) { _userService.PayBill(providerId, request.RiderId, amount); response.Result = true; } else { response.ErrorMessage = "The Request can't be Accepted "; } } else { response.ErrorMessage = "The Balance is not Sufficient"; } } else { _rideService.ApproveRequest(rideId, requestId, isApprove); } return(response); }
public form_update_request(RideRequest ride) { InitializeComponent(); current = ride; _dbContext = new OIT_RideShare(); UpdateRideRequestData(); }
protected void DeleteRideRequest(int rideId) { RideRequest rideRequest = new RideRequest(); try { rideRequest.DeleteRideRequest(Convert.ToInt32(rideId)); } catch (Exception ex) { throw ex; } DataTable dt = new DataTable(); try { dt = GetAllRideRequests().Tables[0]; } catch (Exception ex) { throw ex; } TrempsRepeater.DataSource = dt; TrempsRepeater.DataBind(); }
public IHttpActionResult RideEnded(int rid) { Ride r = new Ride(); r.Id = rid; r.RideStatusId = 3; new RideDAC().RideStatusUpdate(r); Ride rtemp = new RideDAC().SelectById(rid); Users driver = new UsersDAC().SelectById(rtemp.UserId); RideRequest rr = new RideRequest(); rr.RideId = rid; rr.RequestStatus = "2"; List <RideRequest> rrlist = new RideRequestDAC().SelectALLAcceptedRequestByRideId(rr); if (rrlist != null) { foreach (RideRequest i in rrlist) { Users passenger = new UsersDAC().SelectById(i.PassengerId); string message = "Rate your ride with " + driver.UserName + " from " + rtemp.Source + " to " + rtemp.Destination + "."; NotifyRateDriverToJoinedPassengers(passenger.Token, driver, rtemp, message, "RateDriver"); } } return(Ok()); }
public IHttpActionResult CancelRide(int rid) { Ride r = new Ride(); r.Id = rid; r.RideStatusId = 4; new RideDAC().RideStatusUpdate(r); Ride ride = new RideDAC().SelectById(rid); Users driver = new UsersDAC().SelectById(ride.UserId); RideRequest rr = new RideRequest(); rr.RideId = rid; rr.RequestStatus = "2"; List <RideRequest> rrlist = new RideRequestDAC().SelectALLAcceptedRequestByRideId(rr); if (rrlist != null) { foreach (RideRequest i in rrlist) { Users u = new UsersDAC().SelectById(i.PassengerId); String message = driver.UserName + " Cancelled the ride from " + ride.Source + " to " + ride.Destination + " which you joined! "; NotifyCancelledRideStatus(u.Token, message, "JoinedPassengers"); } } new RideRequestDAC().DeleteAllRideRequestsByRideId(rid); return(Ok()); }
protected void Page_Load(object sender, EventArgs e) { RideRequest rr = new RideRequest(); DataTable dt = new DataTable(); // try { dt = rr.getMatchRideRequest(Convert.ToInt32(Request.QueryString["rideId"])); } catch (Exception ex) { throw ex; } for (int i = 0; i < dt.Rows.Count; i++) { if (Convert.ToInt32(dt.Rows[i]["price"]) == -1) { dt.Rows[i]["price"] = 0; } string date = dt.Rows[i]["rideDate"].ToString(); string[] arr = date.Split(' '); dt.Rows[i]["rideDate"] = arr[0]; } matchUsersRepeater.DataSource = dt; matchUsersRepeater.DataBind(); }
protected void RequestRideButton_Click(object sender, EventArgs e) { string pickupLine1 = PickupLine1TextBox.Text; string pickupLine2 = PickupLine2TextBox.Text; string pickupCity = PickupCityTextBox.Text; string pickupState = PickupStateTextBox.Text; int pickupZip = int.Parse(PickupZipTextBox.Text); Address pickupAddress = new Address(pickupLine1, pickupLine2, pickupCity, pickupState, pickupZip); string dropoffLine1 = DropoffLine1TextBox.Text; string dropoffLine2 = DropoffLine2TextBox.Text; string dropoffCity = DropoffCityTextBox.Text; string dropoffState = DropoffStateTextBox.Text; int dropoffZip = int.Parse(DropoffZipTextBox.Text); Address dropoffAddress = new Address(dropoffLine1, dropoffLine2, dropoffCity, dropoffState, dropoffZip); UserSession userSession = (UserSession)Session["userSession"]; DateTime pickupDate = Convert.ToDateTime(PickupTimeTextBox.Text); RideRequest rideRequest = new RideRequest((Customer)userSession.User, pickupAddress, dropoffAddress, DateTime.Now, pickupDate); //db = new Database(); requestID = db.AddRequest(rideRequest); RideRequestStatusLabel.Text = "Waiting for Driver"; RideStatusTimer.Enabled = true; }
public void RequestRide([FromBody] RequestVM request1, [FromQuery] int rideId, [FromQuery] string userId) { RideRequest request = _mapper.Map <RideRequest>(request1); request.RideId = rideId; request.RiderId = userId; _rideService.RequestRide(request); }
public List <RideRequest> SelectALLAcceptedRequestByPassengerId(RideRequest rr) { SqlCommand cmd = new SqlCommand(SELECT_All_ACCEPTED_REQUEST_BY_PASSENGERID, DACHelper.GetConnection()); cmd.Parameters.AddWithValue("@PassengerId", rr.PassengerId); cmd.Parameters.AddWithValue("@Status", rr.RequestStatus); return(fetchRideRequest(cmd)); }
public form_Rider() { InitializeComponent(); _dbContext = new OIT_RideShare(); rider = new Rider(); user = new User(); request = new RideRequest(); }
private async Task RequestRide() { rideRequest = await AppConstants.ShyftClient.RequestRide(pickupLocation.Value.Latitude, pickupLocation.Value.Longitude, dropoffLocation.Value.Latitude, dropoffLocation.Value.Longitude, selectedRideType.Value); GoToRide(); }
public form_Admin() { InitializeComponent(); _dbContext = new OIT_RideShare(); updateLists(); current_request = null; current_User = null; }
private string FormatNewRideMessage(RideRequest rideRequest, IUser user, IUrlHelper url) { return($"Someone in your area would like a ride." + Environment.NewLine + $"From: {rideRequest.Source}" + Environment.NewLine + $"To: {rideRequest.Destination}" + Environment.NewLine + $"At: {rideRequest.PickupTime:g}" + Environment.NewLine + $"Accpet? {_options.BaseUrl}{url.Action("Accept", "RideRequest", new {rideRequestId = rideRequest.Id, username = user.UserName, auth = rideRequest.AuthId})}" + Environment.NewLine + $"Once you accept you will be sent their Username and Phone number"); }