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."; } }
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(); } } } }
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); } }