Ejemplo n.º 1
0
 public AccountSelectControl(GetProtectedOperationContextDel getProtectedOperationContext,
                             ITradeSharpServerTrade proxyAccount, string login) : this()
 {
     this.getProtectedOperationContext = getProtectedOperationContext;
     this.proxyAccount = proxyAccount;
     this.login        = login;
 }
Ejemplo n.º 2
0
 public AccountSelectControl(GetProtectedOperationContextDel getProtectedOperationContext,
     ITradeSharpServerTrade proxyAccount, string login)
     : this()
 {
     this.getProtectedOperationContext = getProtectedOperationContext;
     this.proxyAccount = proxyAccount;
     this.login = login;
 }
Ejemplo n.º 3
0
        private void MakeTradeSharpServerTradeProxy()
        {
            fakeServerTrade = ProxyBuilder.Instance.MakeImplementer <ITradeSharpServerTrade>(true);

            // ReSharper disable SuspiciousTypeConversion.Global
            ((IMockableProxy)fakeServerTrade).MockMethods.Add(
                // ReSharper restore SuspiciousTypeConversion.Global
                StronglyName.GetMethodName <ITradeSharpServerTrade>(
                    f => f.SendEditMarketRequest(null, null)),
                new Func <ProtectedOperationContext, MarketOrder, RequestStatus>((ctx, order) => RequestStatus.OK));
        }
Ejemplo n.º 4
0
 public void Initialize(
     Func<Account> getActualAccountData, Func<string> getUserLogin, 
     Action<PerformerStat> investInPAMM,
     ITradeSharpServerTrade serverProxy, ChatControlBackEnd chat)
 {
     this.getActualAccountData = getActualAccountData;
     this.getUserLogin = getUserLogin;
     this.investInPAMM = investInPAMM;
     ServerProxy = serverProxy;
     Chat = chat;
 }
Ejemplo n.º 5
0
 public void Initialize(
     Func <Account> getActualAccountData, Func <string> getUserLogin,
     Action <PerformerStat> investInPAMM,
     ITradeSharpServerTrade serverProxy, ChatControlBackEnd chat)
 {
     this.getActualAccountData = getActualAccountData;
     this.getUserLogin         = getUserLogin;
     this.investInPAMM         = investInPAMM;
     ServerProxy = serverProxy;
     Chat        = chat;
 }
Ejemplo n.º 6
0
 public TradeSharpServerTrade(ITradeSharpServerCallback callback)
 {
     try
     {
         proxyWCF = new TradeSharpServerTradeProxy(BindingName, callback);
         proxy    = proxyWCF;
     }
     catch (Exception ex)
     {
         Logger.Error("TradeSharpServerTrade ctor", ex);
     }
 }
Ejemplo n.º 7
0
 public TradeManager(ITradeSharpServerTrade proxyTrade, 
     ITradeSharpAccount proxyAccount,
     IStorage<string, QuoteData> quoteStorage, Func<int, AccountGroup> getAccountGroup)
 {
     profitCalculator = ProfitCalculator.Instance;
     if (getAccountGroup == null) throw new ArgumentException("TradeManager ctor()", "getAccountGroup");
     this.proxyTrade = proxyTrade;
     this.proxyAccount = proxyAccount;
     this.quoteStorage = quoteStorage;
     this.getAccountGroup = getAccountGroup;
     timeStarted = DateTime.Now;
 }
Ejemplo n.º 8
0
 public TradeSignalProcessor(Func <Account> getAccountInfo, Action <string> logMessage,
                             Func <List <MarketOrder> > getMarketOrders, Func <VolumeRoundType> getVolumeRound,
                             ITradeSharpServerTrade proxy, CurrentProtectedContext protectedContext,
                             FarmAccount farmAccount)
 {
     this.getAccountInfo   = getAccountInfo;
     this.proxy            = proxy;
     this.logMessage       = logMessage;
     this.getMarketOrders  = getMarketOrders;
     this.getVolumeRound   = getVolumeRound;
     this.protectedContext = protectedContext;
     this.farmAccount      = farmAccount;
 }
