Esempio n. 1
0
        protected override void Initialize(object navigationData)
        {
            base.Initialize(navigationData);
            var service = (IConfigurationService)this.GetService(typeof(IConfigurationService));

            pictureBox1.Image = service.Scope.GetImage();

            _feature = new CachingFeature(this.Module);
            _feature.CachingSettingsUpdated = this.InitializeListPage;
            _feature.Load();
        }
        public NewCachingDialog(IServiceProvider serviceProvider, CachingItem existing, CachingFeature feature)
            : base(serviceProvider)
        {
            InitializeComponent();
            Text     = existing == null ? "Add Cache Rule" : "Edit Cache Rule";
            _feature = feature;
            Item     = existing ?? new CachingItem(null);
            if (existing == null)
            {
                return;
            }

            txtExtension.Text  = Item.Extension;
            cbUser.Checked     = Item.Policy != 0L;
            rbUserFile.Checked = Item.Policy == 1L;
            rbUserTime.Checked = Item.Policy == 2L;
            rbUserNo.Checked   = Item.Policy == 3L;

            cbKernel.Checked     = Item.KernelCachePolicy != 0L;
            rbKernelFile.Checked = Item.KernelCachePolicy == 1L;
            rbKernelTime.Checked = Item.KernelCachePolicy == 2L;
            rbKernelNo.Checked   = Item.KernelCachePolicy == 3L;

            txtKernelTime.Text = txtUserTime.Text = Item.Duration.ToString();

            var container = new CompositeDisposable();

            FormClosed += (sender, args) => container.Dispose();

            container.Add(
                Observable.FromEventPattern <EventArgs>(btnOK, "Click")
                .Subscribe(evt =>
            {
                Item.Extension = txtExtension.Text;
                Item.Duration  = TimeSpan.Parse(txtKernelTime.Text);
                if (!cbUser.Checked)
                {
                    Item.Policy = 0L;
                }
                else if (rbUserFile.Checked)
                {
                    Item.Policy = 1L;
                }
                else if (rbUserTime.Checked)
                {
                    Item.Policy = 2L;
                }
                else if (rbUserNo.Checked)
                {
                    Item.Policy = 3L;
                }

                if (!cbKernel.Checked)
                {
                    Item.KernelCachePolicy = 0L;
                }
                else if (rbKernelFile.Checked)
                {
                    Item.KernelCachePolicy = 1L;
                }
                else if (rbKernelTime.Checked)
                {
                    Item.KernelCachePolicy = 2L;
                }
                else if (rbKernelNo.Checked)
                {
                    Item.KernelCachePolicy = 3L;
                }

                if (_feature.Items.Any(item => item.Match(Item)))
                {
                    ShowMessage(
                        "This rule already exists.",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error,
                        MessageBoxDefaultButton.Button1);
                    return;
                }

                DialogResult = DialogResult.OK;
            }));

            container.Add(
                Observable.FromEventPattern <EventArgs>(btnAdvanced, "Click")
                .Subscribe(evt =>
            {
                var dialog = new CachingAdvancedDialog(ServiceProvider, Item);
                dialog.ShowDialog();
            }));

            container.Add(
                Observable.FromEventPattern <EventArgs>(txtExtension, "TextChanged")
                .Subscribe(evt =>
            {
                btnOK.Enabled = !string.IsNullOrWhiteSpace(txtExtension.Text);
            }));
        }
Esempio n. 3
0
        public CachingAdvancedDialog(IServiceProvider serviceProvider, CachingItem item, CachingFeature feature)
            : base(serviceProvider)
        {
            InitializeComponent();
            cbString.Checked = !string.IsNullOrWhiteSpace(item.VaryByQueryString);
            txtString.Text   = item.VaryByQueryString;

            cbHeaders.Checked = !string.IsNullOrWhiteSpace(item.VaryByHeaders);
            txtHeaders.Text   = item.VaryByHeaders;

            var container = new CompositeDisposable();

            FormClosed += (sender, args) => container.Dispose();

            container.Add(
                Observable.FromEventPattern <EventArgs>(btnOK, "Click")
                .ObserveOn(System.Threading.SynchronizationContext.Current)
                .Subscribe(evt =>
            {
                item.VaryByHeaders     = txtHeaders.Text;
                item.VaryByQueryString = txtString.Text;
                DialogResult           = DialogResult.OK;
            }));

            container.Add(
                Observable.FromEventPattern <EventArgs>(cbString, "CheckedChanged")
                .ObserveOn(System.Threading.SynchronizationContext.Current)
                .Subscribe(evt =>
            {
                txtString.Enabled = cbString.Checked;
                if (!cbString.Checked)
                {
                    txtString.Text = string.Empty;
                }
            }));

            container.Add(
                Observable.FromEventPattern <EventArgs>(cbHeaders, "CheckedChanged")
                .ObserveOn(System.Threading.SynchronizationContext.Current)
                .Subscribe(evt =>
            {
                txtHeaders.Enabled = cbHeaders.Checked;
                if (!cbHeaders.Checked)
                {
                    txtHeaders.Text = string.Empty;
                }
            }));

            container.Add(
                Observable.FromEventPattern <CancelEventArgs>(this, "HelpButtonClicked")
                .ObserveOn(System.Threading.SynchronizationContext.Current)
                .Subscribe(EnvironmentVariableTarget =>
            {
                feature.ShowHelp();
            }));
        }
Esempio n. 4
0
 public FeatureTaskList(CachingFeature owner)
 {
     _owner = owner;
 }
        public CachingSettingsDialog(IServiceProvider serviceProvider, ConfigurationElement element, CachingFeature feature)
            : base(serviceProvider)
        {
            InitializeComponent();
            cbUser.Checked   = (bool)element["enabled"];
            cbKernel.Checked = (bool)element["enableKernelCache"];
            txtSize.Text     = element["maxResponseSize"].ToString();
            var limit = (uint)element["maxCacheSize"];

            cbLimit.Checked = limit != 0;
            if (cbLimit.Checked)
            {
                txtLimit.Text = limit.ToString();
            }

            var container = new CompositeDisposable();

            FormClosed += (sender, args) => container.Dispose();

            container.Add(
                Observable.FromEventPattern <EventArgs>(btnOK, "Click")
                .Subscribe(evt =>
            {
                element["enableKernelCache"] = cbKernel.Checked;
                element["enabled"]           = cbUser.Checked;
                element["maxResponseSize"]   = uint.Parse(txtSize.Text);
                if (!cbLimit.Checked)
                {
                    element["maxCacheSize"] = 0U;
                }
                else
                {
                    element["maxCacheSize"] = uint.Parse(txtLimit.Text);
                }

                DialogResult = DialogResult.OK;
            }));

            container.Add(
                Observable.FromEventPattern <CancelEventArgs>(this, "HelpButtonClicked")
                .ObserveOn(System.Threading.SynchronizationContext.Current)
                .Subscribe(EnvironmentVariableTarget =>
            {
                feature.ShowHelp();
            }));
        }