/// <summary> /// Модификация от 6 октября 2015 года /// Заложен 4 октября 2015 года /// </summary> /// <param name="gm"></param> public vGamo(Gamo gm) : this() { namo = gm.GamerWhite + " - " + gm.GamerBlack; bignamo = namo + " " + gm.EventoDate + " " + gm.Resulto + " " + gm.ECO; White = gm.GamerWhite; Black = gm.GamerBlack; Result = gm.Resulto; Date = gm.Date; Event = gm.Evento; ECO = gm.ECO; PlyCount = gm.Qavo; WElo = gm.EloWhite; BElo = gm.EloBlack; Site = gm.Sito; Round = gm.Roundo; Fen = gm.Fen; if (gm.Qavo.Length > 0) { movacount = int.Parse(gm.Qavo) / 2; } else { movacount = 0; } OnlyMova = gm.VanStrokeMovaRegion(); AddAtr = gm.VanStrokeRestAttributes(); Descripto = string.Empty; }
/// <summary> /// Модификация от 29 сентября 2015 года /// Заложен 29 сентября 2015 года /// </summary> /// <param name="pgm">Элемент, в котором и будем менять значение Даты битвы</param> /// <returns></returns> private string IntelChangeEventDate(Gamo pgm) { string reto = string.Format("Не удалось скорректировать значение EventDate ${0}$", pgm.EventoDate); string valonew = string.Empty; if (rondoeventdatelist == null) { rondoeventdatelist = new Dictionary <string, string>(); } string rondo = pgm.Roundo; if (rondo.Contains(".")) //По другому вроде бы и не должно быть на дату создания метода { string[] aa = rondo.Split('.'); string isko = aa[0]; if (rondoeventdatelist.ContainsKey(isko)) { valonew = rondoeventdatelist[isko]; } else { List <Gamo> lrondo = lga.Where(G => G.KorrFlago == gmKorrAtr.AllOK && G.Roundo.StartsWith(isko + ".")).ToList(); if (lrondo.Count > 0) { foreach (Gamo bb in lrondo) { string bevento = bb.EventoDate; if (valonew == string.Empty) { valonew = bevento; } else { if (valonew != bevento) { reto += string.Format(" --- Две разных даты у {0} раунда ${1}${2}$", isko, valonew, bevento); valonew = string.Empty; break; } } } if (valonew != string.Empty) { rondoeventdatelist.Add(isko, valonew); } } } if (valonew != string.Empty) { string oldo = pgm.EventoDate; pgm.EventoDate = valonew; reto = string.Format("Произведена замена с {0} на {1}", oldo, valonew); } } return(reto); }
/// <summary> /// Модификация от 22 октября 2015 года /// Заложен 31 августа 2015 года /// </summary> /// <param name="attrolist">Набор предустановленных атрибутов</param> /// <param name="intellipredolist">Набор предустановленных заготовок для интеллектуального обновления значений атрибутов /// Готовится на основании анализа лога</param> /// <returns></returns> public bool FullListControl(List <string> attrolist, List <string> intellipredolist) { List <Gamo> problemolist = null; bool reto = false; Dictionary <gmAttro, string> predo = Gamo.CreateDictoAttribute(attrolist); logomesso = new List <string>(); List <string> progo = null; foreach (Gamo aa in lga) { if (!aa.FillDictoAttribute(predo)) { if (problemolist == null) { problemolist = new List <Gamo>(); } problemolist.Add(aa); } aa.MovaControlling(); progo = aa.CreateMovaRegionWithoutComments(); for (int i = 0; i < progo.Count; i++) { string vanProgo = progo[i]; string twoFailo = aa.pgnMoveRegione[i]; if (vanProgo != twoFailo) //Пишем сообщение в лог { string bblogo = string.Format("{0}-{1} Отличие:файл-прого${2}${3}$", aa.GamerWhite, aa.GamerBlack, twoFailo, vanProgo); logomesso.Add(bblogo); } } if (aa.ImpossibleMoveFlag) { logomesso.Add(string.Format("{0}-{1} !!! {2}", aa.GamerWhite, aa.GamerBlack, aa.ImpossibleMoveString)); } } if (problemolist != null) { IntelPredustanovka(intellipredolist); foreach (Gamo aa in problemolist) { string ichres = string.Empty; if (aa.KorrFlago == gmKorrAtr.EventDateHasAnswer) { ichres = IntelChangeEventDate(aa); } string bblogo = string.Format("{0}-{1} ИнтеллиЧенж:{2}", aa.GamerWhite, aa.GamerBlack, ichres); logomesso.Add(bblogo); } } return(reto); }
/// <summary> /// Модификация от 29 сентября 2015 года /// Заложен 29 сентября 2015 года /// </summary> /// <param name="pgm">Элемент, в котором и будем менять значение Даты битвы</param> /// <returns></returns> private string IntelChangeEventDate(Gamo pgm) { string reto = string.Format("Не удалось скорректировать значение EventDate ${0}$", pgm.EventoDate); string valonew = string.Empty; if( rondoeventdatelist == null ) { rondoeventdatelist = new Dictionary<string,string>(); } string rondo = pgm.Roundo; if (rondo.Contains(".")) { //По другому вроде бы и не должно быть на дату создания метода string[] aa = rondo.Split('.'); string isko = aa[0]; if (rondoeventdatelist.ContainsKey(isko)) { valonew = rondoeventdatelist[isko]; } else { List<Gamo> lrondo = lga.Where(G => G.KorrFlago == gmKorrAtr.AllOK && G.Roundo.StartsWith(isko + ".")).ToList(); if (lrondo.Count > 0) { foreach (Gamo bb in lrondo) { string bevento = bb.EventoDate; if (valonew == string.Empty) { valonew = bevento; } else { if (valonew != bevento) { reto += string.Format(" --- Две разных даты у {0} раунда ${1}${2}$", isko, valonew, bevento); valonew = string.Empty; break; } } } if (valonew != string.Empty) { rondoeventdatelist.Add(isko, valonew); } } } if (valonew != string.Empty) { string oldo = pgm.EventoDate; pgm.EventoDate = valonew; reto = string.Format("Произведена замена с {0} на {1}", oldo, valonew); } } return reto; }