Example #1
0
        private void btnSina_Click(object sender, EventArgs e)
        {
            if (Model == null)
            {
                lblDurumSina.Text = "Model Yok";
                return;
            }
            try
            {
                GuvenlikOzellikleri go = GuvenlikOzellikleri.YOK;
                IcDonanim           id = IcDonanim.YOK;

                if (cbAsr1.Checked)
                {
                    go = go | GuvenlikOzellikleri.Seviye1;
                }
                else if (cbAsr1.Checked)
                {
                    go = go | GuvenlikOzellikleri.Seviye2;
                }
                else if (cbEsp1.Checked)
                {
                    go = go | GuvenlikOzellikleri.Seviye3;
                }
                else if (cbDeriKoltuk1.Checked)
                {
                    id = id | IcDonanim.Seviye1;
                }
                else if (cbKlima1.Checked)
                {
                    id = id | IcDonanim.Seviye2;
                }
                else if (cbDeriKoltuk1.Checked)
                {
                    id = id | IcDonanim.Seviye3;
                }
                else if (cbYolBilgsayarı1.Checked)
                {
                    id = id | IcDonanim.Seviye4;
                }

                Otomobil oto = new Otomobil(int.Parse(txtFiyat1.Text), int.Parse(txtYıl1.Text), int.Parse(txtKm1.Text), cbOtomatik1.Checked ? Vites.Otomatik : Vites.Manuel, cbDizel1.Checked ? Yakit.Dizel : Yakit.Benzin, int.Parse(txtMotorHacmi1.Text), int.Parse(txtMotorGucu1.Text), cbGaranti1.Checked, cbTakas1.Checked, cbSıfır1.Checked ? Durum.Sıfır : Durum.IkinciEl, go, id, int.Parse(txtBoyalıSayısı1.Text), int.Parse(txtDegisenSayısı1.Text), null);

                lblDurumSina.ForeColor = Color.Green;
                lblDurumSina.Text      = "Sınama Yapıldı :  Bu araba " + (Model.Model.Predict(oto).Alinir ? "alınır" : "alınmaz");
            }
            catch (Exception)
            {
                lblDurumSina.ForeColor = Color.DarkRed;
                lblDurumSina.Text      = "Otomobil test edilemedi.";
            }
        }
Example #2
0
        void BilgiYerlestir()
        {
            Otomobil oto = new Otomobil();

            foreach (Control l in this.Controls)
            {
                if (l is Label)
                {
                    if (l.TabIndex < 30)
                    {
                        ((Label)l).Text = TemelBilgiler.Where(w => l.Text.Contains(w.Key)).FirstOrDefault().Value.ToString();
                    }
                }
            }
        }
