Index.cshtml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. @using Edge.Core.Processor;
  2. @using System.Reflection;
  3. @using Edge.Core.Processor.Dispatcher.Attributes;
  4. @model IEnumerable<Tuple<ProcessorDescriptor, MetaPartsDescriptor>>;
  5. @{
  6. ViewData["Title"] = "LiteFccCore Portal";
  7. }
  8. <div class="text-center">
  9. <h2 class="display-4">LiteFccCore Web Portal</h2>
  10. </div>
  11. <div>
  12. <p>Total active processors count: @Model.Count()</p>
  13. @foreach (var processorCompoundInfo in Model.OrderByDescending(p => p.Item1.ProcessorType).ThenBy(p => p.Item1.Processor.MetaConfigName))
  14. {
  15. var processorDescriptor = processorCompoundInfo.Item1;
  16. <ul>
  17. <li>
  18. @if (processorDescriptor.ProcessorType == ProcessorType.Application)
  19. {
  20. <p>Application Processor Name: <b>@processorDescriptor.Processor.MetaConfigName</b> <i>of type: @processorDescriptor.Processor.GetType().FullName</i></p>
  21. <p>tags: @(processorCompoundInfo.Item2?.Tags?.Aggregate((acc,n)=>acc+", "+n)??"")</p>
  22. @if (processorDescriptor.UniversalApiInfos != null
  23. && processorDescriptor.UniversalApiInfos.Any())
  24. {
  25. <label>Universal Api Service:</label>
  26. <ul>
  27. @foreach (var apiInfo in processorDescriptor.UniversalApiInfos.Where(a => a.ServiceApiInfo != null))
  28. {
  29. <li>@(apiInfo?.ServiceApiInfo?.Name ?? "")</li>
  30. }
  31. </ul>
  32. <label>Universal Api Property:</label>
  33. <ul>
  34. @foreach (var apiInfo in processorDescriptor.UniversalApiInfos.Where(a => a.PropertyApiInfo != null))
  35. {
  36. <li>@(apiInfo?.PropertyApiInfo?.Name ?? "")</li>
  37. }
  38. </ul>
  39. <label>Universal Api Event:</label>
  40. <ul>
  41. @foreach (var apiInfo in processorDescriptor.UniversalApiInfos.Where(a => a.EventApiInfo != null))
  42. {
  43. <li>@(apiInfo.EventApiInfo.EventName ?? "")</li>
  44. }
  45. </ul>
  46. }
  47. }
  48. else
  49. {
  50. <p>Device Processor Name: <b>@processorDescriptor.Processor.MetaConfigName</b> <i>of type: @processorDescriptor.Processor.GetType().FullName</i></p>
  51. <p>tags: @(processorCompoundInfo.Item2?.Tags?.Aggregate((acc,n)=>acc+", "+n)??"")</p>
  52. <ul>
  53. <li>Handler <i>of type: @processorDescriptor.DeviceHandlerOrApp.GetType().FullName</i></li>
  54. @if (processorDescriptor.UniversalApiInfos != null
  55. && processorDescriptor.UniversalApiInfos.Any())
  56. {
  57. <label>Universal Api Service:</label>
  58. <ul>
  59. @foreach (var apiInfo in processorDescriptor.UniversalApiInfos.Where(a => a.ServiceApiInfo != null))
  60. {
  61. <li>@(apiInfo?.ServiceApiInfo?.Name ?? "")</li>
  62. }
  63. </ul>
  64. <label>Universal Api Property:</label>
  65. <ul>
  66. @foreach (var apiInfo in processorDescriptor.UniversalApiInfos.Where(a => a.PropertyApiInfo != null))
  67. {
  68. <li>@(apiInfo?.PropertyApiInfo?.Name ?? "")</li>
  69. }
  70. </ul>
  71. <label>Universal Api Event:</label>
  72. <ul>
  73. @foreach (var apiInfo in processorDescriptor.UniversalApiInfos.Where(a => a.EventApiInfo != null))
  74. {
  75. <li>@(apiInfo.EventApiInfo.EventName ?? "")</li>
  76. }
  77. </ul>
  78. }
  79. <li>Communicator <i>of type:@(processorDescriptor.DeviceProcessorCommunicator?.GetType().FullName ?? "")</i></li>
  80. </ul>
  81. }
  82. </li>
  83. </ul>
  84. }
  85. </div>