public bool AddUrlReservations(bool shouldOpenFirewallPorts = false)
        {
            Logger.Info("[Topshelf.Nancy] Adding URL Reservations");

            var user = GetUser();

            foreach (var prefix in GetPrefixes())
            {
                var result = NetSh.AddUrlAcl(prefix, user);
                if (result.ResultCode == NetShResultCode.Error)
                {
                    Logger.Error(string.Format("[Topshelf.Nancy] Error deleting URL Reservation with command: netsh {0}. {1}", result.CommandRan, result.Message));
                    return(false);
                }

                if (result.ResultCode == NetShResultCode.UrlReservationAlreadyExists)
                {
                    Logger.Warn("[Topshelf.Nancy] Could not add URL Reservation becuase it already exists. Treating as a success.");
                    return(true);
                }
            }

            Logger.Info("[Topshelf.Nancy] URL Reservations added");

            return(true);
        }
        public bool AddUrlReservations(bool shouldOpenFirewallPorts = false)
        {
            var prefixes = GetPrefixes().ToList();

            LogUrlReservations(prefixes);

            var user = GetUser();

            foreach (var prefix in prefixes)
            {
                var result = NetSh.AddUrlAcl(prefix, user);
                if (result.ResultCode == NetShResultCode.Error)
                {
                    var message = string.Format("[Topshelf.Nancy] Error adding URL Reservation {0} with command: netsh {1}. {2}", prefix, result.CommandRan, result.Message);
                    Logger.Error(message);
                    return(false);
                }

                if (result.ResultCode == NetShResultCode.UrlReservationAlreadyExists)
                {
                    var message = string.Format("[Topshelf.Nancy] Could not add URL Reservation {0} because it already exists. Treating as a success.", prefix);
                    Logger.Warn(message);
                    return(true);
                }
            }

            Logger.Info("[Topshelf.Nancy] URL Reservations added");

            return(true);
        }