TaxiAutorization From(IDataReader rd) { TaxiAutorization taxi = new TaxiAutorization(); Func <object, string> empty = (rec) => { if (rec == null) { return(""); } if (rec == DBNull.Value) { return(""); } string value = rec.ToString(); if (string.IsNullOrWhiteSpace(value)) { return(""); } return(value); }; taxi = new TaxiAutorization(); taxi.Location = City.FromName("Cluj"); taxi.NumberAutorization = empty(rd["Nr. autoriz. TAXI "]); taxi.State = LicenceState.Valid; taxi.PersonLicensedTo = new Licensee(); taxi.PersonLicensedTo.Name = empty(rd["Transportator autorizat"]); taxi.CarLicensed = new Car(); taxi.CarLicensed.PlateNumber = empty(rd[" Nr. auto "]); return(taxi); }
TaxiAutorization From(IDataReader rd) { TaxiAutorization taxi = new TaxiAutorization(); Func <object, string> empty = (rec) => { if (rec == null) { return(""); } if (rec == DBNull.Value) { return(""); } string value = rec.ToString(); if (string.IsNullOrWhiteSpace(value)) { return(""); } return(value); }; taxi = new TaxiAutorization(); taxi.Location = City.FromName("Roman"); taxi.NumberAutorization = empty(rd["Nr. aut. Taxi"]); taxi.State = LicenceState.Valid; taxi.PersonLicensedTo = new Licensee(); taxi.PersonLicensedTo.Name = empty(rd["Denumirea"]); taxi.CarLicensed = new Car(); taxi.CarLicensed.PlateNumber = empty(rd["Numar de inmatriculare"]); return(taxi); }
public async Task <TaxiAutorizations> TaxiFromPlateSqliteAll() { var all = new TaxiAutorizations(); using (var con = new SqliteConnection()) { con.ConnectionString = "Data Source=taxis.sqlite3;"; //con.ConnectionString = "taxis.sqlite3"; await con.OpenAsync(); TaxiAutorization taxi = null; using (var cmd = con.CreateCommand()) { cmd.CommandText = "select * from cluj"; using (var rd = await cmd.ExecuteReaderAsync()) { while (await rd.ReadAsync()) { // just first record taxi = From(rd); all.Add(taxi); } } } return(all); } }
public async Task <TaxiAutorization> TaxiFromPlateSqlite(string plateNumber) { if (string.IsNullOrWhiteSpace(plateNumber)) { return(null); } plateNumber = plateNumber.ToLower(); using (var con = new SqliteConnection()) { con.ConnectionString = "Data Source=taxis.sqlite3;"; await con.OpenAsync(); TaxiAutorization taxi = null; using (var cmd = con.CreateCommand()) { cmd.CommandText = "select * from roman where lower([Numar de inmatriculare])=@plate"; cmd.Parameters.AddWithValue("@plate", plateNumber); using (var rd = await cmd.ExecuteReaderAsync()) { while (await rd.ReadAsync()) { // just first record if (taxi != null) { break; } taxi = From(rd); } } } return(taxi); } }
public async Task <TaxiAutorization> SendPictureBase64(string base64Picture) { try { using (var client = new HttpClient()) { var url = new Uri($"{BaseUrl}/api/taxi/GetFromPicture"); var content = new StringContent(base64Picture, Encoding.UTF8); var response = await client.PostAsync(url, content); string resultContent = await response.Content.ReadAsStringAsync(); TaxiAutorization taxiAutorization = JsonConvert.DeserializeObject <TaxiAutorization>(resultContent); if (response.StatusCode == System.Net.HttpStatusCode.NoContent) { return(null); } return(taxiAutorization); } } catch (Exception ex) { return(null); } }
public async Task <TaxiAutorization> SendNumber(string plateNumber) { try { using (var client = new HttpClient()) { var url = new Uri($"{BaseUrl}/api/taxi/GetTaxi?plateNumber={plateNumber}"); var response = await client.GetAsync(url); string resultContent = await response.Content.ReadAsStringAsync(); TaxiAutorization taxiAutorization = JsonConvert.DeserializeObject <TaxiAutorization>(resultContent); if (response.StatusCode == System.Net.HttpStatusCode.NoContent) { return(null); } return(taxiAutorization); } } catch (Exception ex) { return(null); } }
public async Task <TaxiAutorization> TaxiFromPlateSqlite(string plateNumber) { if (string.IsNullOrWhiteSpace(plateNumber)) { return(null); } plateNumber = plateNumber.Trim().Replace(" ", "").Replace("-", ""); if (plateNumber.Length < 3) { return(null); } TaxiAutorization ret = null; Dictionary <string, ILoadTaxis> all = new Dictionary <string, ILoadTaxis>(); all.Add("BC", new LoadBacauTaxis()); all.Add("B", new LoadBucarestTaxis()); all.Add("CJ", new LoadClujTaxis()); all.Add("NT", new LoadRoman()); all.Add("TM", new LoadTimisoaraTaxis()); string county = plateNumber.Substring(0, 2).ToUpper(); if (all.ContainsKey(county)) { ret = await all[county].TaxiFromPlateSqlite(plateNumber); } if (ret != null) { return(ret); } //BUCURESTI county = plateNumber.Substring(0, 1).ToUpper(); if (all.ContainsKey(county)) { ret = await all[county].TaxiFromPlateSqlite(plateNumber); } if (ret != null) { return(ret); } //search all one by one - not sure if sqlite supports threading foreach (var item in all) { ret = await item.Value.TaxiFromPlateSqlite(plateNumber); if (ret != null) { return(ret); } } return(ret); }
private void GoToNextPage(TaxiAutorization taxiAutorization) { if (taxiAutorization == null) { App.Locator.NavigationService.NavigateTo(Locator.VerificationResponsePage, null); } else { // MessagingCenter.Send(this, "Transition", TransitionType.Scale); App.Locator.NavigationService.NavigateTo(Locator.VerificationResponsePage, taxiAutorization); } }
private TaxiAutorization FromBucarestCSV(BucarestCSV bucarestLine) { if (bucarestLine == null) { return(null); } var city = City.FromName("Bucuresti"); var taxi = new TaxiAutorization(); taxi.Location = city; taxi.NumberAutorization = bucarestLine.NrAutTaxi; taxi.OtherDetails = bucarestLine.Observatii; var state = bucarestLine.StareAutTaxi; switch (state) { case var s when s.Contains("NEVALIDA"): taxi.State = LicenceState.NotValid; break; case var s when s.Contains("VALIDA"): taxi.State = LicenceState.Valid; break; case var s when s.Contains("ANALIZA"): taxi.State = LicenceState.ToBeAnalyzed; break; default: taxi.State = LicenceState.Unknown; break; } var car = new Car(); car.ManufacturingDate = bucarestLine.AnFabricatieAuto; car.Name = bucarestLine.MarcaAuto; car.PlateNumber = bucarestLine.NrInmatriculareAuto; taxi.CarLicensed = car; taxi.PersonLicensedTo = new Licensee() { Name = bucarestLine.NumeTransportator }; return(taxi); }
public VerificationResponseViewModel(TaxiAutorization taxiAutorization) { try { if (taxiAutorization == null) { responseText = "Taxiul nu a fost gasit."; ImageSource = "#708090"; DriverName = "Verificati orasele disponibile "; Car = "in sectiunea info."; } else { switch (taxiAutorization.State) { case LicenceState.Valid: responseText = "Taxiul este valid"; ImageSource = "#3CB371"; DriverName = taxiAutorization.PersonLicensedTo.Name; Car = taxiAutorization.CarLicensed.Name + " - " + taxiAutorization.CarLicensed.ManufacturingDate.ToString(); break; case LicenceState.NotValid: responseText = "Taxiul nu este valid"; ImageSource = "#B22222"; break; case LicenceState.ToBeAnalyzed: responseText = "Taxiul nu este valid"; ImageSource = "#B22222"; break; default: responseText = "Taxiul nu a fost gasit.Verificati orasele disponibile."; ImageSource = "#FFD700"; DriverName = "Verificati orasele disponibile."; break; } } } catch (Exception exv) { } }
private async Task Send() { if (IsBusy) { return; } if (string.IsNullOrEmpty(plateNumber)) { return; } try { IsBusy = true; Message = "Searching..."; plateNumber = plateNumber.Replace(" ", ""); plateNumber = plateNumber.Replace("-", ""); TaxiAutorization taxiAutorization = null; // if (!string.IsNullOrEmpty(plateNumber)) taxiAutorization = await _senderService.SendNumber(plateNumber); // else if (ImageBytes != null) // taxiAutorization = await _senderService.SendPictureBase64(Convert.ToBase64String(ImageBytes)); GoToNextPage(taxiAutorization); } catch (Exception ex) { ; } finally { IsBusy = false; Message = string.Empty; } }
public VerificationResponsePage(TaxiAutorization parameter) { InitializeComponent(); BindingContext = viewModel = new VerificationResponseViewModel(parameter); }