public OrderTransaction(Presets.OrderEvent _Listener, Presets.ErrorEvent _Error, String _userID)
 {
     addOrderLock = new Object();
     userID = _userID;
     _localDb = DbFactory.GetDbDriver(this);
     eventListener = _Listener;
     errorListsner = _Error;
 }
示例#2
0
 public API(string url, string uName, string uPasswd, Presets.APIEvent listener)
 {
     apiEventListener = listener;
     username     = uName;
     userpassword = uPasswd;
     queue = new Queue<DataTypess.Order>();
     queueLock = new Object();
 }
 public FollowerPropereties(String followerID, String followerBrokerLogin, String followerBrokerPasswd, String followerEmail,
     Presets.SynchronizationMode followerSyncMode)
 {
     FollowerID           = followerID;
     FollowerBrokerLogin  = followerBrokerLogin;
     FollowerBrokerPasswd = followerBrokerPasswd;
     FollowerEmail        = followerEmail;
     FollowerSynchMode    = followerSyncMode;
 }
示例#4
0
 public TradingClass(String _userID, String userName, String userPassword, String url, String email, ErrorDbHandler _dbHandler, Presets.SynchronizationMode syncMode = Presets.SynchronizationMode.SynchronizePositions)
 {
     FollowerEmail =  email;
     dbHandler     = _dbHandler;
     _followerID   = _userID;
     _syncMode     = syncMode;
     randomGenerator  = new Random((int)(DateTime.Now.Ticks / 10000));
     _enabledLock     = new Object();
     _inProgressLock  = new Object();
     orderTransaction = new OrderTransaction(new Presets.OrderEvent(onOrder), new Presets.ErrorEvent(onError), _userID);
     _api             = new API(url, userName, userPassword, new Presets.APIEvent(OnApievent));
     _enabled         = true; //<--- Place to the end???
     _emailNotifier   = null;
     // Configure objects
     switch (syncMode)
     {
         case Presets.SynchronizationMode.SynchronizePositions:
             Program.MarkUserToSync(_userID);
             _enabled = false;
             break;
     }
     //Create inlternal sync class
 }
示例#5
0
        /// <summary>
        /// Add a follower. The follower object not created immediatly, but datas neaded to created follower stored in a special list
        /// When a "SubscribeFollower" method called a follower will be created and subscribe
        /// </summary>
        /// <param name="followerID">a follower id</param>
        /// <param name="userName"> follower broker login</param>
        /// <param name="userPassword">follower broker password</param>
        /// <param name="email">follower email</param>
        /// <param name="syncMode">follower sync mode</param>
        public void AddNewFollower(String followerID, String userName, String userPassword, String email,
                    Presets.SynchronizationMode syncMode = Presets.SynchronizationMode.SynchronizePositions)
        {
            //Перевірити чи фоловер ще не додано у список очікування
            IEnumerable<FollowerPropereties> selectedFollower = from sf in _notInitializedFollowers
                                                                where sf.FollowerID == followerID
                                                                select sf;
            if (selectedFollower.Count() != 0) throw new Exception("Follower allredy exist in a wait list");
            //Перевірити чи фоловер ще не існує
            if (Program.GetFollowerById(followerID) != null) throw new Exception("Follower allredy exist");

            FollowerPropereties followerProps = new FollowerPropereties
            {
                FollowerID = followerID,
                FollowerBrokerLogin = userName,
                FollowerBrokerPasswd = userPassword,
                FollowerEmail = email,
                FollowerSynchMode = syncMode
            };
            lock (_syncFollowerList)
            {
                _notInitializedFollowers.Add(followerProps);
            }
        }