public ActionResult <RideList> GetRides() { List <Ride> rides = new List <Ride>(); RideList rideList = new RideList(); try{ var query = from r in motherload.Rides select r; var query2 = from r in motherload.Seats select r; foreach (var q in query) { rides.Add(q); } rideList.Rides = rides; foreach (var s in query2) { for (int i = 0; i < rideList.Rides.Count; i++) { if (rideList.Rides[i].RideId == s.RideId) { rideList.Rides[i].passangers.Add(s.Email); } } } return(rideList); } catch (Exception e) { return(rideList); } }
private void BindListView() { try { using (OdbcConnection connection = new OdbcConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MySQLConnStr"].ConnectionString)) { connection.Open(); string query = "SELECT * from ride"; // testing OdbcDataAdapter ada = new OdbcDataAdapter(query, connection); try { DataTable dt = new DataTable(); ada.Fill(dt); RideList.DataSource = dt; RideList.DataBind(); } catch (Exception ex) { Response.Write("An error occured: " + ex.Message); } connection.Close(); } } catch (Exception ex) { Response.Write("An error occured: " + ex.Message); } }
private void LoadData() { ParsedFile _file = new ParsedFile(_inputPath); IParsedLine firstLine = _file.NextLine(); /*long gridRow = */ firstLine.NextElement <long>(); /*long gridCol = */ firstLine.NextElement <long>(); //Grid = new Grid(gridRow, gridCol); long n_vehicles = firstLine.NextElement <long>(); for (int i = 0; i < n_vehicles; ++i) { VehicleList.Add(new Vehicle(i)); } long n_rides = firstLine.NextElement <long>(); long bonus = firstLine.NextElement <long>(); TotalSimulationSteps = firstLine.NextElement <long>(); long rideId = 0; while (!_file.Empty) { IParsedLine line = _file.NextLine(); long row = line.NextElement <long>(); long col = line.NextElement <long>(); long endrow = line.NextElement <long>(); long endcol = line.NextElement <long>(); long start = line.NextElement <long>(); long end = line.NextElement <long>(); RideList.Add(new Ride( rideId, bonus, new Position(row, col), new Position(endrow, endcol), start, end, TotalSimulationSteps)); ++rideId; } if (n_rides != RideList.Count) { throw new ParsingException(); } }
public void GenerateCreatedRides() { try{ client = new ClientSocket(); rides = JsonConvert.DeserializeObject <RideList>(client.GetCreatedRides(User.FindFirst(ClaimTypes.Email)?.Value)); } catch (Exception e) { Message = "Something went wrong :( \n Please reload the page or try again later."; } }
public void ExampleReproduction() { LoadData(); VehicleList.First().SuccessfullRides.Add(RideList.SingleOrDefault(ride => ride.Id == 0)); VehicleList.First().SuccessfullRides.First().Done = true; VehicleList.First().SuccessfullRides.First().DoneInEarlyStart = true; VehicleList.Last().SuccessfullRides.Add(RideList.SingleOrDefault(ride => ride.Id == 2)); VehicleList.Last().SuccessfullRides.First().Done = true; VehicleList.Last().SuccessfullRides.Add(RideList.SingleOrDefault(ride => ride.Id == 1)); VehicleList.Last().SuccessfullRides.Last().Done = true; PrintData(); }
public ActionResult <RideList> GetCreatedRides(string Request) { List <Ride> rides = new List <Ride>(); RideList rideList = new RideList(); try{ var query = from r in motherload.Rides where (r.Driver == Request) select r; foreach (var q in query) { rides.Add(q); } rideList.Rides = rides; return(rideList); } catch (Exception e) { return(rideList); } }
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e) { (RideList.FindControl("DataPager") as DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false); this.BindListView(); }
private Ride GetOptimalRide(long currentStep) { return(RideList.FirstOrDefault(r => r.EarlyStart == currentStep)); }
private void ProcessData() { RideList = RideList.OrderBy(ride => ride.Distance).ToList(); // Room for improvement long currentStep = 0; while (currentStep < TotalSimulationSteps) { // Update Vehicle State UpdateVehicleState(currentStep); Ride optimalRideForCurrentStep = GetOptimalRide(currentStep); if (optimalRideForCurrentStep != null) { VehicleList = VehicleList.OrderBy(v => v.CalculateDistanceToAPoint(optimalRideForCurrentStep.InitialPosition)).ToList(); } // Possible improvement: always provide an optimalRideAlternative and a Vehicle Ordered list according to previous one foreach (Vehicle v in VehicleList.Where(v => v.Free).ToList()) { if (!RideList.Any()) { break; } /// Next ride choice for each vehicle Ride ride = (optimalRideForCurrentStep != null && optimalRideForCurrentStep.Done == false) // Since optimalRide is declared before entering foreach, null comprobation is not enough and .Done needs to checked too here ? optimalRideForCurrentStep // Current behavior: chose only according to bonus give for early start : null; // Possible improvement : ride selection taking into account distance vehicle-ride init, etc. (has to do with ordering vehicleList) // Alternatives to main ride choice (already done or impossible to do) if (ride == null) // Alternatives to optimal ride { switch (_inputFileName) { case ("b_should_be_easy.in"): ride = GetRandomRemainingRide(); break; case ("c_no_hurry.in"): // Deterministic output { ride = MoreLinq.MoreEnumerable.MinBy(RideList, r => v.CalculateDistanceToAPoint(r.InitialPosition)); } break; case ("d_metropolis.in"): { ride = currentStep <= 0.75 * TotalSimulationSteps ? GetRandomRemainingRide() : MoreLinq.MoreEnumerable.MinBy(RideList, r => v.CalculateDistanceToAPoint(r.InitialPosition)); } break; case ("e_high_bonus.in"): { ride = currentStep <= 0.75 * TotalSimulationSteps ? ride ?? GetRandomRemainingRide() : ride ?? MoreLinq.MoreEnumerable.MinBy(RideList, r => v.CalculateDistanceToAPoint(r.InitialPosition)); } break; default: throw new Exception("File behavior needs to be defined"); } } /// Step simulation actions if (ride.IsOnTimeOrAfterEarlyStart(currentStep + v.CalculateDistanceToAPoint(ride.InitialPosition))) { RideList.Remove(ride); ride.Distance += v.CalculateDistanceToAPoint(ride.InitialPosition); ride.Done = true; ride.DoneInEarlyStart = currentStep == ride.EarlyStart; v.Free = false; v.StepWhenWillBeFee = currentStep + ride.Distance; // Including trip to position v.SuccessfullRides.Add(ride); } } currentStep++; } }
public void GenerateRides() { rides = new RideList(); client = new ClientSocket(); rides = JsonConvert.DeserializeObject <RideList>(client.GetRides()); }