Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

43 linhas
1.6 KiB

  1. using JT808.DotNetty.Client.Metadata;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. namespace JT808.DotNetty.Client.Services
  7. {
  8. public class JT808ReportService
  9. {
  10. private readonly JT808ReceiveAtomicCounterService jT808ReceiveAtomicCounterService;
  11. private readonly JT808SendAtomicCounterService jT808SendAtomicCounterService;
  12. private readonly IJT808TcpClientFactory jT808TcpClientFactory;
  13. public List<JT808Report> JT808Reports { get; private set; }
  14. public JT808ReportService(
  15. JT808ReceiveAtomicCounterService jT808ReceiveAtomicCounterService,
  16. JT808SendAtomicCounterService jT808SendAtomicCounterService,
  17. IJT808TcpClientFactory jT808TcpClientFactory)
  18. {
  19. this.jT808ReceiveAtomicCounterService = jT808ReceiveAtomicCounterService;
  20. this.jT808SendAtomicCounterService = jT808SendAtomicCounterService;
  21. this.jT808TcpClientFactory = jT808TcpClientFactory;
  22. JT808Reports = new List<JT808Report>();
  23. }
  24. public void Create()
  25. {
  26. var clients = jT808TcpClientFactory.GetAll();
  27. JT808Reports.Add(new JT808Report()
  28. {
  29. SendTotalCount= jT808SendAtomicCounterService.MsgSuccessCount,
  30. ReceiveTotalCount= jT808ReceiveAtomicCounterService.MsgSuccessCount,
  31. CurrentDate=DateTime.Now,
  32. Connections= clients.Count,
  33. OnlineConnections= clients.Where(w => w.IsOpen).Count(),
  34. OfflineConnections= clients.Where(w => !w.IsOpen).Count(),
  35. });
  36. }
  37. }
  38. }