예제 #1
0
        public static void macistatistikleri(string str, string MacKodu)
        {
            var document = str.getStr();

            if (document != null && document.DocumentNode != null && document.DocumentNode.SelectNodes("//div") != null && document.DocumentNode.SelectNodes("//div").Count > 0)
            {
                var nodes  = document.DocumentNode.SelectNodes("//div[@class='matchListContent']").ToList()[0].ChildNodes.Where(o => o.Name == "div" && o.InnerText != " ").ToList();
                var nodes1 = document.DocumentNode.SelectNodes("//div[@class='matchListContent']").ToList()[1].ChildNodes.Where(o => o.Name == "div" && o.InnerText != " ").ToList();
                var nod    = document.DocumentNode.SelectNodes("//div[@class='matchListContent']").Select(o => o.ChildNodes.Where(oo => oo.Name == "div" && oo.InnerText != " ")).ToList();
                var ev     = nodes.GroupBy(o => o.ChildNodes.Where(ol => ol.Name != null && ol.Name == "div").ToList()[6].InnerText.Trim())
                             .Select(o => new { text = o, count = o.Count() })
                             .OrderByDescending(o => o.count).FirstOrDefault().text.Key.ToStr();
                var ds = nodes1.GroupBy(o => o.ChildNodes.Where(ol => ol.Name == "div").ToList()[3].InnerText.Trim())
                         .Select(o => new { text = o, count = o.Count() })
                         .OrderByDescending(o => o.count).FirstOrDefault().text.Key.ToStr();
                int takim = 1;

                nod.ForEach(oo =>
                {
                    var row = new oranlarClass()
                    {
                        ev      = ev,
                        ds      = ds,
                        MacKodu = MacKodu,
                    };
                    row = getRow(oo.ToList(), row, takim);
                    list.Add(row);
                    takim++;
                });
            }
        }
예제 #2
0
        public static void rekabetanalizi(string str, string MacKodu)
        {
            var document = str.getStr();

            if (document != null && document.DocumentNode != null && document.DocumentNode.SelectNodes("//div") != null && document.DocumentNode.SelectNodes("//div").Count > 0)
            {
                var node = document.DocumentNode.SelectNodes("//div[@class='data']");
                if (node != null && node.Count > 0)
                {
                    List <HtmlAgilityPack.HtmlNode> rekabet = new List <HtmlAgilityPack.HtmlNode>();
                    rekabet.Add(node.LastOrDefault());
                    var nod = document.DocumentNode.SelectNodes("//div[@class='data']").LastOrDefault();
                    var ev  = nod.ChildNodes.Where(ol => ol.Name != null && ol.Name == "div").GroupBy(o => o.ChildNodes.Where(ol => ol.Name != null && ol.Name == "div").ToList()[2].InnerText.Trim())
                              .Select(o => new { text = o, count = o.Count() })
                              .OrderByDescending(o => o.count).FirstOrDefault().text.Key.ToStr();
                    var ds = nod.ChildNodes.Where(ol => ol.Name != null && ol.Name == "div").GroupBy(o => o.ChildNodes.Where(ol => ol.Name == "div").ToList()[4].InnerText.Trim())
                             .Select(o => new { text = o, count = o.Count() })
                             .OrderByDescending(o => o.count).FirstOrDefault().text.Key.ToStr();
                    var row = new oranlarClass()
                    {
                        ev      = ev,
                        ds      = ds,
                        MacKodu = MacKodu,
                    };
                    row = getRow(rekabet.ToList(), row, 0);
                    if (string.IsNullOrEmpty(row.evRekabet) || row.evRekabet != "0")
                    {
                        list.Add(row);
                    }
                }
            }
        }
