public CentralPanelScrin1( AccountInfo accountInfo, TradeAccountInfo tradeAccountInfo, CurrentTrades currentTrades, UserStreamData userStreamData, TradeConfigRepository configRepository, Martingale martingale, KeyPanelScrin1 keyPanelScrin1, RightPanelScrin1 rightPanelScrin1) { StartButton = new StartButton(); StopButton = new StopButton(); TradeConfigurationView = new TradeConfigurationView(); this.accountInfo = accountInfo; this.tradeAccountInfo = tradeAccountInfo; this.currentTrades = currentTrades; this.userStreamData = userStreamData; this.configRepository = configRepository; this.martingale = martingale; this.keyPanelScrin1 = keyPanelScrin1; this.rightPanelScrin1 = rightPanelScrin1; SetConfigView(); SetPairs(); // получаем сохраненные конфиги для правых кнопок }
private void ShowMoreCurrentTraces() { TimesClickShowMore++; CurrentTrades.Clear(); var itemIndex = TimesClickShowMore * 3; if (itemIndex >= mCurrentTracesStatic.Count) { //Invites = mInvitesStatic; foreach (var item in mCurrentTracesStatic) { CurrentTrades.Add(item); } IsShowMoreButton = false; } else { for (int i = 0; i < itemIndex; i++) { CurrentTrades.Add(mCurrentTracesStatic[i]); } IsShowMoreButton = true; } }
public ModelView() { dispatcher = Dispatcher.CurrentDispatcher; var connectedPairService = new ConnectedPairService(new ConnectedPairRepository()); connectedPairService.InitializeConnectedPair(MainWindow.ExchangeInfo.AllPairsMarket.MarketPairs); accountInfo = new AccountInfo(new APIKeyRepository(), new BalanceRepository()); tradeAccountInfo = new TradeAccountInfo(new APIKeyRepository(), new TradeConfigRepository(), new TradeRepository()); currentTrades = new CurrentTrades(new ConnectedPairRepository()); userStreamData = new UserStreamData(new StockExchenge.RepositoriesModel() { APIKeyRepository = new APIKeyRepository(), BalanceRepository = new BalanceRepository() }); martingaleReal = new Algoritms.Real.Martingale(new Algoritms.Real.RepositoriesM() { APIKeyRepository = new APIKeyRepository(), BalanceRepository = new BalanceRepository(), CurrentTrades = currentTrades, ExchangeInfo = MainWindow.ExchangeInfo, TradeConfigRepository = new TradeConfigRepository(), StopLimitOrderRepository = new StopLimitOrderRepository(), TakeProfitOrderRepository = new TakeProfitOrderRepository(), TradeRepository = new TradeRepository(), TradeAccountInfo = tradeAccountInfo }); martingaleReal.MessageErrorEvent += MartingaleReal_MessageErrorEvent; martingaleReal.MessageDebugEvent += MartingaleReal_MessageDebugEvent; martingaleBackTest = new Algoritms.BackTest.Martingale(new TradeHistoryRepository(), new TradeConfigRepository(), MainWindow.ExchangeInfo); currentGridStatistics = new Algoritms.BackTest.CurrentGridStatistics(new TradeConfigRepository()); ScrinManager = new ScrinManager(); ConsoleScrin1 = new ConsoleScrin1(); KeyPanelScrin1 = new KeyPanelScrin1(new APIKeyRepository(), new BalanceRepository()); LeftPanelScrin1 = new LeftPanelScrin1(); RightPanelScrin1 = new RightPanelScrin1(); CentralPanelScrin1 = new CentralPanelScrin1(accountInfo, tradeAccountInfo, currentTrades, userStreamData, new TradeConfigRepository(), martingaleReal, KeyPanelScrin1, RightPanelScrin1); PairPanelScrin1 = new PairPanelScrin1(new ConnectedPairRepository()); ChartService = new ChartService(dispatcher, 230, 810); CentralPanelScrinCalculator = new CentralPanelScrinCalculator(martingaleBackTest, currentGridStatistics, new TradeHistoryRepository()); ChartService.SelectedPair = CentralPanelScrin1.TradeConfigurationView.MainCoin + CentralPanelScrin1.TradeConfigurationView.AltCoin; //CentralPanelScrin1.loadChart = ChartService.LoadChart; CentralPanelScrin1.ChartService = ChartService; }
public void Init() { if (mCacheService.ProjectItem != null) { mProjectItem = mCacheService.ProjectItem; Title = mProjectItem.Title; Description = mProjectItem.Description; Stage = mProjectItem.Stage; var invitesAccepted = mProjectItem.Invites.Where(s => s.JoinedProject != null); foreach (var item in invitesAccepted) { mCurrentTracesStatic.Add(new CurrentTradesItemViewModel(this, item)); } if (mCurrentTracesStatic.Count > 3) { for (int i = 0; i < 3; i++) { CurrentTrades.Add(mCurrentTracesStatic[i]); } IsShowMoreButton = true; } else { foreach (var item in mCurrentTracesStatic) { CurrentTrades.Add(item); } IsShowMoreButton = false; } var intvitesPending = mProjectItem.Invites.Where(s => s.JoinedProject == null); foreach (var invite in intvitesPending) { InviteTrades.Add(new PendingTradesItemViewModel(this, invite) { EditProjectViewModel = this, PendingTrades = invite }); } } RegisterMessengers(); }
private async Task RemoveCurrentTrades(CurrentTradesItemViewModel itemModel) { if (itemModel != null) { mPlatformService.ShowNetworkIndicator(); mProgressDialogService.ShowProgressDialog(); var reponse = await mApiService.DeleteInvitee(mProjectItem.Id.Value, itemModel.CurrentTrades.InviteeEmail, itemModel.CurrentTrades.InviteeUserId); mPlatformService.HideNetworkIndicator(); mProgressDialogService.HideProgressDialog(); if (reponse) { CurrentTrades.Remove(itemModel); mCacheService.ProjectItem.Invites.Remove(itemModel.CurrentTrades); mCacheService.EdittingProjectInvitee.Remove(itemModel.CurrentTrades); mCacheService.EdittingProjectInviteeStatic.Remove(itemModel.CurrentTrades); } } }