/// <exception cref="InvalidClientDataException">On invalid client input vales.</exception>
        public string GetNodeIPForAppService(
            int id,
            AppServiceTypes serviceType
            )
        {
            Func <NtwkNode, bool> prop = null;
            string serviceName         = null;

            switch (serviceType)
            {
            case AppServiceTypes.Telnet:
                prop        = n => n.IsOpenTelnet;
                serviceName = "Telnet";
                break;

            case AppServiceTypes.SSH:
                prop        = n => n.IsOpenSSH;
                serviceName = "SSH";
                break;

            case AppServiceTypes.Web:
                prop        = n => n.IsOpenWeb;
                serviceName = "Web";
                break;

            default:
                throw new NotImplementedException(
                          $"No implementation for {serviceType.ToString()}.");
            }
            return(IPForService(id, prop, serviceName).ToString());
        }
Пример #2
0
        public IActionResult AppServiceOrBadRequest(
            int id,
            AppServiceTypes serviceType,
            IApplicationService service
            )
        {
            IActionResult badRequest = null;
            var           addr       = IPOrBadRequest(
                out badRequest,
                () => repo.GetNodeIPForAppService(id, serviceType)
                );

            if (badRequest != null)
            {
                return(badRequest);
            }
            service.StartApplication(addr);
            return(Ok());
        }