예제 #1
0
        public decimal CalculatePrice(string parkingCNPJ, TimeSpan startTime, TimeSpan endTime)
        {
            if (startTime > endTime)
            {
                throw new ArgumentException("startTime cannot be greater than endtime");
            }

            Parking parking = Parkings.Find(parkingCNPJ);

            if (parking == null)
            {
                throw new ArgumentException("No parking with the provided CNPJ");
            }

            Price price = parking.Prices.SingleOrDefault(p => p.StartTime <= startTime && p.EndTime >= endTime && !p.IsDefault);

            if (price == null)
            {
                price = parking.Prices.SingleOrDefault(p => p.IsDefault);

                if (price == null)
                {
                    price = new Price {
                        Value = 3.00m
                    };
                }
            }

            decimal priceValue = price.Value * Convert.ToDecimal((endTime - startTime).TotalHours);

            return(priceValue);
        }
예제 #2
0
        public void callParkingAPI()
        {
            var response = new HttpClient().GetStringAsync(_parkUrl).Result;

            //var jsonResponse = await response;
            parkings = JsonConvert.DeserializeObject <Parkings>(response);
        }
예제 #3
0
        public async void GetMyOwnParking()
        {
            if (BaseView != null && BaseView.CheckInternetConnection())
            {
                Mvx.Resolve <IMvxMessenger>().Publish(new ProgressMessage(this, true));
                var results = await mApiService.OwnerParkings(Mvx.Resolve <ICacheService>().CurrentUser.UserId);

                if (results != null && results.Response.Count != 0)
                {
                    Parkings.Clear();
                    foreach (var item in results.Response)
                    {
                        Parkings.Add(new OwnerParkingItemViewModel(mCacheService, this)
                        {
                            Parking = item,
                        });
                    }
                }
                Mvx.Resolve <IMvxMessenger>().Publish(new ProgressMessage(this, false));
            }
            else
            {
                Mvx.Resolve <IMvxMessenger>().Publish(new ToastMessage(this, SharedTextSource.GetText("TurnOnInternetText")));
            }
        }
예제 #4
0
        public void Navigate(string page)
        {
            switch (page)
            {
            case "Parkings":
                var parkings = new Parkings();
                ApplicationHelper.NavigationService.Navigate(parkings);
                break;

            case "Parking":
                var parking = new Parking();
                ApplicationHelper.NavigationService.Navigate(parking);
                break;

            case "Home":
                var home = new Home();
                ApplicationHelper.NavigationService.Navigate(home);
                break;

            case "Reserveren":
                var reserveren = new Reserveren();
                ApplicationHelper.NavigationService.Navigate(reserveren);
                break;

            case "Statistiek":
                var statistiek = new Statistiek();
                ApplicationHelper.NavigationService.Navigate(statistiek);
                break;

            default:
                break;
            }
        }
예제 #5
0
파일: WebScript.cs 프로젝트: hspens/Spark
    IEnumerator StartShow(WWW www)
    {
        yield return(www);

        // check for errors
        if (www.error == null)
        {
            Debug.Log("WWW Ok!: " + www.text);

            // JsonUtility can't parse top-level arrays.
            // Need to have a wrapper class
            string        json         = "{\"parkings\": " + www.text + "}";
            Parkings      parkingsInfo = Parkings.CreateFromJSON(json);
            ParkingInfo[] parkings     = parkingsInfo.parkings;
            // The app is only for one node atm...
            // Therefore, only look at first node
            SensorInfo[] sensors = parkings[lotNumber].sensors;
            GameObject   sensorObject;
            foreach (SensorInfo sensor in sensors)
            {
                sensorNumber = sensor.id + 4 * (sensor.node - 1);
                sensorObject = GameObject.Find("Sensor " + sensorNumber.ToString());
                sensorObject.GetComponent <MeshRenderer>().enabled = true;
            }
        }
        else
        {
            Debug.Log("WWW Error: " + www.error);
        }
    }
 private void ClearRoutes(bool clearParcing = true)
 {
     _routesModel = new RoutesModel();
     DispatherThreadRun(delegate
     {
         Route.Clear();
         WarningRoute.Clear();
         ErrorRoute.Clear();
         if (clearParcing)
         {
             Parkings.Clear();
         }
     });
 }
