/// <summary>
        /// Creates a <see cref="MarginCore"/> for a given <see cref="IWpfTextView"/>.
        /// </summary>
        /// <param name="textView">The <see cref="IWpfTextView"/> to attach the margin to.</param>
        /// <param name="textDocumentFactoryService">Service that creates, loads, and disposes text documents.</param>
        /// <param name="vsServiceProvider">Visual Studio service provider.</param>
        /// <param name="formatMapService">Service that provides the <see cref="IEditorFormatMap"/>.</param>
        /// <param name="scrollMapFactoryService">Factory that creates or reuses an <see cref="IScrollMap"/> for an <see cref="ITextView"/>.</param>
        public MarginCore(IWpfTextView textView, ITextDocumentFactoryService textDocumentFactoryService, SVsServiceProvider vsServiceProvider, IEditorFormatMapService formatMapService, IScrollMapFactoryService scrollMapFactoryService)
        {
            Debug.WriteLine("Entering constructor.", Properties.Resources.ProductName);

            _textView = textView;
            if (!textDocumentFactoryService.TryGetTextDocument(_textView.TextDataModel.DocumentBuffer, out _textDoc))
            {
                Debug.WriteLine("Can not retrieve TextDocument. Margin is disabled.", Properties.Resources.ProductName);
                _isEnabled = false;
                return;
            }

            _formatMap      = formatMapService.GetEditorFormatMap(textView);
            _marginSettings = new MarginSettings(_formatMap);

            _scrollMap = scrollMapFactoryService.Create(textView);

            var dte = (DTE2)vsServiceProvider.GetService(typeof(DTE));

            _tfExt = (TeamFoundationServerExt)dte.GetObject(typeof(TeamFoundationServerExt).FullName);
            Debug.Assert(_tfExt != null, "_tfExt is null.");
            _tfExt.ProjectContextChanged += OnTfExtProjectContextChanged;

            UpdateMargin();
        }
Пример #2
0
 public Application(
     IRabbitMqNotifyService rabbitMqNotifyService,
     IConsole consoleWriter,
     MarketMakerService marketMakerService,
     ILog logger,
     MarginSettings marginSettings,
     IMaintenanceModeService maintenanceModeService,
     IRabbitMqService rabbitMqService,
     MatchingEngineRoutesManager matchingEngineRoutesManager,
     IMigrationService migrationService,
     IConvertService convertService,
     ExternalOrderBooksList externalOrderBooksList)
 {
     _rabbitMqNotifyService = rabbitMqNotifyService;
     _consoleWriter         = consoleWriter;
     _marketMakerService    = marketMakerService;
     _logger                      = logger;
     _marginSettings              = marginSettings;
     _maintenanceModeService      = maintenanceModeService;
     _rabbitMqService             = rabbitMqService;
     _matchingEngineRoutesManager = matchingEngineRoutesManager;
     _migrationService            = migrationService;
     _convertService              = convertService;
     _externalOrderBooksList      = externalOrderBooksList;
 }
Пример #3
0
 public BackendServicesModule(MtBackendSettings mtSettings, MarginSettings settings, IHostingEnvironment environment, ILog log)
 {
     _mtSettings  = mtSettings;
     _settings    = settings;
     _environment = environment;
     _log         = log;
 }
Пример #4
0
 public EquivalentPricesService(
     ICfdCalculatorService cfdCalculatorService,
     MarginSettings marginSettings)
 {
     _cfdCalculatorService = cfdCalculatorService;
     _marginSettings       = marginSettings;
 }
Пример #5
0
 public OvernightSwapService(
     IOvernightSwapCache overnightSwapCache,
     IAccountAssetsCacheService accountAssetsCacheService,
     IAccountsCacheService accountsCacheService,
     ICommissionService commissionService,
     IOvernightSwapStateRepository overnightSwapStateRepository,
     IOvernightSwapHistoryRepository overnightSwapHistoryRepository,
     IOrderReader orderReader,
     IThreadSwitcher threadSwitcher,
     IDateService dateService,
     AccountManager accountManager,
     MarginSettings marginSettings,
     ILog log)
 {
     _overnightSwapCache             = overnightSwapCache;
     _accountAssetsCacheService      = accountAssetsCacheService;
     _accountsCacheService           = accountsCacheService;
     _commissionService              = commissionService;
     _overnightSwapStateRepository   = overnightSwapStateRepository;
     _overnightSwapHistoryRepository = overnightSwapHistoryRepository;
     _orderReader    = orderReader;
     _threadSwitcher = threadSwitcher;
     _dateService    = dateService;
     _accountManager = accountManager;
     _marginSettings = marginSettings;
     _log            = log;
 }