Ejemplo n.º 9
0
 public TradeSignalProcessor(Func<Account> getAccountInfo, Action<string> logMessage,
     Func<List<MarketOrder>> getMarketOrders, Func<VolumeRoundType> getVolumeRound,
     ITradeSharpServerTrade proxy, CurrentProtectedContext protectedContext,
     FarmAccount farmAccount)
 {
     this.getAccountInfo = getAccountInfo;
     this.proxy = proxy;
     this.logMessage = logMessage;
     this.getMarketOrders = getMarketOrders;
     this.getVolumeRound = getVolumeRound;
     this.protectedContext = protectedContext;
     this.farmAccount = farmAccount;
 }
        public void TestSetup()
        {
            Localizer.ResourceResolver = new MockResourceResolver();
            mainFormDebug   = new MainForm(true);
            fakeTradeServer = ProxyBuilder.Instance.GetImplementer <ITradeSharpServerTrade>();

            int currentSessionTag;

            methodAuthenticate  = ProxyBuilder.GetMethodName <ITradeSharpServerTrade>(a => a.Authenticate("", "", "", 0, 0, out currentSessionTag));
            methodSelectAccount = ProxyBuilder.GetMethodName <ITradeSharpServerTrade>(a => a.SelectAccount(null, 0));

            TradeSharpServerTradeProxy.fakeProxy = fakeTradeServer;
        }
Ejemplo n.º 11
0
 public TradeManager(ITradeSharpServerTrade proxyTrade,
                     ITradeSharpAccount proxyAccount,
                     IStorage <string, QuoteData> quoteStorage, Func <int, AccountGroup> getAccountGroup)
 {
     profitCalculator = ProfitCalculator.Instance;
     if (getAccountGroup == null)
     {
         throw new ArgumentException("TradeManager ctor()", "getAccountGroup");
     }
     this.proxyTrade      = proxyTrade;
     this.proxyAccount    = proxyAccount;
     this.quoteStorage    = quoteStorage;
     this.getAccountGroup = getAccountGroup;
     timeStarted          = DateTime.Now;
 }
Ejemplo n.º 12
0
        public void Setup()
        {
            NewsMaker.ClearNewsFolder();

            fakeTradeServer = ProxyBuilder.Instance.GetImplementer<ITradeSharpServerTrade>();
            fakeTradeAccount = ProxyBuilder.Instance.GetImplementer<ITradeSharpAccount>();

            Account ac;
            var methodName = ProxyBuilder.GetMethodName<ITradeSharpAccount>(a => a.GetAccountInfo(1, false, out ac));
            ((IMockableProxy)fakeTradeAccount).MockMethods.Add(methodName,
                new GetAccountInfoDel((int accountId, bool needEquityInfo, out Account account) =>
                {
                    account = accounts.FirstOrDefault(a => a.ID == accountId);
                    return RequestStatus.OK;
                }));

            TradeSharpServerTradeProxy.fakeProxy = fakeTradeServer;
        }
Ejemplo n.º 13
0
        public void Setup()
        {
            NewsMaker.ClearNewsFolder();

            fakeTradeServer  = ProxyBuilder.Instance.GetImplementer <ITradeSharpServerTrade>();
            fakeTradeAccount = ProxyBuilder.Instance.GetImplementer <ITradeSharpAccount>();

            Account ac;
            var     methodName = ProxyBuilder.GetMethodName <ITradeSharpAccount>(a => a.GetAccountInfo(1, false, out ac));

            ((IMockableProxy)fakeTradeAccount).MockMethods.Add(methodName,
                                                               new GetAccountInfoDel((int accountId, bool needEquityInfo, out Account account) =>
            {
                account = accounts.FirstOrDefault(a => a.ID == accountId);
                return(RequestStatus.OK);
            }));

            TradeSharpServerTradeProxy.fakeProxy = fakeTradeServer;
        }
