public TripDetail FromTaxi838(TaxiRequest order, Taxi838.Models.Responses.PriceEstimateResponse response, DistanceResponse distance) { var cost = int.Parse(response.Price.Split(' ').First()); var detail = new TripDetail { CarType = order.CarType, TaxiService = TaxiService.Taxi838, Details = new TripData { Price = new Price { Cost = cost, MinPrice = cost - new Random().Next(10), MaxPrice = cost + new Random().Next(30) }, Distance = distance.Distance, Duration = distance.Duration, Seats = order.CarType == CarType.Minibus ? 8 : 4 } }; return(detail); }
public TripDetail FromUber(TaxiRequest order, Uber.Models.Responses.PriceEstimateResponse priceEstimate, Uber.Models.Responses.TimeEstimateResponse timeEstimate) { var price = order.CarType == CarType.Business ? priceEstimate.Prices.Single(x => x.DisplayName.Equals("UberSelect")) : priceEstimate.Prices.Single(x => x.DisplayName.Equals("UberX")); var time = order.CarType == CarType.Business ? timeEstimate.Times.Single(x => x.DisplayName.Equals("UberSelect")) : timeEstimate.Times.Single(x => x.DisplayName.Equals("UberX")); var detail = new TripDetail { CarType = order.CarType, TaxiService = TaxiService.Uber, Details = new TripData { Price = new Price { Cost = (int)((price.LowEstimate + price.HighEstimate) / 2), MinPrice = (int?)price.LowEstimate, MaxPrice = (int?)price.HighEstimate }, Distance = price.Distance, Duration = (int)price.Duration, Seats = 4, PickupTime = (int?)time.Estimate } }; return(detail); }
public void CannotFindDirectFlightBetweenTwoLocationNotNextToEachother() { Node nodeA = new Node("A"); Node nodeB = new Node("B"); Node nodeC = new Node("C"); Node nodeD = new Node("D"); Node nodeE = new Node("E"); Node nodeF = new Node("F"); Graph myGraph = new Graph(nodeA); myGraph.AddEdge(nodeA, nodeB, 150); myGraph.AddEdge(nodeA, nodeC, 82); myGraph.AddEdge(nodeB, nodeC, 99); myGraph.AddEdge(nodeB, nodeD, 42); myGraph.AddEdge(nodeC, nodeD, 105); myGraph.AddEdge(nodeD, nodeF, 73); myGraph.AddEdge(nodeC, nodeF, 26); myGraph.AddEdge(nodeF, nodeE, 250); myGraph.AddEdge(nodeF, nodeC, 37); TripDetail td = Program.GetEdge(myGraph, "A", "F"); Assert.Equal(0, td.Price); Assert.False(td.IsDirect); }
// To Add the Trip Details public int AddOrEditTrip(TripDetail tripDetail) { try { int result; using (SqlConnection con = new SqlConnection(connString)) { SqlCommand cmd = new SqlCommand("usp_AddEditTrip", con); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Trip_Id", tripDetail.TripId); cmd.Parameters.AddWithValue("@No_Of_Days", tripDetail.NoOfDays); cmd.Parameters.AddWithValue("@No_Of_People", tripDetail.NoOfPeople); cmd.Parameters.AddWithValue("@Budget", tripDetail.Budget); SqlParameter outputParam = cmd.Parameters.Add("@out_trip_Id", SqlDbType.Int); outputParam.Direction = ParameterDirection.Output; con.Open(); cmd.ExecuteNonQuery(); con.Close(); result = (int)cmd.Parameters["@out_trip_Id"].Value; } return(result); } catch (Exception ex) { return(0); } }
public void CanFindDirectRouteBetweenToLocations() { Node nodeA = new Node("A"); Node nodeB = new Node("B"); Node nodeC = new Node("C"); Node nodeD = new Node("D"); Node nodeE = new Node("E"); Node nodeF = new Node("F"); Graph myGraph = new Graph(nodeA); myGraph.AddEdge(nodeA, nodeB, 150); myGraph.AddEdge(nodeA, nodeC, 82); myGraph.AddEdge(nodeB, nodeC, 99); myGraph.AddEdge(nodeB, nodeD, 42); myGraph.AddEdge(nodeC, nodeD, 105); myGraph.AddEdge(nodeD, nodeF, 73); myGraph.AddEdge(nodeC, nodeF, 26); myGraph.AddEdge(nodeF, nodeE, 250); myGraph.AddEdge(nodeF, nodeC, 37); TripDetail td = Program.GetEdge(myGraph, "E", "F"); Assert.Equal(250, td.Price); Assert.True(td.IsDirect); }
public async Task StartTrip() { var trip = new Trip() { StartTime = DateTime.Now }; trip.Id = await connection.InsertAsync(trip); SelectedTrip = trip; IsNewTrip = true; cancellationTokenSource = new CancellationTokenSource(); await Task.Run(async() => { while (true) { var tripDetail = new TripDetail() { TripId = SelectedTrip.Id, Time = DateTime.Now }; tripDetail.Id = await connection.InsertAsync(tripDetail); SelectedTripDetail = tripDetail; await Task.Delay(TimeSpan.FromMilliseconds(500)); if (cancellationTokenSource.IsCancellationRequested) { break; } } }).ConfigureAwait(false); IsNewTrip = false; }
static void Main(string[] args) { Node nodeA = new Node("A"); Node nodeB = new Node("B"); Node nodeC = new Node("C"); Node nodeD = new Node("D"); Node nodeE = new Node("E"); Node nodeF = new Node("F"); Graph myGraph = new Graph(nodeA); myGraph.AddEdge(nodeA, nodeB, 150); myGraph.AddEdge(nodeA, nodeC, 82); myGraph.AddEdge(nodeB, nodeC, 99); myGraph.AddEdge(nodeB, nodeD, 42); myGraph.AddEdge(nodeC, nodeD, 105); myGraph.AddEdge(nodeD, nodeF, 73); myGraph.AddEdge(nodeC, nodeF, 26); myGraph.AddEdge(nodeF, nodeE, 250); myGraph.AddEdge(nodeF, nodeC, 37); TripDetail td = GetEdge(myGraph, "E", "F"); Console.WriteLine($"The direct flight exists: {td.IsDirect}"); Console.WriteLine($"The price is: {td.Price}"); Console.ReadLine(); }
public TripDetail FromBolt(TaxiRequest order, Bolt.Models.Responses.PriceEstimateResponse response, DistanceResponse distance) { var price = order.CarType == CarType.Business ? response.Data.SearchCategories.Single(x => x.Name.Equals("Comfort")) : response.Data.SearchCategories.Single(x => x.Name.Equals("Bolt")); var minCost = int.Parse(price.PricePrediction.Trim('₴').Split('–').First()); var maxCost = int.Parse(price.PricePrediction.Trim('₴').Split('–').Last()); var avgCost = (minCost + maxCost) / 2; var detail = new TripDetail { CarType = order.CarType, TaxiService = TaxiService.Bolt, Details = new TripData { Price = new Price { MinPrice = minCost, MaxPrice = maxCost, Cost = avgCost, SurgeMultiplier = price.SurgeMultiplier }, Distance = distance.Distance, Duration = distance.Duration, PickupTime = price.PickupTime, Seats = 4 } }; return(detail); }
public IEnumerable <TripDetail> GetTripDetails() { try { List <TripDetail> tripDetailsList = new List <TripDetail>(); using (SqlConnection con = new SqlConnection(connString)) { SqlCommand cmd = new SqlCommand("Select * from Trip_detail_tbl", con); cmd.CommandType = System.Data.CommandType.Text; con.Open(); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { TripDetail tripDetails = new TripDetail(); tripDetails.TripId = Convert.ToInt32(rdr["Trip_Id"]); tripDetails.NoOfDays = Convert.ToInt32(rdr["No_Of_Days"]); tripDetails.NoOfPeople = Convert.ToInt32(rdr["No_Of_People"]); tripDetails.Budget = Convert.ToInt32(rdr["Budget"]); tripDetailsList.Add(tripDetails); } } return(tripDetailsList); } catch (Exception ex) { return(null); } }
public IActionResult AddEditTrip(int Id = 0) { TripDetail model = _TripService.GetTrip(Id); //TripDetail model = new TripDetail(); return(View(model)); }
public ActionResult DeleteConfirmed(int id) { TripDetail tripDetail = db.TripDetails.Find(id); db.TripDetails.Remove(tripDetail); db.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult AddEditTrip(TripDetail tripDetail) { if (ModelState.IsValid) { int TripId = _TripService.AddOrEditTrip(tripDetail); } TempData["Message"] = "Successfully Created"; return(RedirectToAction("Index")); }
public RatesClient Get (TripDetail getInfo) { return InvokeStrategy<RatesClient> (() => { PostObject ( UrlPaths.Rates, getInfo ); }); }
public ActionResult Edit([Bind(Include = "Id,Destination,TimeStart,TimeEnd,Activity,Food,Budget,TripId")] TripDetail tripDetail) { if (ModelState.IsValid) { db.Entry(tripDetail).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.TripId = new SelectList(db.Trips, "Id", "TripTitle", tripDetail.TripId); return(View(tripDetail)); }
public FareDetailsBuilder CalculateFare(TripDetail tripDetail) { return(builder//new FareDetails() .AddInitialAmount() .AddNewyorkTaxSurcharge() .CalculateLessThan6MilesPerHourSpeedRangeIndicator(tripDetail.LessThan6MilesPerHourSpeedRangeIndicator) .CalculateMoreThan6MilesPerHourOr60SecondsDurationIndicator(tripDetail.MoreThan6MilesPerHourOr60SecondsDurationIndicator) .CalculateNightSurcharge(tripDetail.TripDate) .CalculatePeakHourWeekDaySurcharge(tripDetail.TripDate) .AddInitialAmount()); }
public FareDetailsTests() { tripDetail = new TripDetail() { CityBasedSurchargeAmount = 0.5, LessThan6MilesPerHourSpeedRangeIndicator = 2, MoreThan6MilesPerHourOr60SecondsDurationIndicator = 5, TripDate = Convert.ToDateTime("01/17/2020 5:30pm") }; subject = new FareDetailsBuilder(); }
public void UpdateTrip(int TripId, TripDetail trip) { var data = context.TripDetails.SingleOrDefault(s => s.TripId == TripId); data.DepartureAirportName = trip.DepartureAirportName; data.ArrivedAirportName = trip.ArrivedAirportName; data.DepatureCity = trip.DepatureCity; data.ArrivedCity = trip.ArrivedCity; data.DepartDateTime = trip.DepartDateTime; data.ArrivedDateTime = trip.ArrivedDateTime; context.SaveChanges(); }
public ActionResult InsertTrip(TripDetail trip) { try { repository.InsertTrip(trip); return(Ok("Trip is Inserted Successfully")); } catch (Exception e) { return(BadRequest(e)); } }
public ActionResult UpdateTrip(int TripId, TripDetail trip) { try { repository.UpdateTrip(TripId, trip); return(Ok("Trip is Updated Successfully")); } catch (Exception e) { return(BadRequest(e)); } }
// GET: TripDetails/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TripDetail tripDetail = db.TripDetails.Find(id); if (tripDetail == null) { return(HttpNotFound()); } return(View(tripDetail)); }
// GET: TripDetails/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TripDetail tripDetail = db.TripDetails.Find(id); if (tripDetail == null) { return(HttpNotFound()); } ViewBag.TripId = new SelectList(db.Trips, "Id", "TripTitle", tripDetail.TripId); return(View(tripDetail)); }
public int SaveTripDetails(TripDetails tripDetails) { var trip = new TripDetail { TripTitle = tripDetails.TripTitle, Description = tripDetails.Description, StartDate = tripDetails.fromDate, EndDate = tripDetails.toDate, UserId = tripDetails.UserId, Created_On = DateTime.Now, Status = true }; _db.TripDetails.Add(trip); _db.SaveChanges(); return(trip.Id); }
public TripDetail GetTrip(int Id) { using (SqlConnection con = new SqlConnection(connString)) { TripDetail tripDetail = new TripDetail(); SqlCommand cmd = new SqlCommand("Select * from Trip_detail_tbl where Trip_Id=" + Id, con); cmd.CommandType = System.Data.CommandType.Text; con.Open(); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { tripDetail.TripId = Convert.ToInt32(rdr["Trip_Id"]); tripDetail.NoOfDays = Convert.ToInt32(rdr["No_Of_Days"]); tripDetail.NoOfPeople = Convert.ToInt32(rdr["No_Of_People"]); tripDetail.Budget = Convert.ToInt32(rdr["Budget"]); } return(tripDetail); } }
/// <summary> /// Takes in a graph, two locations. Checks if the first location is on the graph, if so checks if its neighbors are location2. /// If so returns the weight of the edge and true, if not, returns a 0 and false. If first location is not on the graph returns false /// </summary> /// <param name="graph">The graph</param> /// <param name="location">string of location 1</param> /// <param name="location2">string of location 2</param> /// <returns>a TripDetail object or null</returns> public static TripDetail GetEdge(Graph graph, string location, string location2) { Node startNode = graph.Nodes.Find(node => node.Value == location); if (startNode != null) { TripDetail returnDetail = new TripDetail(); foreach (Edge item in startNode.Edges) { if (item.Neighbor.Value == location2) { returnDetail.Price = item.Price; returnDetail.IsDirect = true; return(returnDetail); } } returnDetail.Price = 0; returnDetail.IsDirect = false; return(returnDetail); } return(null); }
public TripDetail FromUklon(TaxiRequest order, Uklon.Models.Responses.PriceEstimateResponse response, DistanceResponse distance) { var detail = new TripDetail { CarType = order.CarType, TaxiService = TaxiService.Uklon, Details = new TripData { Price = new Price { Cost = response.Cost, MinPrice = response.LowCost, MaxPrice = response.HighCost, SurgeMultiplier = response.CostMultiplier }, Distance = response.Distance, Duration = distance.Duration, Seats = order.CarType == CarType.Minibus ? 8 : 4 } }; return(detail); }
public bool EditTrip(TripDetail tripDetail) { try { using (SqlConnection con = new SqlConnection(connString)) { SqlCommand cmd = new SqlCommand("usp_EditTrip", con); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Trip_Id", tripDetail.TripId); cmd.Parameters.AddWithValue("@No_Of_Days", tripDetail.NoOfDays); cmd.Parameters.AddWithValue("@No_Of_People", tripDetail.NoOfPeople); cmd.Parameters.AddWithValue("@Budget", tripDetail.Budget); con.Open(); cmd.ExecuteNonQuery(); return(true); } } catch (Exception ex) { return(false); } }
public void CannotFindDirectFlightIfLocationMissing() { Node nodeA = new Node("A"); Node nodeB = new Node("B"); Node nodeC = new Node("C"); Node nodeD = new Node("D"); Node nodeE = new Node("E"); Node nodeF = new Node("F"); Graph myGraph = new Graph(nodeA); myGraph.AddEdge(nodeA, nodeB, 150); myGraph.AddEdge(nodeA, nodeC, 82); myGraph.AddEdge(nodeB, nodeC, 99); myGraph.AddEdge(nodeB, nodeD, 42); myGraph.AddEdge(nodeC, nodeD, 105); myGraph.AddEdge(nodeD, nodeF, 73); myGraph.AddEdge(nodeC, nodeF, 26); myGraph.AddEdge(nodeF, nodeE, 250); myGraph.AddEdge(nodeF, nodeC, 37); TripDetail td = Program.GetEdge(myGraph, "X", "F"); Assert.Null(td); }
public int AddOrEditTrip(TripDetail tripDetail) { int TripId = _ITripRepository.AddOrEditTrip(tripDetail); return(TripId); }
public TripDetail GetTrip(int Id) { TripDetail tripDetail = _ITripRepository.GetTrip(Id); return(tripDetail); }
public void InsertTrip(TripDetail trip) { context.TripDetails.Add(trip); context.SaveChanges(); }