wfrm_Main.cs
上传用户:horngjaan
上传日期:2009-12-12
资源大小:2882k
文件大小:6k
源码类别:

Email服务器

开发平台:

C#

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.Data.SqlClient;
  8. namespace LumiSoft.MailServer
  9. {
  10. /// <summary>
  11. /// Summary description for Form1.
  12. /// </summary>
  13. public class wfrm_Main : System.Windows.Forms.Form
  14. {
  15. private LumiSoft.UI.Controls.WTabs.WTab wTab1;
  16. /// <summary>
  17. /// Required designer variable.
  18. /// </summary>
  19. private System.ComponentModel.Container components = null;
  20. private ServerAPI m_ServerAPI  = null;
  21. private DataSet dsSettings     = null;
  22. private string  m_connStr      = "";
  23. private DB_Type m_DB_Type      = DB_Type.XML;
  24. private wfrm_Domains  m_pDomains_Frm  = null;
  25. private wfrm_Users    m_pUsers_Frm    = null;
  26. private wfrm_Aliases  m_pAliases_Frm  = null;
  27. private wfrm_Routing  m_pRouting_Frm  = null;
  28. private wfrm_Setup    m_pSetup_Frm    = null;
  29. private wfrm_Delivery m_pDelivery_Frm = null;
  30. private wfrm_Security m_pSecurity_Frm = null;
  31. private wfrm_BackUp   m_pBackUP_Frm   = null;
  32. private wfrm_Logging  m_pLogging      = null;
  33. /// <summary>
  34. /// Default constructor.
  35. /// </summary>
  36. public wfrm_Main()
  37. {
  38. //
  39. // Required for Windows Form Designer support
  40. //
  41. InitializeComponent();
  42. //
  43. // TODO: Add any constructor code after InitializeComponent call
  44. //
  45. try
  46. {
  47. dsSettings = new DataSet();
  48. LoadData();
  49. m_pSetup_Frm = new wfrm_Setup(dsSettings,this);
  50. wTab1.AddTab(m_pSetup_Frm,"Server Settings");
  51. if(!ServerAPI.IsConnection(Application.StartupPath + "\Settings\",m_connStr,m_DB_Type)){
  52. MessageBox.Show(this,"Database connection is invalid,nplease configure database settings !","Error:",MessageBoxButtons.OK,MessageBoxIcon.Error);
  53. return;
  54. }
  55. m_ServerAPI = new ServerAPI(Application.StartupPath + "\Settings\","",m_connStr,m_DB_Type);
  56. m_pDomains_Frm  = new wfrm_Domains(m_ServerAPI,this);
  57. m_pUsers_Frm    = new wfrm_Users(m_ServerAPI);
  58. m_pAliases_Frm  = new wfrm_Aliases(m_ServerAPI);
  59. m_pRouting_Frm  = new wfrm_Routing(m_ServerAPI);
  60. m_pDelivery_Frm = new wfrm_Delivery(dsSettings);
  61. m_pSecurity_Frm = new wfrm_Security(m_ServerAPI);
  62. m_pBackUP_Frm   = new wfrm_BackUp(m_ServerAPI,this,dsSettings);
  63. m_pLogging      = new wfrm_Logging(dsSettings);
  64. wTab1.AddTab(m_pDomains_Frm  , "Domains");
  65. wTab1.AddTab(m_pUsers_Frm    , "Users");
  66. wTab1.AddTab(m_pAliases_Frm  , "Aliases");
  67. wTab1.AddTab(m_pRouting_Frm  , "Routing");
  68. wTab1.AddTab(m_pDelivery_Frm , "Delivery");
  69. wTab1.AddTab(m_pSecurity_Frm , "Security");
  70. wTab1.AddTab(m_pBackUP_Frm   , "BackUp");
  71. wTab1.AddTab(m_pLogging      , "Logging");
  72. }
  73. catch(Exception x)
  74. {
  75. wfrm_Error frm = new wfrm_Error(x,new System.Diagnostics.StackTrace());
  76. frm.ShowDialog(this);
  77. }
  78. finally{
  79. wTab1.SelectFirstTab();
  80. }
  81. }
  82. #region function Dispose
  83. /// <summary>
  84. /// Clean up any resources being used.
  85. /// </summary>
  86. protected override void Dispose( bool disposing )
  87. {
  88. if( disposing )
  89. {
  90. if (components != null) 
  91. {
  92. components.Dispose();
  93. }
  94. }
  95. base.Dispose( disposing );
  96. }
  97. #endregion
  98. #region Windows Form Designer generated code
  99. /// <summary>
  100. /// Required method for Designer support - do not modify
  101. /// the contents of this method with the code editor.
  102. /// </summary>
  103. private void InitializeComponent()
  104. {
  105. this.wTab1 = new LumiSoft.UI.Controls.WTabs.WTab();
  106. this.SuspendLayout();
  107. // 
  108. // wTab1
  109. // 
  110. this.wTab1.Dock = System.Windows.Forms.DockStyle.Fill;
  111. this.wTab1.Name = "wTab1";
  112. this.wTab1.SelectedTab = null;
  113. this.wTab1.Size = new System.Drawing.Size(634, 423);
  114. this.wTab1.TabIndex = 0;
  115. // 
  116. // wfrm_Main
  117. // 
  118. this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  119. this.ClientSize = new System.Drawing.Size(634, 423);
  120. this.Controls.AddRange(new System.Windows.Forms.Control[] {
  121.   this.wTab1});
  122. this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
  123. this.MaximizeBox = false;
  124. this.Name = "wfrm_Main";
  125. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  126. this.Text = "LumiSoft Mail Server Manager";
  127. this.ResumeLayout(false);
  128. }
  129. #endregion
  130. #region function LoadData
  131. private void LoadData()
  132. {
  133. try
  134. {
  135. dsSettings.Tables.Clear();
  136. dsSettings.ReadXml(Application.StartupPath + "\Settings\Settings.xml");
  137. m_connStr      = dsSettings.Tables["Settings"].Rows[0]["ConnectionString"].ToString();
  138. m_DB_Type      = (DB_Type)Enum.Parse(typeof(DB_Type),dsSettings.Tables["Settings"].Rows[0]["DataBaseType"].ToString());
  139. }
  140. catch(Exception x)
  141. {
  142. wfrm_Error frm = new wfrm_Error(x,new System.Diagnostics.StackTrace());
  143. frm.ShowDialog(this);
  144. }
  145. }
  146. #endregion
  147. #region function EnableTabs
  148. /// <summary>
  149. /// Disables all tabs.
  150. /// </summary>
  151. public void EnableTabs()
  152. {
  153. foreach(LumiSoft.UI.Controls.WTabs.Tab t in wTab1.WTabBar.Tabs){
  154. t.Enabled = true;
  155. }
  156. }
  157. #endregion
  158. #region function DisableTabs
  159. /// <summary>
  160. /// Disables all tabs.
  161. /// </summary>
  162. public void DisableTabs()
  163. {
  164. foreach(LumiSoft.UI.Controls.WTabs.Tab t in wTab1.WTabBar.Tabs){
  165. t.Enabled = false;
  166. }
  167. }
  168. #endregion
  169. #region function RefreshForms
  170. public void RefreshForms()
  171. {
  172. // m_pDomains_Frm.RefreshForm();  
  173. m_pUsers_Frm.RefreshForm(); 
  174. m_pAliases_Frm.RefreshForm();
  175. m_pRouting_Frm.RefreshForm();
  176. m_pSetup_Frm.RefreshForm();
  177. m_pDelivery_Frm.RefreshForm();
  178. // m_pSecurity_Frm
  179. m_pLogging.RefreshFrom();
  180. }
  181. #endregion
  182. }
  183. }