/// <summary>
        /// This method credits or debits balance of platform accounts
        /// </summary>
        /// <param name="login">login</param>
        /// <param name="amount">amount</param>
        /// <param name="comment">comment</param>
        /// <returns></returns>
        public bool DoPlatformTransaction(int login, double amount, string comment)
        {
            try
            {
                var newTransac = new TradeTransInfoNET();
                newTransac.cmd      = (short)TradeCommands.OP_BALANCE;
                newTransac.comment  = comment;
                newTransac.orderby  = login;
                newTransac.price    = amount;
                newTransac.type     = (short)TradeTransTypes.TT_BR_BALANCE;
                newTransac.reserved = 0;

                var manager = new MetaTraderWrapperManager("mtdem01.primexm.com:443", 900, "!FQS123!!");
                if (manager.IsConnected() == 1)
                {
                    if (manager.TradeTransaction(newTransac) == 0)
                    {
                        return(true);
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                CurrentDeskLog.Error(ex.Message, ex);
                return(false);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// This method creates new user account in meta trader
        /// </summary>
        /// <param name="newUser"></param>
        /// <returns></returns>
        public static bool CreateMetaTraderAccountForUser(int pkClientAccID, int?fkPlatformID, User newUser, LoginAccountType accType)
        {
            try
            {
                var user = new MT4ManLibraryNETv03.UserRecordNET();
                user.group    = "FQ-IB-One";
                user.name     = newUser.UserEmailID;
                user.password = "******";

                var manager = new MetaTraderWrapperManager("mtdem01.primexm.com:443", 900, "!FQS123!!");
                if (manager.IsConnected() == 1)
                {
                    var accStatus = manager.CreateNewUser(user);

                    //If success
                    if (accStatus == 0)
                    {
                        var clientAccBO = new Client_AccountBO();
                        clientAccBO.InsertPlatformLoginForTradingAccount(pkClientAccID, fkPlatformID, user.password, user.login);
                        return(true);
                    }
                    else
                    {
                        var error = manager.ErrorDescription(accStatus);
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                CurrentDeskLog.Error(ex.Message, ex);
                throw;
            }
        }