Beispiel #1
0
        public Form1()
        {
            InitializeComponent();

            var mnbService = new MNBArfolyamServiceSoapClient();
            var request    = new GetCurrenciesRequestBody()
            {
            };
            var response       = mnbService.GetCurrencies(request);
            var currencyresult = response.GetCurrenciesResult;

            var xml = new XmlDocument();

            xml.LoadXml(currencyresult);
            foreach (XmlElement element in xml.DocumentElement)
            {
                foreach (XmlNode item in element)
                {
                    var curr = item.InnerText;
                    Currencies.Add(curr);
                }
            }
            comboBox1.DataSource   = Currencies;
            comboBox1.SelectedItem = "EUR";
            RefreshData();
        }
Beispiel #2
0
        private async void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                using (MNBArfolyamServiceSoapClient client2 = new MNBArfolyamServiceSoapClient())
                {
                    dloadpanel.Visibility = Visibility.Visible;

                    var response = await client2.GetCurrentExchangeRatesAsync(new GetCurrentExchangeRatesRequestBody());

                    var xml = response.GetCurrentExchangeRatesResponse1;

                    var doc = XDocument.Parse(xml.GetCurrentExchangeRatesResult);

                    foreach (var item in doc.Elements().Elements().Elements())
                    {
                        _rates.Add(item.Attribute("curr").Value, Convert.ToDouble(item.Value));
                    }
                }
            }
            catch (Exception ex)
            {
                MainWindow.ErrorDialog(ex.Message);
            }
            finally
            {
                dloadpanel.Visibility = Visibility.Collapsed;
                _rates.Add("HUF", 1);
                var odered = _rates.Keys.OrderBy(i => i);
                CbSource.ItemsSource        = odered;
                CbDestination.ItemsSource   = odered;
                CbDestination.SelectedIndex = odered.FirstIndexOf(i => i == "HUF");
            }
        }
Beispiel #3
0
        public void GetCurrentExchangeRates()
        {
            var mnbService = new MNBArfolyamServiceSoapClient();
            var request    = new GetCurrentExchangeRatesRequestBody();
            var response   = mnbService.GetCurrentExchangeRates(request);
            var result     = response.GetCurrentExchangeRatesResult;

            var xml = new XmlDocument();

            xml.LoadXml(result);

            foreach (XmlElement element in xml.DocumentElement)
            {
                //DocumentElement - MNBCurrentExchangeRates
                //element         - Day (has only 1 attribute (current date))
                // element childNodes - Rate (every Rate is a node with attributes )

                foreach (XmlElement item in element.ChildNodes)
                {
                    var rate = new RateData();
                    Rates.Add(rate);

                    rate.Currency = item.GetAttribute("curr");

                    var unit  = decimal.Parse(item.GetAttribute("unit"));
                    var value = decimal.Parse(item.InnerText.ToString().Replace(',', '.')); //default separator conflict
                    if (unit != 0)
                    {
                        rate.Value = value / unit;
                    }
                }
            }
        }
        private async void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                using (MNBArfolyamServiceSoapClient client2 = new MNBArfolyamServiceSoapClient())
                {
                    dloadpanel.Visibility = Visibility.Visible;

                    var response = await client2.GetCurrentExchangeRatesAsync(new GetCurrentExchangeRatesRequestBody());
                    var xml = response.GetCurrentExchangeRatesResponse1;

                    var doc = XDocument.Parse(xml.GetCurrentExchangeRatesResult);

                    foreach (var item in doc.Elements().Elements().Elements())
                    {
                        _rates.Add(item.Attribute("curr").Value, Convert.ToDouble(item.Value));
                    }
                }
            }
            catch (Exception ex)
            {
                MainWindow.ErrorDialog(ex.Message);
            }
            finally
            {
                dloadpanel.Visibility = Visibility.Collapsed;
                _rates.Add("HUF", 1);
                CbSource.ItemsSource = _rates.Keys.OrderBy(i => i);
                CbDestination.ItemsSource = _rates.Keys.OrderBy(i => i);

            }
        }
Beispiel #5
0
        private void GetCurr()
        {
            var mnbService  = new MNBArfolyamServiceSoapClient();
            var currRequest = new GetCurrenciesRequestBody()
            {
            };
            var currResponse = mnbService.GetCurrencies(currRequest);
            var currResult   = currResponse.GetCurrenciesResult;

            var currXml = new XmlDocument();

            currXml.LoadXml(currResult);

            foreach (XmlElement element in currXml.DocumentElement)
            {
                for (int i = 0; i < element.InnerText.Length / 3; i++)
                {
                    string currency;
                    var    currChildElement = (XmlElement)element.ChildNodes[i];
                    currency = currChildElement.InnerText.ToString();
                    CurrenciesInput.Add(currency);
                    CurrenciesOutput.Add(currency);
                }
            }
        }
Beispiel #6
0
 private void MNBRibbon_Load(object sender, RibbonUIEventArgs e)
 {
     _mnbService         = new MNBArfolyamServiceSoapClient();
     _operatorService    = new OperatorService();
     _logDatabaseDataSet = new LogDatabaseDataSet();
     _logTableAdapter    = new LogTableAdapter();
     _logTableAdapter.Fill(_logDatabaseDataSet.Log);
     _logBindingSource = new BindingSource();
 }
Beispiel #7
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            client = new MNBArfolyamServiceSoapClient();
            string result = client.GetInfo();

            ProcessInfo(result);
            result = client.GetCurrentExchangeRates();
            ProcessRates(result);
            atvaltandoosszeg.Content = osszeg;
        }
Beispiel #8
0
 public Service(int startYear, int startMonth, int startDay, int endYear, int endMonth, int endDay)
 {
     client          = new MNBArfolyamServiceSoapClient();
     chosenCurrency  = "HUF";
     this.startYear  = startYear.ToString();
     this.startMonth = startMonth < 10 ? "0" + startMonth:startMonth.ToString();
     this.startDay   = startDay < 10 ? "0" + startDay : startDay.ToString();
     this.endYear    = endYear.ToString();
     this.endMonth   = endMonth < 10 ? "0" + endMonth : endMonth.ToString();
     this.endDay     = endDay < 10 ? "0" + endDay : endDay.ToString();
 }
Beispiel #9
0
 private void DisplayMNBServiceData() //Create client, sheet and call Fill method
 {
     try
     {
         using (MNBArfolyamServiceSoapClient soapClient = new MNBArfolyamServiceSoapClient())
         {
             Excel.Worksheet worksheet = Globals.ThisAddIn.Application.ActiveSheet;
             FillDataToExcel(worksheet, soapClient);
         }
     }
     catch (Exception ex) { MessageBox.Show(ex.ToString()); }
 }
Beispiel #10
0
        /// <summary>
        /// Aktuális árfolyam lekérdezése
        /// </summary>
        public static async Task <decimal> GetCurrentExchangeRate(string currency)
        {
            MNBArfolyamServiceSoapClient client = new MNBArfolyamServiceSoapClient();

            await client.OpenAsync();

            GetCurrentExchangeRatesResponse response = await client.GetCurrentExchangeRatesAsync(new GetCurrentExchangeRatesRequestBody());

            await client.CloseAsync();

            return(GetCurrentExchangeRateFromString(currency, response.GetCurrentExchangeRatesResponse1.GetCurrentExchangeRatesResult));
        }
        public string GetCurrentRates()
        {
            using (var client = new MNBArfolyamServiceSoapClient())
            {
                var result = client.GetCurrentExchangeRates(new GetCurrentExchangeRatesRequestBody());

                var converter = new Converter <MNBCurrentExchangeRates>();

                var subject = converter.Deserialize(result.GetCurrentExchangeRatesResult);

                return(converter.Serialize(subject));
            }
        }
Beispiel #12
0
        private void WebService()
        {
            var mnbService = new MNBArfolyamServiceSoapClient();
            var request    = new GetExchangeRatesRequestBody()
            {
                currencyNames = comboBox1.SelectedItem.ToString(),
                startDate     = dateTimePicker1.Value.ToString(),
                endDate       = dateTimePicker2.Value.ToString()
            };
            var response = mnbService.GetExchangeRates(request);

            result = response.GetExchangeRatesResult;
        }
