private void DeleteShellDescriptor()
        {
            var model = List.FirstOrDefault(i => string.Equals(i.ShellName, _settings.Name, StringComparison.OrdinalIgnoreCase));

            if (model == null)
            {
                return;
            }
            List.Remove(model);
        }
        private void DeleteShellDescriptor(ShellDescriptorEntry descriptor, bool isSave = true)
        {
            if (descriptor == null)
            {
                throw new InvalidOperationException(T("找不到租户 '{0}' 的外壳描述符。", _settings.Name).ToString());
            }

            var model = List.FirstOrDefault(
                i => string.Equals(i.ShellName, descriptor.ShellName, StringComparison.OrdinalIgnoreCase));

            if (model == null)
            {
                return;
            }
            List.Remove(model);
            if (isSave)
            {
                List.Save();
            }
        }