Example #3
0
        public void OtomobilEkle(string ilanAdresi)
        {
            if (KontrolleriYap(ilanAdresi))
            {
                TemelBilgiler.Clear();

                HtmlWeb hw = new HtmlWeb();
                hw.UseCookies = true;
                hw.CachePath  = "cache.db";
                hw.UsingCache = true;
                HtmlAgilityPack.HtmlDocument doc = hw.Load(ilanAdresi);


                HtmlNode nodef = doc.DocumentNode.SelectSingleNode("//div[@class='classifiedInfo']//h3");
                if (nodef == null)
                {
                    return;
                }

                Otomobil oto  = new Otomobil();
                string   para = nodef.InnerHtml.Trim();
                double   kur  = 0;
                if (para.Contains("TL"))
                {
                    kur = 1;
                }
                else if (para.Contains("€"))
                {
                    kur = 2.8;
                }
                else if (para.Contains("$"))
                {
                    kur = 2.1;
                }
                else if (para.Contains("£"))
                {
                    kur = 3.5;
                }


                para = NumerikVeri(para);
                double fiyat = 0;
                if (para == null || !Double.TryParse(para, out fiyat))
                {
                    return;
                }

                TemelBilgiler.Add("Fiyat", fiyat * kur);


                HtmlNodeCollection nodeCollection = doc.DocumentNode.SelectNodes("//ul[@class='classifiedInfoList']//li");
                foreach (var node in nodeCollection)
                {
                    string key   = HtmlEntity.DeEntitize(node.Element("strong").InnerText).Trim();
                    string value = HtmlEntity.DeEntitize(node.Element("span").InnerText).Trim();

                    TemelBilgiler.Add(key, (value));
                }

                oto.Fiyat       = int.Parse(OzellikGetir("Fiyat"));
                oto.Yil         = int.Parse(OzellikGetir("Yıl"));
                oto.Kilometre   = int.Parse(NumerikVeri(OzellikGetir("Km")));
                oto.Vites       = OzellikGetir("Vites").Equals("Manuel") ? Vites.Manuel : Vites.Otomatik;
                oto.Yakit       = OzellikGetir("Yakıt").Equals("Dizel") ? Yakit.Dizel : Yakit.Benzin;
                oto.MotorHacmi  = int.Parse(NumerikVeri(OzellikGetir("Motor Hacmi")));
                oto.MotorGücü   = int.Parse(NumerikVeri(OzellikGetir("Motor Gücü")));
                oto.Garantili   = OzellikGetir("Garanti").Equals("Evet") ? true : false;
                oto.TakasEdilir = OzellikGetir("Takas").Equals("Evet") ? true : false;
                oto.Durum       = OzellikGetir("Durumu").Equals("Sıfır") ? Durum.Sıfır : Durum.IkinciEl;


                // Güvenlik özellikleri ve  İç donanım özellikleri ilk olarak YOK atanıyor.
                oto.GuvenlikOzellikleri = GuvenlikOzellikleri.YOK;
                oto.IcDonanim           = IcDonanim.YOK;

                // Seçili özellikleri varsa okunarak oluşturulur.
                nodeCollection = doc.DocumentNode.SelectNodes("//div[@id='classifiedProperties']//ul//li[@class='selected']");
                if (nodeCollection != null && nodeCollection.Count > 0)
                {
                    HtmlNodeCollection col = nodeCollection[0].SelectNodes("//li[@class='selected']");
                    foreach (var ncol in nodeCollection)
                    {
                        if (ncol.InnerText.Trim().Equals("ABS"))
                        {
                            oto.GuvenlikOzellikleri = oto.GuvenlikOzellikleri | GuvenlikOzellikleri.Seviye1;
                        }
                        else if (ncol.InnerText.Trim().Equals("ASR"))
                        {
                            oto.GuvenlikOzellikleri = oto.GuvenlikOzellikleri | GuvenlikOzellikleri.Seviye2;
                        }
                        else if (ncol.InnerText.Trim().Equals("ESP"))
                        {
                            oto.GuvenlikOzellikleri = oto.GuvenlikOzellikleri | GuvenlikOzellikleri.Seviye3;
                        }
                        else if (ncol.InnerText.Trim().Equals("Kumaş Koltuk"))
                        {
                            oto.IcDonanim = oto.IcDonanim | IcDonanim.Seviye1;
                        }
                        else if (ncol.InnerText.Trim().Equals("Klima (Dijital)"))
                        {
                            oto.IcDonanim = oto.IcDonanim | IcDonanim.Seviye2;
                        }
                        else if (ncol.InnerText.Trim().Equals("Deri Koltuk"))
                        {
                            oto.IcDonanim = oto.IcDonanim | IcDonanim.Seviye3;
                        }
                        else if (ncol.InnerText.Trim().Equals("Yol Bilgisayarı"))
                        {
                            oto.IcDonanim = oto.IcDonanim | IcDonanim.Seviye4;
                        }
                    }


                    // Boyalı parça sayısı
                    nodeCollection = doc.DocumentNode.SelectNodes("//div[@id='classifiedProperties']//ul");
                    HtmlNodeCollection collect = nodeCollection[4].SelectNodes("li[@class='selected']");
                    int boyaliSayisi           = collect != null ? collect.Count : 0;
                    oto.BoyaliParcaSayisi = boyaliSayisi;

                    // Degisen parça sayısı
                    collect = nodeCollection[5].SelectNodes("li[@class='selected']");
                    int degisenSayisi = collect != null ? collect.Count : 0;
                    oto.DegisenParcaSayisi = degisenSayisi;
                }

                // Örnek Uzman Verisine Göre Fiyatı 10.000 - 30.000 TL arası olan absli her araba
                // 30.000 - 40.000 arasında klimalı ve deri koltuklu her araba
                // Abs, Asr , Esp ye sahip , garantili her araba alınabilir şeklinde kural belirlenmiştir
                bool alinirBu = false;
                if (fiyat >= 10000 && fiyat <= 30000)
                {
                    alinirBu = true;
                }
                if (fiyat >= 30000 && fiyat <= 40000 && oto.IcDonanim.HasFlag(IcDonanim.Seviye3) && oto.IcDonanim.HasFlag(IcDonanim.Seviye2))
                {
                    alinirBu = true;
                }
                if (oto.GuvenlikOzellikleri.HasFlag(GuvenlikOzellikleri.Seviye1) && oto.GuvenlikOzellikleri.HasFlag(GuvenlikOzellikleri.Seviye2) && oto.GuvenlikOzellikleri.HasFlag(GuvenlikOzellikleri.Seviye3))
                {
                    alinirBu = true;
                }

                oto.Alinir = alinirBu;


                Otomobiller.Add(oto);
            }
        }