Settings.aspx.cs
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:9k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Web;
  7. using System.Web.SessionState;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.HtmlControls;
  11. namespace OThinker.H3.Portal
  12. {
  13. /// <summary>
  14. /// Summary description for Settings.
  15. /// </summary>
  16.     public partial class Settings : PortalPage
  17. {
  18.         private long MinuteTicks = (new TimeSpan(0, 1, 0)).Ticks;
  19. protected void Page_Load(object sender, System.EventArgs e)
  20. {
  21. if(!this.IsPostBack)
  22. {
  23.                 // 验证是否具有管理员权限
  24.                 if (!this.UserValidator.ValidateAdministrator())
  25.                 {
  26.                     this.NotifyMessage(LackOfAuth);
  27.                 }
  28. this.chkInitialized.Checked = OThinker.H3.Server.Engine.SettingManager.Initialized;
  29.                 this.txtFrom.Text = OThinker.H3.Server.Engine.SettingManager.DefaultFrom;
  30.                 this.txtPassword.Text = OThinker.H3.Server.Engine.SettingManager.DefaultPassword;
  31.                 this.txtSmtp.Text = OThinker.H3.Server.Engine.SettingManager.DefaultSmtp;
  32.                 this.txtUserName.Text = OThinker.H3.Server.Engine.SettingManager.DefaultUserName;
  33.                 this.txtExceptionManager.LoadSelection(OThinker.H3.Server.Engine.Organization, OThinker.H3.Server.Engine.SettingManager.ExceptionManager);
  34.                 this.lblNextInstanceID.Text = OThinker.H3.Server.Engine.SettingManager.NextInstanceSeqID.ToString();
  35.                 this.txtListenThreadCount.Text = OThinker.H3.Server.Engine.SettingManager.ListenMessageThreadCount.ToString();
  36.                 this.chkRecordLog.Checked = OThinker.H3.Server.Engine.SettingManager.RecordLog;
  37.                 this.txtWorkflowLimit.Text = OThinker.H3.Server.Engine.SettingManager.WorkflowLimit.ToString();
  38.                 this.txtTokenLimit.Text = OThinker.H3.Server.Engine.SettingManager.TokenLimit.ToString();
  39.                 this.txtInstanceLimit.Text = OThinker.H3.Server.Engine.SettingManager.InstanceLimit.ToString();
  40.                 this.txtWorkItemLimit.Text = OThinker.H3.Server.Engine.SettingManager.WorkItemLimit.ToString();
  41.                 this.txtInstanceDataItemLimit.Text = OThinker.H3.Server.Engine.SettingManager.InstanceDataItemLimit.ToString();
  42.                 this.txtHeapDataItemLimit.Text = OThinker.H3.Server.Engine.SettingManager.HeapDataItemLimit.ToString();
  43.                 this.txtWorkFormLimit.Text = OThinker.H3.Server.Engine.SettingManager.WorkFormLimit.ToString();
  44.                 this.txtWorkItemYellowWarning.Text = OThinker.H3.Server.Engine.SettingManager.WorkItemYellowWarningTimeSpan.ToString();
  45.                 this.txtWorkItemRedWarning.Text = OThinker.H3.Server.Engine.SettingManager.WorkItemRedWarningTimeSpan.ToString();
  46.                 this.txtInstanceYellowWarning.Text = OThinker.H3.Server.Engine.SettingManager.InstanceYellowWarningTimeSpan.ToString();
  47.                 this.txtInstanceRedWarning.Text = OThinker.H3.Server.Engine.SettingManager.InstanceRedWarningTimeSpan.ToString();
  48.                 // 域
  49.                 this.txtDomainName.Text = OThinker.H3.Server.Engine.SettingManager.DomainName;
  50.                 this.txtADPath.Text = OThinker.H3.Server.Engine.SettingManager.ADPath;
  51.                 this.txtADUser.Text = OThinker.H3.Server.Engine.SettingManager.ADUser;
  52.                 this.txtADPassword.Text = OThinker.H3.Server.Engine.SettingManager.ADPassword;
  53.                 this.chkAutoSync.Checked = OThinker.H3.Server.Engine.SettingManager.AutoSync;
  54.                 this.txtSyncInterval.Text = (OThinker.H3.Server.Engine.SettingManager.SyncInterval.Ticks / MinuteTicks).ToString();
  55.                 // Sps
  56.                 this.txtSpsUser.Text = OThinker.H3.Server.Engine.SettingManager.SpsUser;
  57.                 this.txtSpsPassword.Text = OThinker.H3.Server.Engine.SettingManager.SpsPassword;
  58. }
  59. }
  60. #region Web Form Designer generated code
  61. override protected void OnInit(EventArgs e)
  62. {
  63. //
  64. // CODEGEN: This call is required by the ASP.NET Web Form Designer.
  65. //
  66. InitializeComponent();
  67. base.OnInit(e);
  68. }
  69. /// <summary>
  70. /// Required method for Designer support - do not modify
  71. /// the contents of this method with the code editor.
  72. /// </summary>
  73. private void InitializeComponent()
  74. {    
  75. this.btnOk.Click += new System.Web.UI.ImageClickEventHandler(this.btnOk_Click);
  76. }
  77. #endregion
  78. private void btnOk_Click(object sender, System.Web.UI.ImageClickEventArgs e)
  79. {
  80. this.Submit();
  81. }
  82. protected void lnkOk_Click(object sender, System.EventArgs e)
  83. {
  84. this.Submit();
  85. }
  86.         private void Submit()
  87.         {
  88.             // 检查输入的时间间隔是否正确
  89.             try
  90.             {
  91.                 if (double.Parse(this.txtSyncInterval.Text) < 0)
  92.                 {
  93.                     throw new Exception();
  94.                 }
  95.             }
  96.             catch
  97.             {
  98.                 this.NotifyMessage("输入的同步时间间隔不正确");
  99.             }
  100.             
  101.             // 记录以前是否已经初始化过了
  102.             bool initialized = OThinker.H3.Server.Engine.SettingManager.Initialized;
  103.             OThinker.H3.Server.Engine.SettingManager.Initialized = true;
  104.             // 邮件
  105.             OThinker.H3.Server.Engine.SettingManager.DefaultFrom = this.txtFrom.Text;
  106.             if (this.txtPassword.Text != null && this.txtPassword.Text != "")
  107.             {
  108.                 OThinker.H3.Server.Engine.SettingManager.DefaultPassword = this.txtPassword.Text;
  109.             }
  110.             OThinker.H3.Server.Engine.SettingManager.DefaultSmtp = this.txtSmtp.Text;
  111.             OThinker.H3.Server.Engine.SettingManager.DefaultUserName = this.txtUserName.Text;
  112.             // 异常管理员
  113.             OThinker.H3.Server.Engine.SettingManager.ExceptionManager = this.txtExceptionManager.SelectedUser;
  114.             try
  115.             {
  116.                 OThinker.H3.Server.Engine.SettingManager.ListenMessageThreadCount = int.Parse(this.txtListenThreadCount.Text);
  117.             }
  118.             catch
  119.             {
  120.                 this.NotifyMessage("监听消息线程数必须为大于等于1且小于等于32的值!");
  121.             }
  122.             // 是否记录执行日志
  123.             OThinker.H3.Server.Engine.SettingManager.RecordLog = this.chkRecordLog.Checked;
  124.             OThinker.H3.Server.Engine.SettingManager.WorkflowLimit = int.Parse(this.txtWorkflowLimit.Text);
  125.             OThinker.H3.Server.Engine.SettingManager.TokenLimit = int.Parse(this.txtTokenLimit.Text);
  126.             OThinker.H3.Server.Engine.SettingManager.InstanceLimit = int.Parse(this.txtInstanceLimit.Text);
  127.             OThinker.H3.Server.Engine.SettingManager.WorkItemLimit = int.Parse(this.txtWorkItemLimit.Text);
  128.             OThinker.H3.Server.Engine.SettingManager.InstanceDataItemLimit = int.Parse(this.txtInstanceDataItemLimit.Text);
  129.             OThinker.H3.Server.Engine.SettingManager.HeapDataItemLimit = int.Parse(this.txtHeapDataItemLimit.Text);
  130.             OThinker.H3.Server.Engine.SettingManager.WorkFormLimit = int.Parse(this.txtWorkFormLimit.Text);
  131.             OThinker.H3.Server.Engine.SettingManager.WorkItemYellowWarningTimeSpan = System.TimeSpan.Parse(this.txtWorkItemYellowWarning.Text);
  132.             OThinker.H3.Server.Engine.SettingManager.WorkItemRedWarningTimeSpan = System.TimeSpan.Parse(this.txtWorkItemRedWarning.Text);
  133.             OThinker.H3.Server.Engine.SettingManager.InstanceYellowWarningTimeSpan = System.TimeSpan.Parse(this.txtInstanceYellowWarning.Text);
  134.             OThinker.H3.Server.Engine.SettingManager.InstanceRedWarningTimeSpan = System.TimeSpan.Parse(this.txtInstanceRedWarning.Text);
  135.             // 域
  136.             OThinker.H3.Server.Engine.SettingManager.DomainName = this.txtDomainName.Text;
  137.             OThinker.H3.Server.Engine.SettingManager.ADPath = this.txtADPath.Text;
  138.             OThinker.H3.Server.Engine.SettingManager.ADUser = this.txtADUser.Text;
  139.             if (this.txtADPassword.Text != null && this.txtADPassword.Text != "")
  140.             {
  141.                 OThinker.H3.Server.Engine.SettingManager.ADPassword = this.txtADPassword.Text;
  142.             }
  143.             OThinker.H3.Server.Engine.SettingManager.AutoSync = this.chkAutoSync.Checked;
  144.             OThinker.H3.Server.Engine.SettingManager.SyncInterval = new TimeSpan((long)(double.Parse(this.txtSyncInterval.Text) * this.MinuteTicks));
  145.             // Sps
  146.             OThinker.H3.Server.Engine.SettingManager.SpsUser = this.txtSpsUser.Text;
  147.             if (this.txtSpsPassword.Text != null && this.txtSpsPassword.Text != "")
  148.             {
  149.                 OThinker.H3.Server.Engine.SettingManager.SpsPassword = this.txtSpsPassword.Text;
  150.             }
  151.             if (initialized)
  152.             {
  153.                 this.NotifyMessage("设置已成功!");
  154.             }
  155.             else
  156.             {
  157.                 this.Response.Redirect("Main.htm");
  158.             }
  159.         }
  160. }
  161. }