Пример #6
0
 public AccountManager(AccountsCacheService accountsCacheService,
                       IMarginTradingAccountsRepository repository,
                       IConsole console,
                       MarginSettings marginSettings,
                       IRabbitMqNotifyService rabbitMqNotifyService,
                       IAccountGroupCacheService accountGroupCacheService,
                       IClientNotifyService clientNotifyService,
                       IClientAccountClient clientAccountClient,
                       IMarginTradingAccountsRepository accountsRepository,
                       ITradingConditionsCacheService tradingConditionsCacheService,
                       ILog log,
                       OrdersCache ordersCache,
                       IEventChannel <AccountBalanceChangedEventArgs> acountBalanceChangedEventChannel,
                       ITradingEngine tradingEngine)
     : base(nameof(AccountManager), 60000, log)
 {
     _accountsCacheService = accountsCacheService;
     _clientAccountClient  = clientAccountClient;
     _repository           = repository;
     _console                       = console;
     _marginSettings                = marginSettings;
     _rabbitMqNotifyService         = rabbitMqNotifyService;
     _accountGroupCacheService      = accountGroupCacheService;
     _accountsRepository            = accountsRepository;
     _tradingConditionsCacheService = tradingConditionsCacheService;
     _log = log;
     _clientNotifyService = clientNotifyService;
     _ordersCache         = ordersCache;
     _acountBalanceChangedEventChannel = acountBalanceChangedEventChannel;
     _tradingEngine = tradingEngine;
 }
        public void SetUp()
        {
            _clientAccountsService = Mock.Of <IClientAccountClient>(r =>
                                                                    r.GetMarginEnabledAsync("id of client") == Task.FromResult(new MarginEnabledSettingsModel()));
            var publisher = Mock.Of <IMessageProducer <MarginTradingEnabledChangedMessage> >();

            Mock.Get(publisher)
            .Setup(s => s.ProduceAsync(It.IsNotNull <MarginTradingEnabledChangedMessage>()))
            .Returns(Task.CompletedTask).Callback <MarginTradingEnabledChangedMessage>(m => _sentMessage = m);
            var expectedRabbitMqSettings = new RabbitMqSettings
            {
                ConnectionString = "conn str",
                ExchangeName     = "exchange name"
            };
            var rabbitMqService = Mock.Of <IRabbitMqService>(s =>
                                                             s.GetProducer(expectedRabbitMqSettings.Equivalent(), true,
                                                                           s.GetJsonSerializer <MarginTradingEnabledChangedMessage>()) ==
                                                             publisher);

            _marginSettings = new MarginSettings
            {
                MtRabbitMqConnString = "conn str",
                RabbitMqQueues       = new RabbitMqQueues
                {
                    MarginTradingEnabledChanged = new RabbitMqQueueInfo {
                        ExchangeName = "exchange name"
                    }
                }
            };

            _marginTradingSettingsCacheService = Mock.Of <IMarginTradingSettingsCacheService>();
            _sut = new MarginTradingEnablingService(_clientAccountsService, rabbitMqService, _marginSettings,
                                                    _marginTradingSettingsCacheService);
            _sut.Start();
        }
