Esempio n. 1
0
        private bool HasDateToDatabase(DateTime baslangic)
        {
            bool result = false;

            DovizDBContext db = new DovizDBContext();

            #region 1.Yöntem
            //List<DateTime> tarihler = (from k in db.Kurlar
            //                           select k.Tarih).Distinct().ToList();

            //foreach (DateTime tarih in tarihler)
            //{
            //    if (tarih.Date == baslangic.Date)
            //    {
            //        result = true;
            //    }
            //}
            #endregion

            #region 2.Yöntem

            DateTime tarih = (from k in db.Kurlar
                              where k.Tarih == baslangic
                              select k.Tarih).FirstOrDefault();

            if (tarih != DateTime.MinValue)
            {
                result = true;
            }

            #endregion

            return(result);
        }
Esempio n. 2
0
        private void KurTipleriniYukle()
        {
            clbKurlar.Items.Clear();

            DovizDBContext db = new DovizDBContext();

            IEnumerable <KurTipi> kurtipleri = from kt in db.KurTipleri
                                               orderby kt.Isim ascending
                                               select kt;

            //kurtipleri = kurtipleri.Take(10);

            foreach (KurTipi kt in kurtipleri)
            {
                clbKurlar.Items.Add(kt);
            }
        }
Esempio n. 3
0
        private void btnVtSorgula_Click(object sender, EventArgs e)
        {
            DovizDBContext db = new DovizDBContext();

            List <string> secilenKodlar = new List <string>();

            foreach (var item in clbKurlar.CheckedItems)
            {
                KurTipi kt = item as KurTipi;
                secilenKodlar.Add(kt.Kod);
            }

            var sonuclar = from k in db.Kurlar
                           where k.Tarih >= dtpBasTar.Value.Date &&
                           k.Tarih <= dtpBitTar.Value.Date &&
                           secilenKodlar.Contains(k.Kod)
                           select k;

            dgvSonuclar.DataSource = sonuclar.ToList();
        }
Esempio n. 4
0
        private void KurIsimVeKodlariKaydet()
        {
            DovizDBContext db = new DovizDBContext();

            if (db.KurTipleri.Count() == 0)
            {
                XDocument xDoc       = XDocument.Load("http://www.tcmb.gov.tr/kurlar/today.xml");
                XElement  tarih_date = xDoc.Root;

                foreach (XElement cur in tarih_date.Elements("Currency"))
                {
                    string kod  = cur.Attribute("Kod").Value;
                    string isim = cur.Element("Isim").Value;

                    // isim == null ise "..." koyar.
                    //isim = isim ?? "...";

                    // Kısa if.. => (koşul) ? {doğru ise} : {aksi halde}
                    isim = (string.IsNullOrEmpty(isim) == true) ? "..." : isim;

                    // old-version :  string ad = string.Format("adınız : {0}", isim);
                    // new-version :  ad = $"adınız : {isim}";

                    if (string.IsNullOrEmpty(kod) == false)
                    {
                        KurTipi kt = new KurTipi()
                        {
                            Kod  = kod,
                            Isim = isim
                        };

                        db.KurTipleri.Add(kt);
                    }
                }

                db.SaveChanges();
            }
        }
