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);
        }
示例#2
0
        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);
            }
        }
示例#4
0
        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);
            }
        }
示例#7
0
        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);
     }
 }
示例#9
0
        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);
        }
示例#10
0
        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;
            }
        }
示例#12
0
        public VerificationResponsePage(TaxiAutorization parameter)
        {
            InitializeComponent();

            BindingContext = viewModel = new VerificationResponseViewModel(parameter);
        }