Пример #8
0
 public MtController(
     IMarginTradingAccountHistoryRepository accountsHistoryRepository,
     IMarginTradingOrdersHistoryRepository ordersHistoryRepository,
     IMicrographCacheService micrographCacheService,
     IAccountAssetsCacheService accountAssetsCacheService,
     IAssetPairsCache assetPairsCache,
     IMarketMakerMatchingEngine matchingEngine,
     ITradingEngine tradingEngine,
     IAccountsCacheService accountsCacheService,
     IMarginTradingOperationsLogService operationsLogService,
     IConsole consoleWriter,
     OrdersCache ordersCache,
     MarginSettings marginSettings,
     AccountManager accountManager,
     IAssetPairDayOffService assetDayOffService,
     IQuoteCacheService quoteCacheService,
     IIdentityGenerator identityGenerator)
 {
     _accountsHistoryRepository = accountsHistoryRepository;
     _ordersHistoryRepository   = ordersHistoryRepository;
     _micrographCacheService    = micrographCacheService;
     _accountAssetsCacheService = accountAssetsCacheService;
     _assetPairsCache           = assetPairsCache;
     _matchingEngine            = matchingEngine;
     _tradingEngine             = tradingEngine;
     _accountsCacheService      = accountsCacheService;
     _operationsLogService      = operationsLogService;
     _consoleWriter             = consoleWriter;
     _ordersCache        = ordersCache;
     _marginSettings     = marginSettings;
     _accountManager     = accountManager;
     _assetDayOffService = assetDayOffService;
     _quoteCacheService  = quoteCacheService;
     _identityGenerator  = identityGenerator;
 }
Пример #9
0
 public UpdatedAccountsStatsConsumer(IAccountsCacheService accountsCacheService,
                                     MarginSettings marginSettings,
                                     IRabbitMqNotifyService rabbitMqNotifyService)
 {
     _accountsCacheService  = accountsCacheService;
     _marginSettings        = marginSettings;
     _rabbitMqNotifyService = rabbitMqNotifyService;
 }
Пример #10
0
 public MarginTradingEnablingService(IClientAccountClient clientAccountClient, IRabbitMqService rabbitMqService,
                                     MarginSettings settings,
                                     IMarginTradingSettingsCacheService marginTradingSettingsCacheService)
 {
     _marginSettings      = settings;
     _rabbitMqService     = rabbitMqService;
     _clientAccountClient = clientAccountClient;
     _marginTradingSettingsCacheService = marginTradingSettingsCacheService;
 }
Пример #11
0
 /// <summary>
 /// Base setup required for building pdf. No defaults are set, so inputs are required.
 /// </summary>
 /// <param name="colorMode"></param>
 /// <param name="pageMargins"></param>
 /// <param name="orientation"></param>
 /// <param name="paperSize"></param>
 public BasePdfPageSpecification(ColorMode colorMode, MarginSettings pageMargins, Orientation orientation, PaperKind paperSize)
 {
     this.PageColorMode = colorMode;
     this.PageMargins   = pageMargins ?? new MarginSettings {
         Top = 20, Bottom = 20
     };
     this.PageOrientation = orientation;
     this.PaperSize       = paperSize;
 }
Пример #12
0
 public RabbitMqNotifyService(
     MarginSettings settings,
     IIndex <string, IMessageProducer <string> > publishers,
     ILog log)
 {
     _settings   = settings;
     _publishers = publishers;
     _log        = log;
 }
Пример #13
0
 public RisksController(IAssetPairsCache instrumentsCache,
                        IAccountsCacheService accountsCacheService,
                        MarginSettings marginSettings,
                        IMarginTradingAccountHistoryRepository accountHistoryRepository)
 {
     _instrumentsCache         = instrumentsCache;
     _accountsCacheService     = accountsCacheService;
     _marginSettings           = marginSettings;
     _accountHistoryRepository = accountHistoryRepository;
 }
        public MarginSettingsInstance(ObjectInstance prototype, MarginSettings marginSettings)
            : this(prototype)
        {
            if (marginSettings == null)
            {
                throw new ArgumentNullException("marginSettings");
            }

            m_marginSettings = marginSettings;
        }
Пример #15
0
 public AccountGroupManager(
     AccountGroupCacheService accountGroupCacheService,
     IAccountGroupRepository accountGroupRepository,
     MarginSettings settings,
     IClientNotifyService clientNotifyService)
 {
     _accountGroupCacheService = accountGroupCacheService;
     _repository          = accountGroupRepository;
     _settings            = settings;
     _clientNotifyService = clientNotifyService;
 }