Esempio n. 5
0
        private void KurVerisiCek(string url)
        {
            XDocument xDoc = null;

            try
            {
                xDoc = XDocument.Load(url);
            }
            catch (System.Net.WebException wex)
            {
                if (wex.Message.Contains("404") == true)
                {
                    // Tatil günü hatası..
                }

                return;
            }
            catch (Exception ex)
            {
                return;
            }

            // TODO : Burada verinin doğru gelip gelmediği kontrol edilecek.

            XElement tarih_date = xDoc.Root;
            DateTime tarih      = DateTime.Parse(tarih_date.Attribute("Tarih").Value);

            List <XElement> kurlar = (from c in tarih_date.Elements("Currency")
                                      select c).ToList();

            DovizDBContext db = new DovizDBContext();

            foreach (XElement kur in kurlar)
            {
                string kod   = kur.Attribute("Kod").Value;
                string isim  = kur.Element("Isim").Value;
                string cname = kur.Element("CurrencyName").Value;
                string unit  = kur.Element("Unit").Value;
                string fb    = kur.Element("ForexBuying").Value.Replace(".", ",");
                string fs    = kur.Element("ForexSelling").Value.Replace(".", ",");
                string bb    = kur.Element("BanknoteBuying").Value.Replace(".", ",");
                string bs    = kur.Element("BanknoteSelling").Value.Replace(".", ",");

                isim  = (string.IsNullOrEmpty(isim)) ? "..." : isim;
                cname = (string.IsNullOrEmpty(cname)) ? "..." : cname;
                unit  = (string.IsNullOrEmpty(unit)) ? "0" : unit;
                fb    = (string.IsNullOrEmpty(fb)) ? "0" : fb;
                fs    = (string.IsNullOrEmpty(fs)) ? "0" : fs;
                bb    = (string.IsNullOrEmpty(bb)) ? "0" : bb;
                bs    = (string.IsNullOrEmpty(bs)) ? "0" : bs;

                Kur kurNesnesi = new Kur()
                {
                    Tarih           = tarih,
                    Kod             = kod,
                    Isim            = isim,
                    CurrencyName    = cname,
                    Unit            = int.Parse(unit),
                    ForexBuying     = decimal.Parse(fb),
                    ForexSelling    = decimal.Parse(fs),
                    BanknoteBuying  = decimal.Parse(bb),
                    BanknoteSelling = decimal.Parse(bs)
                };

                db.Kurlar.Add(kurNesnesi);
            }

            // Eğer bir hata varsa liste olarak verir.
            var errorList = db.GetValidationErrors();

            if (errorList.Count() > 0)
            {
                // Hata var demektir.
                foreach (var err in errorList)
                {
                    foreach (var item in err.ValidationErrors)
                    {
                        // Hataların hepsi gösterilir.
                        //MessageBox.Show(
                        //    item.PropertyName + Environment.NewLine + item.ErrorMessage);
                        MessageBox.Show(item.ErrorMessage);
                    }
                }

                // Hata olduğu için insert zaten edemez.
                return;
            }

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 6
0
        private void btnWebSorgula_Click(object sender, EventArgs e)
        {
            // tarih1 ve tarih2 bugünden büyük seçilemez.

            // Eğer tarih1, tarih2'den büyükse hiçbirşey yapmadan kullanıcıya uyarı vermeli. Tarihleri değiştirmeye zorlamalı.

            // tarih1'den itibaren 1 er gün olarak tarih arttırılarak döviz kuru ilgili url oluşturularak xml çekilmeli. XML içinden tüm kurlar okunarak veritabanına insert edilir.
            // Veritabanından günler çekilir ve kullanıcının seçtiği günler elimizdeki günlerde yoksa veriler netten çekilir.(Aynı zamanda haftasonu değilse..)

            XDocument xDoc = XDocument.Load("http://www.tcmb.gov.tr/kurlar/today.xml");

            XElement tarih_date = xDoc.Root;
            DateTime tarih      = DateTime.Parse(tarih_date.Attribute("Tarih").Value);

            XElement usd = (from c in tarih_date.Elements("Currency")
                            where c.Attribute("Kod").Value == "USD"
                            select c).FirstOrDefault();

            Kur kurNesnesi = new Kur()
            {
                Tarih           = tarih,
                Kod             = usd.Attribute("Kod").Value,
                Isim            = usd.Element("Isim").Value,
                CurrencyName    = usd.Element("CurrencyName").Value,
                Unit            = int.Parse(usd.Element("Unit").Value),
                ForexBuying     = decimal.Parse(usd.Element("ForexBuying").Value.Replace(".", ",")),
                ForexSelling    = decimal.Parse(usd.Element("ForexSelling").Value.Replace(".", ",")),
                BanknoteBuying  = decimal.Parse(usd.Element("BanknoteBuying").Value.Replace(".", ",")),
                BanknoteSelling = decimal.Parse(usd.Element("BanknoteSelling").Value.Replace(".", ","))
            };

            //kurNesnesi.Isim = null;
            //kurNesnesi.CurrencyName += "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";

            DovizDBContext db = new DovizDBContext();

            db.Kurlar.Add(kurNesnesi);

            // Eğer bir hata varsa liste olarak verir.
            var errorList = db.GetValidationErrors();

            if (errorList.Count() > 0)
            {
                // Hata var demektir.
                foreach (var err in errorList)
                {
                    foreach (var item in err.ValidationErrors)
                    {
                        // Hataların hepsi gösterilir.
                        //MessageBox.Show(
                        //    item.PropertyName + Environment.NewLine + item.ErrorMessage);
                        MessageBox.Show(item.ErrorMessage);
                    }
                }

                // Hata olduğu için insert zaten edemez.
                return;
            }



            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }