/* * public override void OnItemAdded(Bar item) * { * }*/ /// <summary> /// здесь проверяем пересечение отклонением уровней /// </summary> /// <param name="item"></param> public void OnValueItemAdded(ValueDouble item) { //уровень текщий //уровень предыдущий // ------------------------------------------------- #region //пересечение уровней // ------------------------------------------------- Levels.Do(maDeviation.De); //IList<bool> ПересеченияСверху = levels.ПересеченияСверху; //IList<bool> ПересеченияСнизу = levels.ПересеченияСнизу; ПересечениeСверху.Add(Levels.ПересечениеСверху); ПересечениеСнизу.Add(Levels.ПересечениеСнизу); Уровень.Add(Levels.УровеньТекущий); //уровень текщий УровеньПрошлый.Add(Levels.УровеньПрошлый); //уровень предыдущий #endregion // ------------------------------------------------- ПроверитьПризнакНаОткрытиеВерхний(); ПроверитьПризнакНаОткрытиеНижний(); ПроверитьПризнакНаЗакрытиеВерхний(); ПроверитьПризнакНаЗакрытиеНижний(); // ------------------------------------------------- #region // Проверка сигналов по времени // ------------------------------------------------- #endregion // ------------------------------------------------- // ------------------------------------------------- #region // Подача заявок // ------------------------------------------------- /// Сформировать Сигналы на открытие закрытие позиций СформироватьСигналы(); #endregion // ------------------------------------------------- }
public static void SaveDBtoShow() { DBtoShow DatabaseToShow = new DBtoShow(); try { for (int i = 0; i < DB.database.Players.PlayerList.Count; i++) { DataBase.cPlayers.Player player = DB.database.Players.PlayerList[i]; string Nick = player.Name; string Team = Defines.IsHorde(player.Race) ? "Орда" : "Альянс"; string GUID = player.GUID != 0 ? player.GUID.ToString("#,#") : null; byte LvL = player.LvL; string Race = Defines.GetTextOfRace(player.Race); string Class = Defines.GetTextOfClass(player.Class); string Gender = player.Gender == 0 ? "М" : player.Gender == 1 ? "Ж" : null; string LastPos = Tools.Vec.Round(player.LastPos, 2).ToString().Replace("{", "").Replace("}", ""); string LastSeen = player.LastSeen; string LastZoneID = Enums.ZonesDB.GetTextOfZone(player.LastZoneID); //Отражение уровней List <Уровень> Levels = new List <Уровень>(); for (int l = 0; l < player.Levels.Count; l++) { Уровень lvlChanged = new Уровень() { ЛвЛ = " " + player.Levels[l].L + " ", Дата = player.Levels[l].T }; Levels.Add(lvlChanged); } //Отражение зон List <Обнаружение> Seens = new List <Обнаружение>(); for (int z = 0; z < player.Seens.Count; z++) { Обнаружение zoneChanged = new Обнаружение() { Зона = Enums.ZonesDB.GetTextOfZone(player.Seens[z].I), Дата = player.Seens[z].T }; Seens.Add(zoneChanged); } DatabaseToShow.Игроки.Add(new DBtoShow.Игрок() { Ник = Nick, Сторона = Team, GUID = GUID, ЛвЛ = LvL.ToString(), аса = Race, Класс = Class, Пол = Gender, ПоследняяПозиция = LastPos, ПоследнееОбнаружение = LastSeen, ПоследняяЗона = LastZoneID, Уровни = Levels, Обнаружения = Seens }); } } catch (Exception ex) { Tools.MsgBox.Exception(ex, "Ошибка отражения основной БД в БД для просмотра."); return; } try { XmlSerializer ser = new XmlSerializer(typeof(DBtoShow)); string dbPath = DB.PlayersPath + "\\" + "Игроки.xml"; using (Stream fStream = new FileStream(dbPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None)) { ser.Serialize(fStream, DatabaseToShow); fStream.Flush(); fStream.Close(); } } catch (Exception ex) { Tools.MsgBox.Exception(ex, "Ошибка сохранения бд игроков для просмотра."); } }