Beispiel #13
0
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            // Upon running Excel - Open a blank new Workbook
            this.Application.Workbooks.Add();

            // Initialize the client
            var binding = new BasicHttpBinding();

            binding.MaxReceivedMessageSize = Int32.MaxValue;
            binding.MaxBufferSize          = Int32.MaxValue;
            var endpointAddress = new System.ServiceModel.EndpointAddress(MNB_ENDPOINT_ADDRESS);

            client = new MNBArfolyamServiceSoapClient(binding, endpointAddress);
        }
        static void Main(string[] args)
        {
            MNBArfolyamServiceSoapClient client = new MNBArfolyamServiceSoapClient();

            try
            {
                var resp       = client.GetCurrentExchangeRates(new GetCurrentExchangeRatesRequestBody());
                var respString = resp.GetCurrentExchangeRatesResult;
                Console.WriteLine(resp.GetCurrentExchangeRatesResult);

                XDocument xdoc = XDocument.Parse(respString);
                Console.WriteLine(xdoc);

                // megjeleníti a XML tag-ek nélkül
                var Rates = xdoc.Descendants("Rate");
                foreach (var item in Rates)
                {
                    string[] row = new string[3];
                    row[0] = item.Attribute("curr").Value;
                    row[1] = item.Attribute("unit").Value;
                    row[2] = item.Value;
                    Console.WriteLine(row[0] + row[1] + row[2]);
                }

                // Nap kinyérése az XML-ből
                var Day = xdoc.Descendants("Day");
                foreach (var item in Day)
                {
                    Console.WriteLine("Aktuális nap: {0}", item.Attribute("date").Value);
                }

                // EURÓ kinyerése az XML-ből
                var euro = xdoc.Descendants("Rate");
                foreach (var item in euro)
                {
                    if (item.Attribute("curr").Value == "EUR")
                    {
                        Console.WriteLine("Euró mai árfolyama {0}", item.Value);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            Console.ReadLine();
        }
Beispiel #15
0
        private void mnbDownload_Click(object sender, RibbonControlEventArgs e)
        {
            //Check MNB service
            if (_mnbService.State.ToString() != "Created")
            {
                _mnbService = new MNBArfolyamServiceSoapClient();
                _mnbService.Open();
            }
            //Log to the database
            LogDatabaseDataSet.LogRow newLogRow = _logDatabaseDataSet.Log.NewLogRow();
            newLogRow.Név       = Environment.UserName;
            newLogRow.TimeStamp = DateTime.Now;
            _logDatabaseDataSet.Log.Rows.Add(newLogRow);
            _logTableAdapter.Update(_logDatabaseDataSet.Log);

            //Get currencies xml and map it to its model
            GetCurrenciesResponseBody currenciesXML   = _mnbService.GetCurrencies(new GetCurrenciesRequestBody());
            MNBCurrencies             currenciesModel = (MNBCurrencies)_operatorService.XmlToModel <MNBCurrencies>(currenciesXML.GetCurrenciesResult);

            //Exchange rates query config
            GetExchangeRatesRequestBody getExchangeRatesRequestBody = new GetExchangeRatesRequestBody
            {
                startDate     = "2015.01.01.",
                endDate       = "2020.04.01.",
                currencyNames = string.Join(",", currenciesModel.Currencies)
            };
            //Get exchange rates xml and map it to its model
            GetExchangeRatesResponseBody exchangeRatesXML   = _mnbService.GetExchangeRates(getExchangeRatesRequestBody);
            MNBExchangeRates             exchangeRatesModel = (MNBExchangeRates)_operatorService.XmlToModel <MNBExchangeRates>(exchangeRatesXML.GetExchangeRatesResult);

            //Create datatable from model and import it to Excel then save it
            DataTable dataTable = _operatorService.ModelToDataTable(exchangeRatesModel, currenciesModel);
            DataSet   dataSet   = new DataSet();

            dataSet.Tables.Add(dataTable);
            _operatorService.DataSetToExcel(dataSet);

            //Format worksheet and save the workbook to the user's documents
            Excel.Worksheet activeWorksheet = Globals.ThisAddIn.Application.ActiveSheet;
            activeWorksheet.Range["A2:CV2"].NumberFormatLocal     = "";
            activeWorksheet.Range["B3:CV10000"].NumberFormatLocal = "0";
            activeWorksheet.Range["A3:A10000"].NumberFormatLocal  = "éééé\\.hh\\.nn\\.";
            string savePath = Directory.GetCurrentDirectory() + "\\arfolyam-letoltes.xlsx";

            Globals.ThisAddIn.Application.ActiveWorkbook.SaveCopyAs(savePath);

            _mnbService.Close();
        }
Beispiel #16
0
        private void RefreshData()
        {
            Rates.Clear();
            var mnbService = new MNBArfolyamServiceSoapClient();
            var request    = new GetExchangeRatesRequestBody()
            {
                currencyNames = comboBox1.SelectedItem.ToString(),
                startDate     = dateTimeStart.Value.ToString(),
                endDate       = dateTimeEnd.Value.ToString()
            };
            var response = mnbService.GetExchangeRates(request);
            var result   = response.GetExchangeRatesResult;

            newXml(result);
            dataGridView1.DataSource = Rates;
            newChart();
        }
Beispiel #17
0
        private void WebServiceCallOutput()
        {
            RatesOutput.Clear();

            var mnbServiceOutput = new MNBArfolyamServiceSoapClient();
            var requestOutput    = new GetExchangeRatesRequestBody()
            {
                currencyNames = selectedCurrencyOutput,
                //startDate = DateTime.Today.AddYears(-1).ToString(),
                //endDate = DateTime.Today.ToString()
                startDate = dateTimePicker1.Value.AddYears(-1).ToString(),
                endDate   = dateTimePicker1.Value.ToString()
            };
            var responseOutput = mnbServiceOutput.GetExchangeRates(requestOutput);

            resultOutput = responseOutput.GetExchangeRatesResult;
        }
Beispiel #18
0
        private string WebService()
        {
            var MNBservice = new MNBArfolyamServiceSoapClient();

            var request = new GetExchangeRatesRequestBody()
            {
                currencyNames = cbCurrency.SelectedItem.ToString(),
                startDate     = dtpFrom.Value.ToString(),
                endDate       = dtpTo.Value.ToString()
            };

            var response = MNBservice.GetExchangeRates(request);

            var result = response.GetExchangeRatesResult;

            return(result);
        }
Beispiel #19
0
        public void feladat3()
        {
            var mnbService = new MNBArfolyamServiceSoapClient();

            var request = new GetExchangeRatesRequestBody()
            {
                currencyNames = "EUR",
                startDate     = "2020-01-01",
                endDate       = "2020-06-30"
            };


            var response = mnbService.GetExchangeRates(request);


            var result = response.GetExchangeRatesResult;
        }
Beispiel #20
0
        private void GER()
        {
            var mnbService = new MNBArfolyamServiceSoapClient();

            foreach (var item in cv)
            {
                var request = new GetExchangeRatesRequestBody()
                {
                    currencyNames = item,
                    startDate     = DateTime.Today.AddDays(-29).ToString("yyyy-MM-dd"),
                    endDate       = DateTime.Today.ToString("yyyy-MM-dd")
                };



                var response = mnbService.GetExchangeRates(request);

                var result = response.GetExchangeRatesResult;

                var xml = new XmlDocument();
                xml.LoadXml(result);

                foreach (XmlElement element in xml.DocumentElement)
                {
                    var valuta = new Valuta();
                    Arfolyamok.Add(valuta);

                    valuta.Date = DateTime.Parse(element.GetAttribute("date"));

                    var childElement = (XmlElement)element.ChildNodes[0];
                    if (childElement == null)
                    {
                        continue;
                    }
                    valuta.Currency = childElement.GetAttribute("curr");

                    var unit  = decimal.Parse(childElement.GetAttribute("unit"));
                    var value = decimal.Parse(childElement.InnerText);
                    if (unit != 0)
                    {
                        valuta.Value = value / unit;
                    }
                }
            }
        }
Beispiel #21
0
        private void CurrencyList()
        {
            var MNBservice = new MNBArfolyamServiceSoapClient();
            var request    = new GetCurrenciesRequestBody();
            var response   = MNBservice.GetCurrencies(request);
            var result     = response.GetCurrenciesResult;

            var xml = new XmlDocument();

            xml.LoadXml(result);
            foreach (XmlElement element in xml.DocumentElement.ChildNodes[0])
            {
                var currency = element.InnerText;
                Currencies.Add(currency);
            }

            cbCurrency.DataSource = Currencies;
        }
Beispiel #22
0
        private static void Main(string[] args)
        {
            MNBArfolyamServiceSoapClient client = new MNBArfolyamServiceSoapClient();
            String currentExchangeRates = client.GetCurrentExchangeRates();
            XDocument doc = XDocument.Parse(currentExchangeRates);
            // Console.WriteLine(doc.ToString());
            XElement currentDay = doc.Root.Descendants("Day").First();
            // Console.WriteLine(currentDay.ToString());
            XElement eurEchangeRate = currentDay.Descendants("Rate").Where(x => ((String)x.Attribute("curr")).Equals("EUR") ).First();
            // Console.WriteLine(eurEchangeRate.ToString());
            double eur2huf = Double.Parse(eurEchangeRate.Value);
            Console.WriteLine("EUR 2 HUF: " + eur2huf);
            String value = doc.Root.Descendants("Rate").Where(x => ((String)x.Attribute("curr")).Equals("EUR")).First().Value;
            Console.WriteLine("EUR 2 HUF: " + value);

            String demo = client.GetExchangeRates("2004-07-14", "2004-07-16", "EUR,USD");
            XDocument docDemo = XDocument.Parse(demo);
            Console.WriteLine(docDemo.ToString());
        }
Beispiel #23
0
        private void fv()
        {
            BindingList <Money> moneydata = new BindingList <Money>();

            moneydata.Clear();

            dataGridView1.DataSource = moneydata;

            var valuta = new MNBArfolyamServiceSoapClient();

            var inquiry = new GetExchangeRatesRequestBody()
            {
                currencyNames = comboBox1.SelectedItem.ToString(),
                startDate     = dateTimePicker1.Value.ToString(),
                endDate       = dateTimePicker2.Value.ToString()
            };

            var feedback = valuta.GetExchangeRates(inquiry);

            var end = feedback.GetExchangeRatesResult;

            var xml = new XmlDocument();

            xml.LoadXml(end);

            foreach (XmlElement item in xml.DocumentElement)
            {
                var money = new Money();
                moneydata.Add(money);

                money.Date = DateTime.Parse(item.GetAttribute("date"));

                var childElement = (XmlElement)item.ChildNodes[0];
                money.Currency = childElement.GetAttribute("curr");

                var unit  = decimal.Parse(childElement.GetAttribute("unit"));
                var value = decimal.Parse(childElement.InnerText);
                if (unit != 0)
                {
                    money.Value = value / unit;
                }
            }
        }
Beispiel #24
0
        private void RefreshData()
        {
            Rates.Clear();

            var mnbService = new MNBArfolyamServiceSoapClient();
            var request    = new GetExchangeRatesRequestBody()
            {
                currencyNames = (comboBox1.SelectedItem).ToString(),
                startDate     = (dateTimePicker1.Value).ToString(),
                endDate       = (dateTimePicker2.Value).ToString()
            };

            var response = mnbService.GetExchangeRates(request);
            var result   = response.GetExchangeRatesResult;

            var xml = new XmlDocument();

            xml.LoadXml(result);

            foreach (XmlElement element in xml.DocumentElement)
            {
                var rate = new RateData();
                Rates.Add(rate);


                rate.Date = DateTime.Parse(element.GetAttribute("date"));

                var childElement = (XmlElement)element.ChildNodes[0];
                rate.Currency = childElement.GetAttribute("curr");

                var unit  = decimal.Parse(childElement.GetAttribute("unit"));
                var value = decimal.Parse(childElement.InnerText);
                if (unit != 0)
                {
                    rate.Value = value / unit;
                }
            }
            //comboBox1.DataSource = Currencies;
            dataGridView1.DataSource = Rates;
        }
Beispiel #25
0
        private void GetCurrencies()
        {
            var mnbService = new MNBArfolyamServiceSoapClient();

            var request = new GetCurrenciesRequestBody();

            var response = mnbService.GetCurrencies(request);
            var result   = response.GetCurrenciesResult;

            var xml = new XmlDocument();

            xml.LoadXml(result);

            foreach (XmlElement element in xml.DocumentElement)
            {
                var rate = new RateData();
                Rates.Add(rate);

                var childElement = (XmlElement)element.ChildNodes[0];
                rate.Currency = childElement.GetAttribute("curr");
            }
        }
Beispiel #26
0
        private void getExchangeRates()
        {
            var mnbService = new MNBArfolyamServiceSoapClient();
            var request    = new GetCurrenciesRequestBody()
            {
            };
            var response = mnbService.GetCurrencies(request);
            var result   = response.GetCurrenciesResult;
            var xml      = new XmlDocument();

            xml.LoadXml(result);
            int sorszam = 0;                                           //ha ide 3-at írnék, akkor a HUF-t be se olvassa

            while (sorszam + 2 < xml.DocumentElement.InnerText.Length) //data-nál alkalmazott foreach csak egy elemet számít, HUF után kiugrik a ciklusból, ez végigmegy a teljes listán, még ha nem is szép megoldás
            {
                string curr;
                curr = (xml.DocumentElement.InnerText[sorszam]).ToString() + (xml.DocumentElement.InnerText[sorszam + 1]).ToString() + (xml.DocumentElement.InnerText[sorszam + 2]).ToString();
                Currencies.Add(curr);
                sorszam += 3;
            }
            comboBox1.DataSource = Currencies;
        }
        private async Task <IList <CurrencyRate> > UpdateRates()
        {
            using (MNBArfolyamServiceSoapClient client = new MNBArfolyamServiceSoapClient(new BasicHttpBinding(), new EndpointAddress("http://www.mnb.hu/arfolyamok.asmx")))
            {
                var respone = await client.GetCurrentExchangeRatesAsync(new GetCurrentExchangeRatesRequestBody());

                var                 current = respone.GetCurrentExchangeRatesResponse1.GetCurrentExchangeRatesResult;
                XDocument           xml     = XDocument.Parse(current);
                List <CurrencyRate> result  = new List <CurrencyRate>();
                foreach (var rate in xml.Descendants("Rate"))
                {
                    var parsed = new CurrencyRate
                    {
                        CurrencyCode  = rate.Attribute("curr").Value,
                        Unit          = Convert.ToDecimal(rate.Attribute("unit").Value, new CultureInfo("hu-HU")),
                        ValueInForint = Convert.ToDecimal(rate.Value, new CultureInfo("hu-HU")),
                    };
                    result.Add(parsed);
                }
                return(result);
            }
        }
Beispiel #28
0
        private void CreateWebService()
        {
            var webService = new MNBArfolyamServiceSoapClient();
            //MNBArfolyamServiceSoapClient osztály példányosítása

            var beertek = new GetExchangeRatesRequestBody()
            {
                currencyNames = "DKK",
                startDate     = "2019-12-31",
                endDate       = "2020-12-31"
            };
            var visszaertek = webService.GetExchangeRates(beertek);
            var vegertek    = visszaertek.GetExchangeRatesResult;
            //vegertek string!!!

            var xml = new XmlDocument();

            xml.LoadXml(vegertek);
            foreach (XmlElement element in xml.DocumentElement)
            {
                var jelenarfolyam = new Arfolyam();
                Arfolyamok.Add(jelenarfolyam);

                jelenarfolyam.dátum = DateTime.Parse(element.GetAttribute("date"));

                var childElement = (XmlElement)element.ChildNodes[0];

                jelenarfolyam.valuta = childElement.GetAttribute("curr");

                var unit  = decimal.Parse(childElement.GetAttribute("unit"));
                var value = decimal.Parse(childElement.InnerText);
                if (unit != 0)
                {
                    jelenarfolyam.érték = value / unit;
                }
                {
                }
            }
        }
Beispiel #29
0
        private void GetExchangeRates()
        {
            var mnbService = new MNBArfolyamServiceSoapClient();

            var request = new GetExchangeRatesRequestBody()
            {
                currencyNames = comboBox1.SelectedItem.ToString(),
                startDate     = dateTimePicker1.Value.ToString(),
                endDate       = dateTimePicker2.Value.ToString()
            };
            var response = mnbService.GetExchangeRates(request);

            var result = response.GetExchangeRatesResult;

            var xml = new XmlDocument();

            xml.LoadXml(result);

            foreach (XmlElement element in xml.DocumentElement)
            {
                // Létrehozzuk az adatsort és rögtön hozzáadjuk a listához
                // Mivel ez egy referencia típusú változó, megtehetjük, hogy előbb adjuk a listához és csak később töltjük fel a tulajdonságait
                var rate = new RateData();
                Rates.Add(rate);

                // Dátum
                rate.Date = DateTime.Parse(element.GetAttribute("date"));

                // Valuta
                var childElement = (XmlElement)element.ChildNodes[0];

                if (childElement == null)
                {
                    continue;
                }

                rate.Currency = childElement.GetAttribute("curr");

                // Érték
                var unit  = decimal.Parse(childElement.GetAttribute("unit"));
                var value = decimal.Parse(childElement.InnerText);
                if (unit != 0)
                {
                    rate.Value = value / unit;
                }
            }

            var series = chartRateData.Series[0];

            series.ChartType     = SeriesChartType.Line;
            series.XValueMember  = "Date";
            series.YValueMembers = "Value";
            series.BorderWidth   = 2;

            var legend = chartRateData.Legends[0];

            legend.Enabled = false;

            var chartArea = chartRateData.ChartAreas[0];

            chartArea.AxisX.MajorGrid.Enabled = false;
            chartArea.AxisY.MajorGrid.Enabled = false;
            chartArea.AxisY.IsStartedFromZero = false;
        }
Beispiel #30
0
            private void FillDataToExcel(Excel.Worksheet sheet, MNBArfolyamServiceSoapClient soapClient) //Fill excel worksheet
            {
                GetCurrenciesRequestBody    getCurrenciesBody = new GetCurrenciesRequestBody();
                GetExchangeRatesRequestBody getRatesBody      = new GetExchangeRatesRequestBody();

                var range      = sheet.get_Range("A1", "A1");
                var currencies = soapClient.GetCurrencies(getCurrenciesBody);

                int           DayID = 0, countRates = 0;
                string        xmlResult      = currencies.GetCurrenciesResult;
                DataTable     table          = XmlToDataTable(xmlResult, 1);
                DataTable     dataRates      = new DataTable();
                DataTable     dataDays       = new DataTable();
                List <string> currenciesList = new List <string>();

                ((Excel.Range)range.Cells[1, 1]).Value = "Dátum/ISO";
                ((Excel.Range)range.Cells[2, 1]).Value = "Egység";

                //Fill and get all currencies//
                int columnIndex = 2;

                foreach (DataRow items in table.Rows)
                {
                    ((Excel.Range)range.Cells[1, columnIndex]).Value = items[0];
                    currenciesList.Add(items[0].ToString());
                    columnIndex++;
                }
                //////////////////////////////

                //Fill days//
                var exchRates = soapClient.GetExchangeRates(getRatesBody);

                xmlResult = exchRates.GetExchangeRatesResult;
                table     = XmlToDataTable(xmlResult, 0);

                columnIndex = 3;
                foreach (DataRow item in table.Rows)
                {
                    ((Excel.Range)range.Cells[columnIndex, 1]).Value2 = item[0];
                    columnIndex++;
                }
                /////////////

                //Fill Rates//
                getRatesBody = new GetExchangeRatesRequestBody();
                dataRates    = new DataTable();
                dataDays     = new DataTable();

                for (int k = 0; k < currenciesList.Count; k++)//Loop all currencies and fill rates value
                {
                    //if (k > 2) break;  Set how many item will appaer
                    range.Cells[1, k + 2].Select();
                    DayID       = 0;
                    countRates  = 0;
                    columnIndex = 3;

                    getRatesBody.currencyNames = currenciesList[k];
                    exchRates = soapClient.GetExchangeRates(getRatesBody);
                    xmlResult = exchRates.GetExchangeRatesResult;
                    dataRates = XmlToDataTable(xmlResult, 1);
                    dataDays  = XmlToDataTable(xmlResult, 0);

                    if (dataRates != null)
                    {
                        ((Excel.Range)range.Cells[2, k + 2]).Value = dataRates.Rows[countRates][0]; //Fill unit
                        while (countRates < dataRates.Rows.Count)
                        {
                            if (dataRates.Rows[countRates][3].ToString() == dataDays.Rows[DayID][0].ToString())                                    //Date ID check
                            {
                                ((Excel.Range)range.Cells[columnIndex, k + 2]).Value = dataRates.Rows[countRates][2].ToString().Replace(",", "."); //Change string format
                                columnIndex++;
                                DayID++;
                                countRates++;
                            }
                            else
                            {
                                columnIndex++; DayID++;
                            }
                        }
                    }
                }
            }