Пример #16
0
 public Stream GenerateReport(string htmlContent)
 {
     var doc = new HtmlToPdfDocument
     {
         GlobalSettings =
         {
             Margins    = new MarginSettings {
                 Top    = 10
             },
             PageOffset = 0
         },
Пример #17
0
 public IsAliveController(
     IMarketMakerMatchingEngine matchingEngine,
     ITradingEngine tradingEngine,
     MarginSettings settings,
     IDateService dateService)
 {
     _matchingEngine = matchingEngine;
     _tradingEngine  = tradingEngine;
     _settings       = settings;
     _dateService    = dateService;
 }
Пример #18
0
 public EquivalentPricesService(
     IAccountsCacheService accountsCacheService,
     ICfdCalculatorService cfdCalculatorService,
     MarginSettings marginSettings,
     ILog log)
 {
     _accountsCacheService = accountsCacheService;
     _cfdCalculatorService = cfdCalculatorService;
     _marginSettings       = marginSettings;
     _log = log;
 }
Пример #19
0
 public MarginTradingEnabledFilter(
     MarginSettings marginSettings,
     IMarginTradingSettingsCacheService marginTradingSettingsCacheService,
     ICacheProvider cacheProvider,
     ILog log)
 {
     _marginSettings = marginSettings;
     _marginTradingSettingsCacheService = marginTradingSettingsCacheService;
     _cacheProvider = cacheProvider;
     _log           = log;
 }
Пример #20
0
        public async Task CreateSummary(List <TourItem> mockList = null)
        {
            var employeeList = new List <TourItem>();

            if (mockList == null)
            {
                var jsonData = System.IO.File.ReadAllText(userPath + @"TourPlaner_DL\TourJson\TourData.json");
                employeeList = JsonConvert.DeserializeObject <List <TourItem> >(jsonData) ?? new List <TourItem>();
            }
            else
            {
                employeeList = mockList;
            }

            float  totalDistance = 0;
            string summaryText   = "";

            TimeSpan total        = new();
            var      totalDisplay = "";

            foreach (var item in employeeList)
            {
                totalDistance += item.TourInfo.Distance;

                if (mockList == null)
                {
                    var split = item.TourInfo.TotalTime.Split(':');
                    total        = total.Add(new TimeSpan(int.Parse(split[0]), int.Parse(split[1]), int.Parse(split[2])));
                    totalDisplay = total.ToString(@"dd\:hh\:mm\:ss");
                }

                summaryText += @$ "Tourname: {item.Name} || Start: {item.TourInfo.Start} -> Destination: {item.TourInfo.Goal} || Time: {item.TourInfo.TotalTime} || Distance: {item.TourInfo.Distance}km <br>";
            }

            var converter = new BasicConverter(new PdfTools());

            if (!Directory.Exists(userPath + $@"TourPlaner_DL\TourPDFs\"))
            {
                Directory.CreateDirectory(userPath + @"TourPlaner_DL\TourPDFs\");
            }

            var doc = new HtmlToPdfDocument()
            {
                GlobalSettings =
                {
                    ColorMode   = ColorMode.Color,
                    Orientation = Orientation.Landscape,
                    PaperSize   = PaperKind.A4Plus,
                    Margins     = new MarginSettings {
                        Top     =         10
                    },
                    Out         = userPath + @"TourPlaner_DL\TourPDFs\SummaryLog.pdf",
                },
Пример #21
0
 public AccountsBalanceController(
     MarginSettings marginSettings,
     IMarginTradingOperationsLogService operationsLogService,
     ILog log,
     IAccountsCacheService accountsCacheService,
     AccountManager accountManager)
 {
     _marginSettings       = marginSettings;
     _operationsLogService = operationsLogService;
     _log = log;
     _accountsCacheService = accountsCacheService;
     _accountManager       = accountManager;
 }
Пример #22
0
 public AccountAssetsManager(
     AccountAssetsCacheService accountAssetsCacheService,
     IAccountAssetPairsRepository accountAssetPairsRepository,
     MarginSettings settings,
     IClientNotifyService clientNotifyService,
     IOrderReader orderReader)
 {
     _accountAssetsCacheService = accountAssetsCacheService;
     _pairsRepository           = accountAssetPairsRepository;
     _settings            = settings;
     _clientNotifyService = clientNotifyService;
     _orderReader         = orderReader;
 }
Пример #23
0
 public AccountProfileController(
     IMarginTradingAccountHistoryRepository accountsHistoryRepository,
     IMarginTradingOrdersHistoryRepository ordersHistoryRepository,
     IAccountsCacheService accountsCacheService,
     OrdersCache ordersCache,
     MarginSettings settings)
 {
     _accountsHistoryRepository = accountsHistoryRepository;
     _ordersHistoryRepository   = ordersHistoryRepository;
     _accountsCacheService      = accountsCacheService;
     _ordersCache = ordersCache;
     _settings    = settings;
 }
Пример #24
0
 public ClientNotifyService(
     IRabbitMqNotifyService rabbitMqNotifyService,
     IMarginTradingOperationsLogService operationsLogService,
     MarginSettings marginSettings,
     IConsole consoleWriter,
     IAccountsCacheService accountsCacheService)
 {
     _rabbitMqNotifyService = rabbitMqNotifyService;
     _operationsLogService  = operationsLogService;
     _marginSettings        = marginSettings;
     _consoleWriter         = consoleWriter;
     _accountsCacheService  = accountsCacheService;
 }
Пример #25
0
        /// <summary>
        /// Base setup required for building pdf. No defaults are set, so inputs are required.
        /// </summary>
        /// <param name="colorMode"></param>
        /// <param name="pageMargins"></param>
        /// <param name="orientation"></param>
        /// <param name="paperSize"></param>
        public BasePdfPageSpecification(ColorMode colorMode, MarginSettings pageMargins, Orientation orientation, PaperKind paperSize)
        {
            this.PageColorMode = colorMode;
            this.PageMargins   = pageMargins ?? new MarginSettings {
                Top = 20, Bottom = 20
            };
            this.PageOrientation = orientation;
            this.PaperSize       = paperSize;

            DefaultEncoding = "utf-8";
            FontName        = "Arial";
            PageSpacing     = 10;
            UserStyleSheet  = string.Empty;
        }
Пример #26
0
        public void ShouldHaveDefaultValuesAfterInvokingEmptyConstructor()
        {
            // Act
            var sut = new MarginSettings();

            // Assert
            using (new AssertionScope())
            {
                sut.Unit.Should().Be(Unit.Millimeters);
                sut.Top.Should().BeNull();
                sut.Right.Should().BeNull();
                sut.Bottom.Should().BeNull();
                sut.Left.Should().BeNull();
            }
        }
Пример #27
0
 public EquivalentPricesService(
     IAccountsCacheService accountsCacheService,
     ICfdCalculatorService cfdCalculatorService,
     IQuoteCacheService quoteCacheService,
     IAssetPairsCache assetPairsCache,
     MarginSettings marginSettings,
     ILog log)
 {
     _accountsCacheService = accountsCacheService;
     _cfdCalculatorService = cfdCalculatorService;
     _quoteCacheService    = quoteCacheService;
     _assetPairsCache      = assetPairsCache;
     _marginSettings       = marginSettings;
     _log = log;
 }
Пример #28
0
        public TradingSyncContext(string contextType, string contextSource,
                                  ITelemetryPublisher telemetryPublisher, MarginSettings marginTradingSettings)
        {
            _contextType           = contextType;
            _contextSource         = contextSource;
            _telemetryPublisher    = telemetryPublisher;
            _marginTradingSettings = marginTradingSettings;

            _sw.Start();

            Monitor.Enter(MarginTradingHelpers.TradingMatchingSync);

            _waitingForLockTime = _sw.ElapsedMilliseconds;

            _sw.Restart();
            _contextNestingDepth++;
        }
Пример #29
0
        public void ShouldReturnProperStringWhenInvokingGetMarginValue(
            Unit unit,
            double?value,
            string?expected)
        {
            // Arrange
            var sut = new MarginSettings
            {
                Unit = unit,
            };

            // Act
            var result = sut.GetMarginValue(value);

            // Assert
            result.Should().Be(expected);
        }
Пример #30
0
 public QuotesMonitor(ILog log,
                      IMtSlackNotificationsSender slackNotificationsSender,
                      MarginSettings marginSettings,
                      IQuoteCacheService quoteCacheService,
                      IDateService dateService,
                      IAssetPairDayOffService dayOffService,
                      IAlertSeverityLevelService alertSeverityLevelService)
     : base("QuotesMonitor", 60000, log)
 {
     _log = log;
     _slackNotificationsSender = slackNotificationsSender;
     _marginSettings           = marginSettings;
     _quoteCacheService        = quoteCacheService;
     _dateService               = dateService;
     _dayOffService             = dayOffService;
     _alertSeverityLevelService = alertSeverityLevelService;
     _outdatedQuotes            = new Dictionary <string, OutdatedQuoteInfo>();
 }