using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NiApiLib;

namespace FutAddorder
{
    class NI
    {
        static void Main(string[] args)
        {
            Connection c = new Connection();
            c.connect();
            Console.ReadLine();
            c.disconnect();
        }
    }
    class Connection
    {
        NiApiLib.SrvrSession Session = new NiApiLib.SrvrSessionClass();
        NiApiLib.Transaction trans = new NiApiLib.TransactionClass();
        NiApiLib.DataRow row = new NiApiLib.DataRowClass();
        public void connect()
        {
            Session.HostAddr = "nidemo.mfd.ru";
            Session.HostPort = 2900;
            Session.Name = "AFedin";
            Session.Password = "12345";
            Session.CatalogName = "catalog.xml";
            Session.OnLogin+=new _ISrvrSessionEvents_OnLoginEventHandler(Session_OnLogin);
            Session.Connect();
        }
        public void disconnect()
        {
            Session.Disconnect();
        }
        public void Session_OnLogin(int LoginResult)
        {
            if (LoginResult == 0)
            {
                Console.WriteLine("[System] Соединение установлено");
                trans.Open(Session, "FUTADDORDER", ETableType.tabAdrr);  //Выставление заявки: FUTADDORDER -  FORTS Фьючерсы, OPTADDORDER - FORTS опционы
                row.Structure = trans.Structure;
                object SECCODE="I_SECCODE";
                row.set_Item(ref SECCODE,"RTS-6.10");   // Код инструмента
                object BUYSELL="I_BUYSELL";
                row.set_Item(ref BUYSELL,"B");    // Направление: B – покупка, S – продажа
                object QUANTITY="I_QUANTITY";
                row.set_Item(ref QUANTITY,"2");  //Количество
                object PRICE="I_PRICE";
                row.set_Item(ref PRICE, "132255"); // Цена
                object MKTLIMIT="I_MKTLIMIT";
                row.set_Item(ref MKTLIMIT,"M");  //Тип заявки: M - котировочная, L - встречная
		object BROKERREF="I_BROKERREF";   
                row.set_Item(ref BROKERREF,"552"); //Идентификатор клиента
		object SECBOARD="I_SECBOARD";
                row.set_Item(ref SECBOARD, "PSFU"); // Рынок: PSFU - FORTS Фьючерсы, PSOP - FORTS Опционы
		object ACCOUNT="I_ACCOUNT";
                row.set_Item(ref ACCOUNT, "AC1");  // Счет
		trans.Execute(row);
                Console.WriteLine("[System] Выставление");
            }
            else
            {
                Console.WriteLine("[System] Неверные логин или пароль пользователя");
            }
            
        }
    }
}
