public MainWindow(ClientSettingsDto settings) { InitializeComponent(); status = SBClientStatuses.WaitingForFile; // Неплохое решение насчет передачи Экшена UpdateProgress для апдейта прогрес-бара, // однако я бы лучше сделал подписку на событие, потому что тогда SBClientManager делает слишком много вещей. _messageClient = new SBClientManager(settings, new ConsoleLogger(), "MyClient1"); _messageClient.FilePartSentNotify += UpdateProgress; mainTimer = new Timer(CheckServerStatus); mainTimer.Change(0, settings.StatusSendPeriodMs); _brokerMessageSender = new BrokerMessageSender(_messageClient); }
public BrokerMessageSender(SBClientManager messageClient) { _messageClient = messageClient ?? throw new ArgumentNullException(nameof(messageClient)); }