예제 #3
0
        public static void analiz(string url, string code)
        {
            if (codeii < Code.Count && codeii > ii)
            {
                url  = "http://istatistik.nesine.com/headtohead/router.aspx?matchcode=" + code + "&page=" + "Matches" + "&languageıd=1";
                url1 = "http://istatistik.nesine.com/headtohead/router.aspx?matchcode=" + code + "&page=" + "ComparedStatistics" + "&languageıd=1";

                var macistatistik = "";
                var mi            = macistatistikTemp.Where(o => o.Key == url).ToList();
                if (mi.Count > 0)
                {
                    macistatistik = mi.FirstOrDefault().Value;
                }
                else
                {
                    macistatistik = url.GetDocText(3000000);
                    macistatistikTemp.Add(url, macistatistik);
                }

                var rekabet = "";
                var rek     = rekabetTemp.Where(o => o.Key == url1).ToList();
                if (rek.Count > 0)
                {
                    rekabet = rek.FirstOrDefault().Value;
                }
                else
                {
                    rekabet = url1.GetDocText(3000000);
                    rekabetTemp.Add(url1, rekabet);
                }

                macistatistikleri(macistatistik, code);
                rekabetanalizi(rekabet, code);

                var remove = list.Where(o => o.MacKodu == code).ToList();
                if (remove.Count < 1)
                {
                    return;
                }

                var row = new oranlarClass()
                {
                    MacKodu   = remove.LastOrDefault() == null ? "" : remove.LastOrDefault().MacKodu,
                    evRekabet = remove.LastOrDefault() == null ? "" : remove.LastOrDefault().evRekabet,
                    dsRekabet = remove.LastOrDefault() == null ? "" : remove.LastOrDefault().dsRekabet,
                    tg        = remove.LastOrDefault() == null ? "" : remove.LastOrDefault().tg,
                };

                row.noSetValueCustom2(remove, "X,ev,ds,Sayi,MacKodu,evRekabet,dsRekabet,tg", "");

                var msOran = BaseMethods.ToMaxMin(true, row.evGalip.ToDouble(), row.dsGalip.ToDouble(), row.X.ToDouble()).ToStr();
                row.noSetValueCustomAppend(remove, "%", msOran.ToDouble(), oranFiltre1, oranFiltre2, "X,ev,ds,Sayi,MacKodu,evRekabet,dsRekabet,tg");
                remove.ForEach(o => { list.Remove(o); });

                row.ev = row.ev + "(" + row.evGalip + ")" + BaseMethods.getOran(row.evGalip.Replace("%", "").ToDouble(), msOran.ToDouble(), oranFiltre1, oranFiltre2, "$", "@", "", "!");
                row.ds = row.ds + "(" + row.dsGalip + ")" + BaseMethods.getOran(row.dsGalip.Replace("%", "").ToDouble(), msOran.ToDouble(), oranFiltre1, oranFiltre2, "$", "@", "", "!");
                row.X  = row.X + BaseMethods.getOran(row.X.Replace("%", "").ToDouble(), msOran.ToDouble(), oranFiltre1, oranFiltre2, "", "", "£", "");
                list.Add(row);
            }
        }
