public void btnNext_Click(object sender, EventArgs e) { ParkingBusiness pb = new ParkingBusiness(); pl.ListOfSpots = new List<ParkingSpot>(); ParkingSpot ps = new ParkingSpot(); int validNameResult = 0; if (TextBoxNameOfNewParking.Text.Equals("") || TextBoxLocationOfNewParking.Text.Equals("") || TextBoxDimensionsOfParkingX.Text.Equals("") || TextBoxDimensionsOfParkingY.Text.Equals("")) { LabelError.Text = "Espacios vacíos"; } else { pl.Name = TextBoxNameOfNewParking.Text; pl.Location = TextBoxLocationOfNewParking.Text; pl.DimensionX = Int32.Parse(TextBoxDimensionsOfParkingX.Text); pl.DimensionY = Int32.Parse(TextBoxDimensionsOfParkingY.Text); Session["PARKINGLOT"] = pl; validNameResult = pb.VerifyParking(pl); if (validNameResult == -1) { LabelError.Text = "Nombre del parqueo ya existe"; TextBoxNormalSpot.Enabled = true; TextBoxNameOfNewParking.Enabled = true; TextBoxLocationOfNewParking.Enabled = true; TextBoxDimensionsOfParkingX.Enabled = true; TextBoxDimensionsOfParkingY.Enabled = true; } else { ButtonNext.Enabled = false; ButtonCancel.Enabled = false; TextBoxNormalSpot.Text = "" + pl.DimensionX * pl.DimensionY; Session["AddParking"] = 1; } } }
public void FillDropDownListParking() { ParkingBusiness parkingbusiness = new ParkingBusiness(); DataSet dataSet = parkingbusiness.GetParkingForBooking(); DropDownListParking.DataTextField = dataSet.Tables[0].Columns["Name"].ToString(); DropDownListParking.DataValueField = dataSet.Tables[0].Columns["Id"].ToString(); DropDownListParking.DataSource = dataSet.Tables[0]; DropDownListParking.DataBind(); }
protected void btnDeleteReserve_Click(object sender, EventArgs e) { Booking newBooking = new Booking(); BookingBusiness bookingBusiness = new BookingBusiness(); ParkingBusiness parkingBusiness = new ParkingBusiness(); User currentUser = (User)Session["USER"]; Vehicle bookingVehicle = new Vehicle(); ParkingSpot bookingSpot = new ParkingSpot(); ParkingLot bookingParking = new ParkingLot(); bookingSpot.IdParking = Int32.Parse(DropDownListParking.SelectedValue); bookingSpot = parkingBusiness.GetSpotForReserve(bookingSpot, (int)Session["Position"]); newBooking.IdVehicle = bookingVehicle; newBooking.IdUser = currentUser; newBooking.IdParkingSpot = bookingSpot; newBooking.IdParkingLot = bookingParking; newBooking.EntryTime = DateTime.Parse(DropDownListInitialHour.SelectedValue); newBooking.ExitTime = DateTime.Parse(DropDownListFinalHour.SelectedValue); newBooking.IdVehicle.Id = DropDownListVehicleFormUser.SelectedValue.Trim(); newBooking.Date = DateTime.Today; newBooking.IdParkingSpot.Id = bookingSpot.Id; newBooking.IdParkingLot.Id = Int32.Parse(DropDownListParking.SelectedValue); if (bookingSpot.Id == 0) { //Return error here } else { bookingBusiness.DenyBooking(newBooking, newBooking.EntryTime, newBooking.ExitTime); bookingParking = parkingBusiness.GetDimensions(bookingParking); selectedPosition = -1; bookingParking = removeSelected(Int32.Parse(DropDownListParking.SelectedValue)); FillTableDesignOfNewParking(newBooking.IdParkingLot.Id); } }
public ParkingLot removeSelected(int parkingName) { ParkingLot parkingTable = new ParkingLot(); ParkingBusiness parkingBusiness = new ParkingBusiness(); parkingTable.Id = parkingName; parkingTable = parkingBusiness.GetDimensions(parkingTable); for (int counterRow = 0; counterRow < parkingTable.DimensionX; counterRow++) { for (int counterColumn = 0; counterColumn < parkingTable.DimensionY; counterColumn++) { if (TableDesignOfNewParking.Rows[counterRow].Cells[counterColumn].BackColor == Color.Green) { TableDesignOfNewParking.Rows[counterRow].Cells[counterColumn].BackColor = (Color)Session["BackColor"]; } } } return parkingTable; }
public void FillTableDesignOfNewParking(int parkingName) { TableDesignOfNewParking.Rows.Clear(); ParkingBusiness parkingBusiness = new ParkingBusiness(); BookingBusiness bookingBusiness = new BookingBusiness(); ParkingLot parkingspotTable = new ParkingLot(); ParkingSpot parking = new ParkingSpot(); int counter = 0; parkingspotTable.Id = parkingName; parkingspotTable = parkingBusiness.GetDimensions(parkingspotTable); TableDesignOfNewParking = parkingBusiness.GetSpotData(parkingspotTable, TableDesignOfNewParking); for (int counterRow = 0; counterRow < parkingspotTable.DimensionX; counterRow++) { for (int counterColumn = 0; counterColumn < parkingspotTable.DimensionY; counterColumn++) { TableDesignOfNewParking.Rows[counterRow].Cells[counterColumn].Controls.Add(addButton(counter)); counter++; } } TableDesignOfNewParking = bookingBusiness.VerifySpots(parkingspotTable, TableDesignOfNewParking, DateTime.Parse(DropDownListInitialHour.SelectedValue), DateTime.Parse(DropDownListFinalHour.SelectedValue)); for (int counterRow = 0; counterRow < parkingspotTable.DimensionX; counterRow++) { for (int counterColumn = 0; counterColumn < parkingspotTable.DimensionY; counterColumn++) { if (TableDesignOfNewParking.Rows[counterRow].Cells[counterColumn].BackColor == Color.Red) { TableDesignOfNewParking.Rows[counterRow].Cells[counterColumn].Enabled = true; } else { TableDesignOfNewParking.Rows[counterRow].Cells[counterColumn].Enabled = false; } } } }
public async Task <List <Comparatives> > Get(string option, int scenarioId, double acceptableParkingDistance) { ScenarioOption cenarioOption = new ScenarioOption { Option = option, ScenarioID = scenarioId }; BestRoutesBusiness bestRoutesBusiness = new BestRoutesBusiness(); TransportAppBusiness transportAppBusiness = new TransportAppBusiness(); CabBusiness cabBusiness = new CabBusiness(); ParkingBusiness parkingBusiness = new ParkingBusiness(); CenariosTester cenariosTester = new CenariosTester(); EstacionamentoTester estacionamentoTester = new EstacionamentoTester(); var cenarios = cenariosTester.CriarCenariosParaTeste(); var estacionamentos = estacionamentoTester.CriaEstacionamentosParaTeste(); List <Comparatives> lsComparatives = new List <Comparatives>(); List <ComparativeOptions> lsComparativeOptions = new List <ComparativeOptions>(); if (cenarioOption.Option.Equals("transportOption")) { //Cenario var cenarioSelecionado = cenarios.Where(x => x.CenarioID == cenarioOption.ScenarioID).FirstOrDefault(); List <Options> optionTraffic = await bestRoutesBusiness.GetBestRoutes(cenarioSelecionado.EnderecoOrigem, cenarioSelecionado.EnderecoDestino, cenarioSelecionado.HorarioSaida, string.Empty, "transit"); List <Options> optionDriver = await bestRoutesBusiness.GetBestRoutes(cenarioSelecionado.EnderecoOrigem, cenarioSelecionado.EnderecoDestino, cenarioSelecionado.HorarioSaida, string.Empty, "driving"); ComparativeOptions comparativeOptions = new ComparativeOptions(); foreach (var item in optionTraffic) { Comparatives comparatives = new Comparatives(); comparatives.AddressOrigin = new Address { StreetName = cenarioSelecionado.EnderecoOrigem }; comparatives.AddressDestine = new Address { StreetName = cenarioSelecionado.EnderecoDestino }; comparatives.Duration = item.DurationValue; comparatives.Distance = item.DistanceValue; comparatives.Cost = item.CostValue; comparatives.TransporteType = eTransportOptions.PublicTransportation.ToString(); lsComparatives.Add(comparatives); } //Driver foreach (var item in optionDriver) { int duration = item.DurationValue; int distance = item.DistanceValue; double valorTransporteAplicativo = transportAppBusiness.GetCosts(duration, distance); double valorTaxi = cabBusiness.GetCosts(duration, distance, cenarioSelecionado.HorarioSaida); double valorEstacionamento = parkingBusiness.GetBestCostFromAllParkings(estacionamentos, cenarioSelecionado.EnderecoDestino, cenarioSelecionado.HorarioSaida, acceptableParkingDistance).Result; //Aplicativos Comparatives comparativesAplicativos = new Comparatives(); comparativesAplicativos.AddressOrigin = new Address { StreetName = cenarioSelecionado.EnderecoOrigem }; comparativesAplicativos.AddressDestine = new Address { StreetName = cenarioSelecionado.EnderecoDestino }; comparativesAplicativos.Duration = item.DurationValue; comparativesAplicativos.Distance = item.DistanceValue; comparativesAplicativos.Cost = valorTransporteAplicativo; comparativesAplicativos.TransporteType = eTransportOptions.TransportApp.ToString(); lsComparatives.Add(comparativesAplicativos); //Taxi Comparatives comparativesTaxi = new Comparatives(); comparativesTaxi.AddressOrigin = new Address { StreetName = cenarioSelecionado.EnderecoOrigem }; comparativesTaxi.AddressDestine = new Address { StreetName = cenarioSelecionado.EnderecoDestino }; comparativesTaxi.Duration = item.DurationValue; comparativesTaxi.Distance = item.DistanceValue; comparativesTaxi.Cost = valorTaxi; comparativesTaxi.TransporteType = eTransportOptions.Cab.ToString(); lsComparatives.Add(comparativesTaxi); //Estacionamentos Comparatives comparativesEstacionamentos = new Comparatives(); comparativesEstacionamentos.AddressOrigin = new Address { StreetName = cenarioSelecionado.EnderecoOrigem }; comparativesEstacionamentos.AddressDestine = new Address { StreetName = cenarioSelecionado.EnderecoDestino }; comparativesEstacionamentos.Duration = item.DurationValue; comparativesEstacionamentos.Distance = item.DistanceValue; comparativesEstacionamentos.Cost = valorEstacionamento; comparativesEstacionamentos.TransporteType = eTransportOptions.Driver.ToString(); lsComparatives.Add(comparativesEstacionamentos); } return(lsComparatives); } else if (cenarioOption.Option.Equals("preferenceOption")) { //Melhor opção de transporte para cada preferencia do usuario List <ePreferences> preferencias = new List <ePreferences> { ePreferences.Cost, ePreferences.Distance, ePreferences.Duration }; foreach (var prefencia in preferencias) { } return(lsComparatives); } return(null); //foreach (var cen in cenarios) //{ //Get Google maps para transporte publico //List<Options> optionsTransportePublico = await bestRoutesBusiness.GetBestRoutes(cen.EnderecoOrigem, cen.EnderecoDestino, cen.HorarioSaida, "transit"); //foreach (var optp in optionsTransportePublico) //{ // optionValues.Add(new OptionValue { TransportOptions = eTransportOptions.PublicTransportation, Value = optp.CostValue }); // optionDistance.Add(new OptionDistance { TransportOptions = eTransportOptions.PublicTransportation, Value = optp.DistanceValue }); // optionDuration.Add(new OptionDuration { TransportOptions = eTransportOptions.PublicTransportation, Value = optp.DurationValue }); //} //Get Google maps para veiculos //List<Options> optionsVeiculos = await bestRoutesBusiness.GetBestRoutes(cen.EnderecoOrigem, cen.EnderecoDestino, cen.HorarioSaida, "driving"); //Fazer estimativa de custo com aplicativos de transporte //Fazer estimativa de custo com taxi //double valorTransporteAplicativo = 0.0; //double valorTaxi = 0.0; //foreach (var opt in optionsVeiculos) //{ // valorTransporteAplicativo = transportAppBusiness.GetCosts(opt.DurationValue, opt.DistanceValue); // optionValues.Add(new OptionValue { TransportOptions = eTransportOptions.TransportApp, Value = valorTransporteAplicativo }); // optionDistance.Add(new OptionDistance { TransportOptions = eTransportOptions.TransportApp, Value = opt.DistanceValue }); // optionDuration.Add(new OptionDuration { TransportOptions = eTransportOptions.TransportApp, Value = opt.DurationValue }); // // // valorTaxi = cabBusiness.GetCosts(opt.DurationValue, opt.DistanceValue, cen.HorarioSaida); // optionValues.Add(new OptionValue { TransportOptions = eTransportOptions.Cab, Value = valorTaxi }); // optionDistance.Add(new OptionDistance { TransportOptions = eTransportOptions.Cab, Value = opt.DistanceValue }); // optionDuration.Add(new OptionDuration { TransportOptions = eTransportOptions.Cab, Value = opt.DurationValue }); //} //Buscar estacionamentos perto da localização de destino //buscar preferencias do usuario //foreach (var est in estacionamentos) //{ //} //} }
protected void btnBookingSpot_Click(object sender, EventArgs e) { Booking newBooking = new Booking(); BookingBusiness bookingBusiness = new BookingBusiness(); ParkingBusiness parkingBusiness = new ParkingBusiness(); User currentUser = (User)Session["USER"]; Vehicle bookingVehicle = new Vehicle(); ParkingSpot bookingSpot = new ParkingSpot(); ParkingLot bookingParking = new ParkingLot(); bookingSpot.IdParking = Int32.Parse(DropDownListParking.SelectedValue); bookingSpot = parkingBusiness.GetSpotForReserve(bookingSpot, (int)Session["Position"]); newBooking.IdVehicle = bookingVehicle; bookingParking.Name = DropDownListParking.SelectedItem.Text; newBooking.IdUser = currentUser; newBooking.IdParkingSpot = bookingSpot; newBooking.IdParkingLot = bookingParking; newBooking.EntryTime = DateTime.Parse(DropDownListInitialHour.SelectedValue); newBooking.ExitTime = DateTime.Parse(DropDownListFinalHour.SelectedValue); newBooking.IdVehicle.Id = DropDownListVehicleFormUser.SelectedValue.Trim(); newBooking.Date = DateTime.Today; newBooking.IdParkingSpot.Id = bookingSpot.Id; newBooking.IdParkingLot.Id = Int32.Parse(DropDownListParking.SelectedValue); if (bookingSpot.Id == 0) { } else { bookingBusiness.InsertBooking(newBooking); Session["BOOKING"] = newBooking; bookingParking = parkingBusiness.GetDimensions(bookingParking); selectedPosition = -1; bookingParking = removeSelected(Int32.Parse(DropDownListParking.SelectedValue)); Session["BOOKINGALERT"] = SendMail(newBooking); TableDesignOfNewParking = bookingBusiness.VerifySpots(bookingParking, TableDesignOfNewParking, DateTime.Parse(DropDownListInitialHour.SelectedValue), DateTime.Parse(DropDownListFinalHour.SelectedValue)); Response.Redirect("bookingdone.aspx"); } }
protected void btnAddNewParking_Click(object sender, EventArgs e) { ParkingSpot ps = new ParkingSpot(); ParkingBusiness pb = new ParkingBusiness(); ParkingLot currentParking = (ParkingLot)Session["PARKINGLOT"]; ps.IdParking = pb.AddParking(currentParking); currentParking.Id = ps.IdParking; if (ps.IdParking == -1) { LabelError.Text = "El nombre del parqueo ya existe"; } else { pb.AddParkingSpot(TableDesignOfNewParking, currentParking); } }