Esempio n. 1
0
 private void PublishWebResource(WebResourceInfo webResourceInfo)
 {
     Task.Run(() =>
     {
         webResourceInfo.Control.IsBusy = true;
         var oldDirtyState = webResourceInfo.Control.IsDirty;
         webResourceInfo.Control.IsDirty = false;
         try
         {
             var bytes = File.ReadAllBytes(webResourceInfo.Control.FileName);
             var file  = Convert.ToBase64String(bytes);
             Service.Update(new Entity("webresource", webResourceInfo.WebResourceId)
             {
                 ["content"] = file
             });
             PublishWebResource(Service, webResourceInfo.WebResourceId);
             webResourceInfo.Control.IsDirty = false;
         }
         catch
         {
             webResourceInfo.Control.IsDirty = oldDirtyState;
         }
         finally
         {
             webResourceInfo.Control.IsBusy = false;
         }
     });
 }
Esempio n. 2
0
        private void AddButton_Click(object sender, EventArgs e)
        {
            var fullFileName = FileNameBox.Text;

            var webResourceInfo = new WebResourceInfo
            {
                WebResourceId = (Guid)WebResourseNameBox.Tag,
                Control       = new WebResourceViewControl
                {
                    Dock            = DockStyle.Top,
                    Height          = 46,
                    FileName        = fullFileName,
                    WebResourceName = WebResourseNameBox.Text,
                    IsAuto          = IsAutoCheckbox.Checked
                }
            };

            WebResourcesList.Controls.Add(webResourceInfo.Control, 1, WebResourcesList.RowCount);
            WebResourcesList.RowStyles.Add(new RowStyle(SizeType.Absolute, webResourceInfo.Control.Height + 10));
            WebResourcesList.RowCount++;
            webResourceInfo.Control.IsBusy   = false;
            webResourceInfo.Control.IsDirty  = false;
            webResourceInfo.Control.Publish += (ss, ee) => PublishWebResource(_webResources[ee]);
            webResourceInfo.Control.Close   += (ss, ee) => CloseWebResource(ee);

            FileNameBox.Text       = WebResourseNameBox.Text = string.Empty;
            IsAutoCheckbox.Checked = false;

            var directoryName = Path.GetDirectoryName(fullFileName);

            _watchers.Add(directoryName);
            if (!_webResources.ContainsKey(fullFileName))
            {
                _webResources.Add(fullFileName, webResourceInfo);
            }
        }