예제 #7
0
파일: WebScript.cs 프로젝트: hspens/Spark
    IEnumerator WaitForRequest(WWW www)
    {
        yield return(www);

        // check for errors
        if (www.error == null)
        {
            Debug.Log("WWW Ok!: " + www.text);

            // JsonUtility can't parse top-level arrays.
            // Need to have a wrapper class
            string        json         = "{\"parkings\": " + www.text + "}";
            Parkings      parkingsInfo = Parkings.CreateFromJSON(json);
            ParkingInfo[] parkings     = parkingsInfo.parkings;
            // The app is only for one node atm...
            // Therefore, only look at first node
            SensorInfo[] sensors = parkings[lotNumber].sensors;

            free          = 0;
            parkingSpaces = 0;
            GameObject sensorObject;
            foreach (SensorInfo sensor in sensors)
            {
                sensorNumber = sensor.id + 4 * (sensor.node - 1);
                sensorObject = GameObject.Find("Sensor " + sensorNumber.ToString());
                ChangeColor(sensorObject, sensor.occupied, sensor.faulty);
                if (!sensor.occupied)
                {
                    free++;
                }
                parkingSpaces++;
                // Save statuses
            }
            uiText.text = "Free spaces [ " + free.ToString() + "/" + parkingSpaces.ToString() + " ]";
        }
        else
        {
            Debug.Log("WWW Error: " + www.error);
        }
    }
예제 #8
0
 public void Calc()
 {
     Places        = Parkings.Sum(p => p.Places);
     InvalidPlaces = Parkings.Sum(p => p.InvalidPlaces);
 }
예제 #9
0
    IEnumerator WaitForRequest(WWW www)
    {
        yield return(www);

        // check for errors
        if (www.error == null)
        {
            thisThing.gameObject.SetActive(true);
            errorCanvas.gameObject.SetActive(false);
            Debug.Log("WWW Ok!: " + www.text);
            StartCoroutine(gpsServices());

            // JsonUtility can't parse top-level arrays.
            // Need to have a wrapper class
            string   json     = "{\"parkings\": " + www.text + "}";
            Parkings Parkings = Parkings.CreateFromJSON(json);
            parkLat  = Parkings.parkings[0].lat;
            parkLong = Parkings.parkings[0].lng;
            // The app is only for one node atm...
            // Therefore, only look at first node
            SensorInfo[] sensors = Parkings.parkings[0].sensors;

            Debug.Log(
                sensors[0] + "," +
                sensors[1] + "," +
                sensors[2] + "," +
                sensors[3]
                );

            int free;
            for (int i = 0; i < distVec.Length; i++)
            {
                Button button = buttonArr[i];
                button.transform.position = new Vector3(screenWidth / 2, (5 - i) *
                                                        (screenHeight - 250) / 6 + (screenHeight - 250) / 12, 0);
                free = 0;
                for (int p = 0; p < Parkings.parkings[i].sensors.Length; p++)
                {
                    if (!Parkings.parkings[i].sensors[p].occupied)
                    {
                        free++;
                    }
                }
                button.GetComponentInChildren <Text>().text = "Parking at " +
                                                              Parkings.parkings[i].name + ", Distance: " + (int)distVec[i] +
                                                              "m, Free: [" + free + "/" + Parkings.parkings[i].sensors.Length + "]";
                AddListener(button, Parkings.parkings[i].name, parkingIndex[i]);
                button.gameObject.SetActive(true);
            }

            for (int i = distVec.Length; i < buttonArr.Length; i++)
            {
                Button button = buttonArr[i];
                button.GetComponentInChildren <Text>().text = "Test button nr " + ((i - distVec.Length) + 1);
                button.gameObject.SetActive(true);
            }
        }
        else
        {
            Debug.Log("WWW Error: " + www.error);
            thisThing.gameObject.SetActive(false);
            errorCanvas.gameObject.SetActive(true);
        }
    }