Пример #1
0
        public async Task <ReisPrijs> GetPrijs(PlannerSearch search)
        {
            string query = string.Format("from={0}&to={1}", search.VanStation.Code, search.NaarStation.Code);

            if (search.ViaStation != null)
            {
                query += "&via=" + search.ViaStation.Code;
            }


            Uri        address   = new Uri(string.Format(NSApi.BaseUrl + "/ns-api-prijzen-v2?{0}&a={1}", query, DateTime.Now.Ticks), UriKind.Absolute);
            HttpClient webclient = new HttpClient();
            //webclient.Credentials = new NetworkCredential(NSApi.Login, NSApi.Password);

            string response = await webclient.GetStringAsync(address);

            XElement prijzenXmlElement = XElement.Parse(response);

            ReisPrijs prijs = new ReisPrijs();

            //Get enkele reis
            var enkel = prijzenXmlElement.Descendants("Product")
                        .Where(x => x.Attribute("naam") != null && x.Attribute("naam").Value == "Enkele reis")
                        .FirstOrDefault();

            if (enkel != null)
            {
                prijs.Enkel_1_Vol = GetPrijsValue(enkel, "1", "vol tarief");
                prijs.Enkel_1_20  = GetPrijsValue(enkel, "1", "reductie_20");
                prijs.Enkel_1_40  = GetPrijsValue(enkel, "1", "reductie_40");

                prijs.Enkel_2_Vol = GetPrijsValue(enkel, "2", "vol tarief");
                prijs.Enkel_2_20  = GetPrijsValue(enkel, "2", "reductie_20");
                prijs.Enkel_2_40  = GetPrijsValue(enkel, "2", "reductie_40");
            }


            //Get Retour
            var retour = prijzenXmlElement.Descendants("Product")
                         .Where(x => x.Attribute("naam") != null && x.Attribute("naam").Value == "Dagretour")
                         .FirstOrDefault();

            if (retour != null)
            {
                prijs.Dag_1_Vol = GetPrijsValue(retour, "1", "vol tarief");
                prijs.Dag_1_20  = GetPrijsValue(retour, "1", "reductie_20");
                prijs.Dag_1_40  = GetPrijsValue(retour, "1", "reductie_40");

                prijs.Dag_2_Vol = GetPrijsValue(retour, "2", "vol tarief");
                prijs.Dag_2_20  = GetPrijsValue(retour, "2", "reductie_20");
                prijs.Dag_2_40  = GetPrijsValue(retour, "2", "reductie_40");
            }


            return(prijs);
        }
        private async Task GetPrijs(PlannerSearch search)
        {
            ReisPrijs result = await PrijsLoader.LoadAsync(() => JsonCache.GetAsync(search.GetUniquePriceId(), () => _prijsService.GetPrijs(search)));

            this.Prijs = result;
        }
        private async Task GetPrijs(PlannerSearch search)
        {
            ReisPrijs result = await PrijsLoader.LoadAsync(() => _prijsService.GetPrijs(search));

            this.Prijs = result;
        }