Ejemplo n.º 14
0
        private void MakeMoq()
        {
            serverCats = new List <Contract.Entity.Subscription>
            {
                new Contract.Entity.Subscription
                {
                    Service     = 1,
                    PaidService = new PaidService
                    {
                        Comment = "Test signals",
                    },
                    AutoTradeSettings = new AutoTradeSettings
                    {
                        PercentLeverage = 50,
                        MaxLeverage     = 10,
                        MinVolume       = 10000,
                        StepVolume      = 5000,
                        TradeAuto       = true,
                    }
                }
            };

            fakeTradeServer  = ProxyBuilder.Instance.GetImplementer <ITradeSharpServerTrade>();
            fakeTradeAccount = ProxyBuilder.Instance.GetImplementer <ITradeSharpAccount>();


            WalletError walletError;
            var         bindToTradeSignal = ProxyBuilder.GetMethodName <ITradeSharpServerTrade>(a => a.SubscribeOnService(
                                                                                                    null, "", 0, false, false, null, out walletError));

            ((IMockableProxy)fakeTradeServer).MockMethods.Add(bindToTradeSignal,
                                                              new GetAccountInfoDel((ProtectedOperationContext secCtx, string userLogin, int serviceId, bool renewAuto,
                                                                                     bool unsb, AutoTradeSettings sets, out WalletError error) =>
            {
                error = WalletError.OK;
                // модифицировать подписки
                var indexExists = serverCats.FindIndex(c => c.Service == serviceId);
                if (indexExists >= 0)
                {
                    if (unsb)
                    {
                        serverCats.RemoveAt(indexExists);
                    }
                    else
                    {
                        var subs = new Contract.Entity.Subscription
                        {
                            Service           = serviceId,
                            AutoTradeSettings = sets,
                            RenewAuto         = renewAuto,
                            PaidService       = new PaidService
                            {
                                Id = serviceId
                            }
                        };
                        serverCats[indexExists] = subs;
                        serverCats.Add(subs);
                    }
                    return(true);
                }

                return(true);
            }));


            var getTradeSignalsSubscribed = ProxyBuilder.GetMethodName <ITradeSharpAccount>(a => a.GetSubscriptions(""));

            ((IMockableProxy)fakeTradeAccount).MockMethods.Add(getTradeSignalsSubscribed, new Func <string, List <Contract.Entity.Subscription> >(userLogin =>
            {
                return(userLogin == "Demo"
                   ? serverCats
                   : new List <Contract.Entity.Subscription>());
            }));
        }
        public void TestSetup()
        {
            Localizer.ResourceResolver = new MockResourceResolver();
            mainFormDebug = new MainForm(true);
            fakeTradeServer = ProxyBuilder.Instance.GetImplementer<ITradeSharpServerTrade>();

            int currentSessionTag;
            methodAuthenticate = ProxyBuilder.GetMethodName<ITradeSharpServerTrade>(a => a.Authenticate("", "", "", 0, 0, out currentSessionTag));
            methodSelectAccount = ProxyBuilder.GetMethodName<ITradeSharpServerTrade>(a => a.SelectAccount(null, 0));

            TradeSharpServerTradeProxy.fakeProxy = fakeTradeServer;
        }
Ejemplo n.º 16
0
        public void Setup()
        {
            // словари
            TradeSharpDictionary.Initialize(MoqTradeSharpDictionary.Mock);

            // заглушки для диалогов - выбора пользователей
            UserServiceRegistrator.DialogBoxProvider = new TestDialogBoxProvider();

            // серверный (торговый) прокси
            fakeTradeServer = ProxyBuilder.Instance.GetImplementer<ITradeSharpServerTrade>();
            List<Account> accounts;
            var getUserOwnedAccountsWithActualBalanceMethodName =
                ProxyBuilder.GetMethodName<ITradeSharpServerTrade>(a => a.GetUserOwnedAccountsWithActualBalance("",
                null, false, out accounts));

            ((IMockableProxy)fakeTradeServer).MockMethods.Add(getUserOwnedAccountsWithActualBalanceMethodName,
                new GetUserOwnedAccountsWithActualBalanceDel((string login, ProtectedOperationContext secCtx, bool realOnly,
                    out List<Account> acts) =>
                    {
                        acts = new List<Account>
                            {
                                new Account
                                    {
                                        Balance = 12000,
                                        Currency = "USD",
                                        ID = 51,
                                        Group = "Real"
                                    },
                                new Account
                                    {
                                        Balance = 2000,
                                        Currency = "USD",
                                        ID = 52,
                                        Group = "Real"
                                    }
                            };
                        return AuthenticationResponse.OK;
                    }));
            MainForm.serverProxyTrade = new TradeSharpServerTrade(fakeTradeServer);

            // кошельковый прокси
            fakeWalletManager = ProxyBuilder.Instance.GetImplementer<IWalletManager>();
            ((IMockableProxy) fakeWalletManager).MockMethods.Add(StronglyName.GetMethodName<IWalletManager>(
                w => w.GetUserWallet(null, null)),
                                                                 new Func<ProtectedOperationContext, string, Wallet>(
                                                                     (context, s) => new Wallet
                                                                         {
                                                                             Balance = 1005,
                                                                             Currency = "USD",
                                                                             User = 50
                                                                         }));
            WalletError walletError;
            var registerOrUpdateServiceMethodName =
                ProxyBuilder.GetMethodName<IWalletManager>(w => w.RegisterOrUpdateService(
                    null, null, out walletError));
            ((IMockableProxy) fakeWalletManager).MockMethods.Add(registerOrUpdateServiceMethodName,
                                                                 new RegisterOrUpdateServiceDel(
                                                                     (ProtectedOperationContext ctx, PaidService service,
                                                                      out WalletError error) =>
                                                                         {
                                                                             error = WalletError.OK;
                                                                             return true;
                                                                         }));
            TradeSharpWalletManager.Initialize(fakeWalletManager);
        }
