NewMessage.aspx.cs
上传用户:tree100901
上传日期:2007-06-03
资源大小:2295k
文件大小:8k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Drawing;
  7. using System.Web;
  8. using System.IO;
  9. using System.Web.SessionState;
  10. using System.Web.UI;
  11. using System.Web.UI.WebControls;
  12. using System.Web.UI.HtmlControls;
  13. namespace OA
  14. {
  15. /// <summary>
  16. /// WebForm1 的摘要说明。
  17. /// </summary>
  18. public class WebForm1 : System.Web.UI.Page
  19. {
  20. protected System.Data.SqlClient.SqlConnection MyConnection;
  21. protected System.Web.UI.HtmlControls.HtmlForm Form1;
  22. protected System.Web.UI.WebControls.TextBox Accepter;
  23. protected System.Web.UI.WebControls.TextBox Contents;
  24. protected FreeTextBoxControls.FreeTextBox FreeTextBox1;
  25. protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
  26. protected System.Web.UI.HtmlControls.HtmlInputButton Send;
  27. protected System.Web.UI.HtmlControls.HtmlInputFile Attachment;
  28. protected System.Data.SqlClient.SqlCommand MyCommand;
  29. protected System.Web.UI.HtmlControls.HtmlInputHidden AccepterID;
  30. public string PID;
  31. private void Page_Load(object PersonID, System.EventArgs e)
  32. {
  33.     MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  34. SqlCommand MyCommand0 = new SqlCommand("PersonID",MyConnection);
  35. MyCommand0.CommandType = CommandType.StoredProcedure;
  36. MyCommand0.Parameters.Add(new SqlParameter("@Name", SqlDbType.NVarChar, 50));
  37. MyCommand0.Parameters["@Name"].Value = User.Identity.Name;
  38. MyConnection.Open();
  39. SqlDataReader myReader =  MyCommand0.ExecuteReader(CommandBehavior.CloseConnection);
  40. try
  41. {
  42. while(myReader.Read()) 
  43. {
  44. PID = myReader.GetInt32(0).ToString();
  45. }
  46. myReader.Close();
  47. }
  48. finally 
  49. {
  50. }
  51. /* string strScript = "<script>document.Form1.Accepter.value=window.dialogArguments;</script>" ;
  52. if(!Page.IsStartupScriptRegistered("clientScript"))
  53. Page.RegisterClientScriptBlock("clientScript", strScript);
  54. */
  55. // 在此处放置用户代码以初始化页面
  56. }
  57. #region Web 窗体设计器生成的代码
  58. override protected void OnInit(EventArgs e)
  59. {
  60. //
  61. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  62. //
  63. InitializeComponent();
  64. base.OnInit(e);
  65. }
  66. /// <summary>
  67. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  68. /// 此方法的内容。
  69. /// </summary>
  70. private void InitializeComponent()
  71. {    
  72. this.Send.ServerClick += new System.EventHandler(this.Send_ServerClick);
  73. this.Load += new System.EventHandler(this.Page_Load);
  74. }
  75. #endregion
  76. private void Send_ServerClick(object sender, System.EventArgs e)
  77. {
  78. if(FreeTextBox1.Text.Trim()=="")
  79. RegisterStartupScript("alert","<script>alert('内容不能为空')</script>");
  80. else
  81. {
  82. MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
  83. string filename = "";
  84. string filenamen = "";
  85. if(AccepterID.Value.Trim()!="")
  86. {
  87. MyCommand=new SqlCommand("InsertMessage",MyConnection);
  88. MyCommand.CommandType = CommandType.StoredProcedure;
  89. if (Attachment.PostedFile != null)
  90. filename=Path.GetFileName(Attachment.PostedFile.FileName).Trim();
  91. int j = 0;
  92. filenamen=filename;
  93. if(File.Exists(Server.MapPath("MessageAttachment\"+filenamen)))
  94. {
  95. filenamen = filename.Replace(".","("+j.ToString()+").");
  96. if(File.Exists(Server.MapPath("MessageAttachment\"+filenamen)))
  97. {
  98. int lastLocation = filename.LastIndexOf( "." );
  99. string[] dirs = Directory.GetFiles(Server.MapPath("MessageAttachment\"), ""+filename.Substring(0,lastLocation)+"(*");
  100. for(int l = 0; l<dirs.Length+1; l++)
  101. {
  102. string strf = filenamen.Replace("("+j.ToString()+").","("+l.ToString()+").");
  103. if(!File.Exists(Server.MapPath("MessageAttachment\"+strf)))
  104. filenamen = strf;
  105. }
  106. }
  107. }
  108. if(filenamen.Trim()!="")
  109. Attachment.PostedFile.SaveAs(Server.MapPath("MessageAttachment\"+filenamen));
  110. MyCommand.Parameters.Add(new SqlParameter("@Attachment", SqlDbType.NVarChar, 50));
  111. MyCommand.Parameters["@Attachment"].Value = filenamen;  
  112. MyCommand.Parameters.Add(new SqlParameter("@Contents",SqlDbType.NVarChar, 2000));
  113. MyCommand.Parameters["@Contents"].Value = FreeTextBox1.Text;
  114. MyCommand.Parameters.Add(new SqlParameter("@PersonID",SqlDbType.Int, 4));
  115. MyCommand.Parameters["@PersonID"].Value = PID; 
  116. MyCommand.Parameters.Add(new SqlParameter("@AccepterID", SqlDbType.NVarChar, 500));
  117. MyCommand.Parameters["@AccepterID"].Value = AccepterID.Value.Trim();   
  118. MyCommand.Parameters.Add(new SqlParameter("@State",SqlDbType.Int, 4));
  119. MyCommand.Parameters["@State"].Value = "0";
  120. if(MyConnection.State.ToString()=="Closed")
  121. MyConnection.Open();
  122. try
  123. {
  124. MyCommand.ExecuteNonQuery();
  125. }
  126. catch
  127. {
  128. }
  129. }
  130. string [] str = AccepterID.Value.Trim().Replace("(","").Replace(")","").Split(new Char [] {','});
  131. for(int i = 0; i<str.Length; i++)
  132. {
  133. if(str[i]!="")
  134. {
  135. MyCommand=new SqlCommand("InsertMessage",MyConnection);
  136. MyCommand.CommandType = CommandType.StoredProcedure;
  137. int j = 0;
  138. if(File.Exists(Server.MapPath("MessageAttachment\"+filenamen)))
  139. {
  140. filenamen = filename.Replace(".","("+j.ToString()+").");
  141. if(File.Exists(Server.MapPath("MessageAttachment\"+filenamen)))
  142. {
  143. int lastLocation = filename.LastIndexOf( "." );
  144. string[] dirs = Directory.GetFiles(Server.MapPath("MessageAttachment\"), ""+filename.Substring(0,lastLocation)+"(*");
  145. for(int l = 0; l<dirs.Length+1; l++)
  146. {
  147. string strf = filenamen.Replace("("+j.ToString()+").","("+l.ToString()+").");
  148. if(!File.Exists(Server.MapPath("MessageAttachment\"+strf)))
  149. filenamen = strf;
  150. }
  151. }
  152. }
  153. if(filenamen.Trim()!="")
  154. Attachment.PostedFile.SaveAs(Server.MapPath("MessageAttachment\"+filenamen));
  155. MyCommand.Parameters.Add(new SqlParameter("@Attachment", SqlDbType.NVarChar, 50));
  156. MyCommand.Parameters["@Attachment"].Value = filenamen; 
  157. MyCommand.Parameters.Add(new SqlParameter("@Contents",SqlDbType.NVarChar, 2000));
  158. MyCommand.Parameters["@Contents"].Value = FreeTextBox1.Text;
  159. MyCommand.Parameters.Add(new SqlParameter("@PersonID",SqlDbType.Int, 4));
  160. MyCommand.Parameters["@PersonID"].Value = PID; 
  161. MyCommand.Parameters.Add(new SqlParameter("@AccepterID", SqlDbType.NVarChar, 500));
  162. MyCommand.Parameters["@AccepterID"].Value = str[i].ToString().Trim();   
  163. MyCommand.Parameters.Add(new SqlParameter("@State",SqlDbType.Int, 4));
  164. MyCommand.Parameters["@State"].Value = "0";
  165. try
  166. {
  167. MyCommand.ExecuteNonQuery();
  168. }
  169. catch
  170. {
  171. RegisterStartupScript("alert","<script>alert('短信息未能正确发送!')</script>");
  172. }
  173. }
  174. }
  175. Accepter.Text="";
  176. FreeTextBox1.Text="";
  177. AccepterID.Value="";
  178. MyConnection.Close(); 
  179. }
  180. }
  181. public static string[] RemoveDup(string[] myData)
  182. {
  183. if (myData.Length > 0)
  184. {
  185. Array.Sort(myData);
  186. int size = 1;
  187. for (int i=1; i<myData.Length; i++)
  188. if (myData[i] != myData[i-1])
  189. size++;
  190. string[] myTempData = new string[size];
  191. int j=0;
  192. myTempData[j++] = myData[0];
  193. for (int i=1; i<myData.Length; i++)
  194. if (myData[i] != myData[i-1])
  195. myTempData[j++] = myData[i];
  196. return myTempData;
  197. }
  198. return myData; 
  199. }
  200. }
  201. }