예제 #4
0
        public static oranlarClass getRow(List <HtmlAgilityPack.HtmlNode> nodes, oranlarClass row, int takim)
        {
            int toplamrekabetSayisi = 0;

            if (nodes != null)
            {
                var noodeRow = nodes.Where(o => o.Name == "div").ToList();
                List <ClassProp> listProp = new List <ClassProp>();
                noodeRow.ForEach(oranlar =>
                {
                    var node = oranlar.ChildNodes.Where(oo => oo.Name == "div" && oo.InnerText != "").ToList();
                    if (node.Count > 0)
                    {
                        var t1 = new ClassProp();
                        if (takim == 1)//takim2
                        {
                            t1 = new ClassProp()
                            {
                                ev   = node[3].InnerText.Trim(),
                                msev = node[2].InnerText.Trim().Substring(0, 1),
                                ds   = node[5].InnerText.Trim(),
                                msds = node[2].InnerText.Trim().Substring(2, 1),
                                iyev = node[4].InnerText.Length < 2 ? "" : node[4].InnerText.Trim().Substring(0, 1),
                                iyds = node[4].InnerText.Length < 2 ? "" : node[4].InnerText.Trim().Substring(2, 1),
                            };
                            t1 = getOranlar(t1);
                            listProp.Add(t1);
                        }
                        else if (takim > 1)//takim2
                        {
                            t1 = new ClassProp()
                            {
                                ev   = node[0].InnerText.Trim(),
                                msev = node[1].InnerText.Trim().Substring(0, 1),
                                ds   = node[2].InnerText.Trim(),
                                msds = node[1].InnerText.Trim().Substring(2, 1),
                                iyev = node[5].InnerText.Length < 2 ? "" : node[5].InnerText.Trim().Substring(0, 1),
                                iyds = node[5].InnerText.Length < 2 ? "" : node[5].InnerText.Trim().Substring(2, 1),
                            };

                            t1 = getOranlar(t1);

                            listProp.Add(t1);
                        }
                        else //takim1
                        {
                            node.ForEach(oran =>
                            {
                                var orans = oran.ChildNodes.Where(oo => oo.Name == "div" && oo.InnerText != "").ToList();
                                t1        = new ClassProp()
                                {
                                    ev   = orans[2].InnerText.Trim(),
                                    msev = orans[3].InnerText.Trim().Substring(0, 1),
                                    ds   = orans[4].InnerText.Trim(),
                                    msds = orans[3].InnerText.Trim().Substring(2, 1),
                                    iyev = orans[5].InnerText.Trim().Length < 2 ? "" : orans[5].InnerText.Trim().Substring(0, 1),
                                    iyds = orans[5].InnerText.Trim().Length < 2 ? "" : orans[5].InnerText.Trim().Substring(2, 1),
                                };

                                t1 = getOranlar(t1);
                                listProp.Add(t1);
                            });
                        }
                    }
                });
                toplamrekabetSayisi = listProp.Count();

                if (listProp.Count < 1)
                {
                    return(row);
                }

                var ev = listProp.Where(o => o.ev.toCustomTr() == row.ev.toCustomTr()).ToList();
                var ds = listProp.Where(o => o.ev.toCustomTr() != row.ev.toCustomTr()).ToList();
                if (takim > 0)
                {
                    ev = listProp.Where(o => o.ev.toCustomTr() == row.ev.toCustomTr()).ToList();
                    ds = listProp.Where(o => o.ev.toCustomTr() != row.ev.toCustomTr()).ToList();
                }

                row.X       = (listProp.Where(o => o.ms == "0").Count()).ToStr();
                row.evGalip = (ev.Where(o => o.ms == "1").Count()).ToStr();
                row.dsGalip = (ds.Where(o => o.ms == "1").Count()).ToStr();
                row.h1      = (ev.Where(o => o.ms == "1").Count()).ToStr();
                row.hX      = (listProp.Where(o => o.ms == "0").Count()).ToStr();
                row.h2      = (ds.Where(o => o.ms == "1").Count()).ToStr();
                row.KgVar   = (listProp.Where(o => o.kg == "1").Count()).ToStr();
                row.KgYok   = (listProp.Where(o => o.kg == "0").Count()).ToStr();
                row.iy1     = (ev.Where(o => o.iyev == "1").Count()).ToStr();
                row.iy2     = (ds.Where(o => o.iyds == "1").Count()).ToStr();
                row.yr2_1   = (ev.Where(o => o.yr2 == "1").Count()).ToStr();
                row.yr2_2   = (ds.Where(o => o.yr2 == "1").Count()).ToStr();
                row.yr2_X   = (listProp.Where(o => o.yr2 == "0").Count()).ToStr();
                row.alt15iy = (listProp.Where(o => o.alt15iy == "1").Count()).ToStr();
                row.ust15iy = (listProp.Where(o => o.ust15iy == "1").Count()).ToStr();
                row.alt25   = (listProp.Where(o => o.alt25 == "1").Count()).ToStr();
                row.ust25   = (listProp.Where(o => o.ust25 == "1").Count()).ToStr();
                row.alt35   = (listProp.Where(o => o.alt35 == "1").Count()).ToStr();
                row.ust35   = (listProp.Where(o => o.ust35 == "1").Count()).ToStr();
                row.csiy    = (listProp.Where(o => o.csiy == "1").Count()).ToStr();
                row.cs      = (listProp.Where(o => o.cs == "1").Count()).ToStr();
                row.tg      = (listProp.Sum(o => o.tg.ToDecimal()) / toplamrekabetSayisi).ToString("0.##");

                row.noSetValueCustom <oranlarClass>("X,ev,ds,Sayi,MacKodu,evRekabet,dsRekabet,tg", 100, toplamrekabetSayisi);

                if (takim < 1)
                {
                    row.evRekabet = toplamrekabetSayisi.ToStr() + "/" + ((row.evGalip.ToInt() * toplamrekabetSayisi) / 100).ToStr();
                    row.dsRekabet = toplamrekabetSayisi.ToStr() + "/" + ((row.dsGalip.ToInt() * toplamrekabetSayisi) / 100).ToStr();
                }
            }
            else
            {
                row.evRekabet = "-";
                row.dsRekabet = "-";
            }
            return(row);
        }