Ejemplo n.º 17
0
 public TradeSharpServerTrade(ITradeSharpServerTrade trade)
 {
     proxy = trade;
 }
Ejemplo n.º 18
0
        private void MakeTradeSharpServerTradeProxy()
        {
            fakeServerTrade = ProxyBuilder.Instance.MakeImplementer<ITradeSharpServerTrade>(true);

            // ReSharper disable SuspiciousTypeConversion.Global
            ((IMockableProxy)fakeServerTrade).MockMethods.Add(
            // ReSharper restore SuspiciousTypeConversion.Global
                StronglyName.GetMethodName<ITradeSharpServerTrade>(
                    f => f.SendEditMarketRequest(null, null)),
                new Func<ProtectedOperationContext, MarketOrder, RequestStatus>((ctx, order) => RequestStatus.OK));
        }
        public void Setup()
        {
            // словари
            TradeSharpDictionary.Initialize(MoqTradeSharpDictionary.Mock);

            // заглушки для диалогов - выбора пользователей
            UserServiceRegistrator.DialogBoxProvider = new TestDialogBoxProvider();

            // серверный (торговый) прокси
            fakeTradeServer = ProxyBuilder.Instance.GetImplementer <ITradeSharpServerTrade>();
            List <Account> accounts;
            var            getUserOwnedAccountsWithActualBalanceMethodName =
                ProxyBuilder.GetMethodName <ITradeSharpServerTrade>(a => a.GetUserOwnedAccountsWithActualBalance("",
                                                                                                                 null, false, out accounts));

            ((IMockableProxy)fakeTradeServer).MockMethods.Add(getUserOwnedAccountsWithActualBalanceMethodName,
                                                              new GetUserOwnedAccountsWithActualBalanceDel((string login, ProtectedOperationContext secCtx, bool realOnly,
                                                                                                            out List <Account> acts) =>
            {
                acts = new List <Account>
                {
                    new Account
                    {
                        Balance  = 12000,
                        Currency = "USD",
                        ID       = 51,
                        Group    = "Real"
                    },
                    new Account
                    {
                        Balance  = 2000,
                        Currency = "USD",
                        ID       = 52,
                        Group    = "Real"
                    }
                };
                return(AuthenticationResponse.OK);
            }));
            MainForm.serverProxyTrade = new TradeSharpServerTrade(fakeTradeServer);

            // кошельковый прокси
            fakeWalletManager = ProxyBuilder.Instance.GetImplementer <IWalletManager>();
            ((IMockableProxy)fakeWalletManager).MockMethods.Add(StronglyName.GetMethodName <IWalletManager>(
                                                                    w => w.GetUserWallet(null, null)),
                                                                new Func <ProtectedOperationContext, string, Wallet>(
                                                                    (context, s) => new Wallet
            {
                Balance  = 1005,
                Currency = "USD",
                User     = 50
            }));
            WalletError walletError;
            var         registerOrUpdateServiceMethodName =
                ProxyBuilder.GetMethodName <IWalletManager>(w => w.RegisterOrUpdateService(
                                                                null, null, out walletError));

            ((IMockableProxy)fakeWalletManager).MockMethods.Add(registerOrUpdateServiceMethodName,
                                                                new RegisterOrUpdateServiceDel(
                                                                    (ProtectedOperationContext ctx, PaidService service,
                                                                     out WalletError error) =>
            {
                error = WalletError.OK;
                return(true);
            }));
            TradeSharpWalletManager.Initialize(fakeWalletManager);
        }