Example #1
0
        /*
         * 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
            // -------------------------------------------------
        }
Example #2
0
        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, "Ошибка сохранения бд игроков для просмотра.");
            }
        }