Example #1
0
        public async Task <IActionResult> GetAllInterface()
        {
            var possibleInterfaces = _interfaceEngine.GetPossibleListeners();
            var activeInterfaces   = await _interfaceEngine.GetActiveListeners();

            List <ActiveDHCPv6InterfaceEntry> activeEntries  = new List <ActiveDHCPv6InterfaceEntry>();
            List <DHCPv6InterfaceEntry>       unboundEntries = new List <DHCPv6InterfaceEntry>();

            foreach (var item in possibleInterfaces)
            {
                var activeInterface = activeInterfaces.FirstOrDefault(x => x.PhysicalInterfaceId == item.PhysicalInterfaceId && x.Address == item.Address);
                if (activeInterface != null)
                {
                    activeEntries.Add(new ActiveDHCPv6InterfaceEntry
                    {
                        SystemId              = activeInterface.Id,
                        IPv6Address           = activeInterface.Address.ToString(),
                        MACAddress            = item.PhysicalAddress,
                        Name                  = activeInterface.Name,
                        PhysicalInterfaceName = item.Interfacename,
                        PhysicalInterfaceId   = activeInterface.PhysicalInterfaceId
                    });
                }
                else
                {
                    unboundEntries.Add(new DHCPv6InterfaceEntry
                    {
                        IPv6Address         = item.Address.ToString(),
                        MACAddress          = item.PhysicalAddress,
                        InterfaceName       = item.Interfacename,
                        PhysicalInterfaceId = item.PhysicalInterfaceId,
                    });
                }
            }

            var detachedInterfaces = activeInterfaces
                                     .Where(x => possibleInterfaces.Count(y => y.PhysicalInterfaceId == x.PhysicalInterfaceId) == 0)
                                     .Select(x => new DetachedDHCPv6InterfaceEntry
            {
                SystemId    = x.Id,
                IPv6Address = x.Address.ToString(),
                Name        = x.Name
            }).ToList();


            var result = new DHCPv6InterfaceOverview
            {
                ActiveEntries   = activeEntries,
                Entries         = unboundEntries,
                DetachedEntries = detachedInterfaces
            };

            return(base.Ok(result));
        }
Example #2
0
        public async Task ShowDeleteDialog(ActiveDHCPv6InterfaceEntry entry)
        {
            var parameters = new DialogParameters
            {
                { nameof(DeleteDHCPv6InterfaceDialog.Entry), entry }
            };

            var messageForm = _dialogService.Show <DeleteDHCPv6InterfaceDialog>(String.Format(L["DeleteDialogTitle"], entry.Name), parameters);
            var result      = await messageForm.Result;

            if (result.IsSuccess() == true)
            {
                _snackBarService.Add(String.Format(L["DeleteInterfaceSuccessSnackbarContent"], entry.Name), Severity.Success);
                _interfaceOverview = await _service.GetDHCPv6Interfaces();
            }
        }
Example #3
0
        protected override async Task OnInitializedAsync()
        {
            await base.OnInitializedAsync();

            _interfaceOverview = await _service.GetDHCPv6Interfaces();
        }