public async Task <IEnumerable <ExchangeRate> > GetExchangeRates(DateTime date)
        {
            using (var client = new ExchangeRatesSoapClient(ExchangeRatesSoapClient.EndpointConfiguration.ExchangeRatesSoap, webServiceUrl))
            {
                var soapResult = await client.getExchangeRatesByDateAsync(new LbExchangeRates.getExchangeRatesByDateRequest(date.Date.ToString("yyyy-MM-dd HH:mm:ss")));

                var exchangeRateElements = soapResult.getExchangeRatesByDateResult.Elements();
                var exchangeRates        = exchangeRateElements.Select(v => new ExchangeRate()
                {
                    Date     = Convert.ToDateTime(v.Element("date").Value),
                    Currency = v.Element("currency").Value,
                    Quantity = Convert.ToInt32(v.Element("quantity").Value),
                    Rate     = Convert.ToDecimal(v.Element("rate").Value),
                    Unit     = v.Element("unit").Value
                });
                return(exchangeRates);
            }
        }
        public async Task <IActionResult> GetExchangeRates(RegisterDate model)
        {
            if (ModelState.IsValid)
            {
                if (model.Date > new DateTime(2014, 01, 01))
                {
                    TempData["MsgChangeStatus"] = "Date should be up to 2014-01-01!";
                    return(View("Index"));
                }
                var client   = new ExchangeRatesSoapClient(ExchangeRatesSoapClient.EndpointConfiguration.ExchangeRatesSoap);
                var response = await client.getExchangeRatesByDate_XmlStringAsync(model.Date.ToString("MMMM dd, yyyy"));

                var itemsList = _itemService.ParseXmlNode(response);
                _itemService.SortByRate(itemsList);

                return(View(itemsList));
            }
            else
            {
                TempData["MsgChangeStatus"] = "Date is invalid!";
                return(View("Index"));
            }
        }
        private async Task <List <CurrencyItem> > GetFromSoap(string date)
        {
            var client = new ExchangeRatesSoapClient(EndpointConfiguration.ExchangeRatesSoap);

            var response = await client.getExchangeRatesByDateAsync(date);

            var resultList = new List <CurrencyItem>();

            foreach (XmlNode item in response.ChildNodes)
            {
                var tempCurrencyItem = new CurrencyItem()
                {
                    Currency = item["currency"].InnerText,
                    Quantity = Convert.ToInt32(item["quantity"].InnerText),
                    Rate     = double.Parse(item["rate"].InnerText, System.Globalization.CultureInfo.InvariantCulture)
                };

                resultList.Add(tempCurrencyItem);
            }
            ;

            return(resultList);
        }
Ejemplo n.º 4
0
 public ExchangeRatesSoapClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) :
     base(ExchangeRatesSoapClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress)
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
Ejemplo n.º 5
0
 public ExchangeRatesSoapClient(EndpointConfiguration endpointConfiguration) :
     base(ExchangeRatesSoapClient.GetBindingForEndpoint(endpointConfiguration), ExchangeRatesSoapClient.GetEndpointAddress(endpointConfiguration))
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }