⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projectmanage.cs

📁 软件工程的课程作业
💻 CS
字号:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace PSMS
{
	/// <summary>
	/// 项目资料管理类
	/// </summary>
	public class projectManage
	{
		/// <summary>
		/// 新增项目
		/// </summary>
		/// <param name="ada_project"></param>
		/// <param name="dset"></param>
		/// <param name="dgrid"></param>
		public void addproject(System.Data.OleDb.OleDbDataAdapter ada_project,
			System.Data.DataSet dset, System.Windows.Forms.DataGrid dgrid)
		{
			project p_add = new project();
			p_add.ShowDialog();
			if(p_add.psubmit.BackColor == Color.GreenYellow)
			{
				try
				{
					ada_project.InsertCommand.CommandText = 
						"INSERT INTO Project (ProjectID,ProjectName,ManagerID,LinkmanID,LFrequency,ProjectStatus,"+
						"ProjectContent,StartTime,SignTime,OverTime,Remark,ClientID "+
						") VALUES ( '"+
						p_add.ProjectID.Text + "','"+
						p_add.ProjectName.Text + "','"+
						p_add.ManagerID.Text + "','"+
						p_add.LinkmanID.Text + "','"+
						p_add.LFrequency.Text + "','"+
						p_add.ProjectStatus.Text + "','"+
						p_add.ProjectContent.Text + "','"+
						p_add.StartTime.Text + "','"+
						p_add.SignTime.Text + "','"+
						p_add.OverTime.Text + "','"+
						p_add.Remark.Text + "','"+
						p_add.ClientID.Text + "')";

					ada_project.InsertCommand.ExecuteNonQuery();					//执行Insert语句
					dset.Clear(); 
					ada_project.Fill(dset);
					dgrid.DataSource=dset.Tables["Project"];
				}
				catch(System.Exception ie)
				{
					MessageBox.Show(ie.Message);
				}
			}
		}

		/// <summary>
		/// 查询项目
		/// </summary>
		/// <param name="ada_project"></param>
		/// <param name="dset"></param>
		/// <param name="dgrid"></param>
		public void searchproject(System.Data.OleDb.OleDbDataAdapter ada_project,
			System.Data.DataSet dset, System.Windows.Forms.DataGrid dgrid, int Popedom, int ManagerID)
		{
			project p_search = new project();
			p_search.LFrequency.Enabled = false;
			p_search.ProjectContent.Enabled = false;
			p_search.StartTime.Enabled = false;
			p_search.SignTime.Enabled = false;
			p_search.OverTime.Enabled = false;
			p_search.Remark.Enabled = false;
			if( Popedom == 2 )
			{
				p_search.ManagerID.Text = ManagerID+"";
				p_search.ManagerID.Enabled = false;
			}
			p_search.ShowDialog();

			if(p_search.psubmit.BackColor == Color.GreenYellow)
			{
				try
				{
					if(p_search.ProjectID.Text == "" && p_search.ProjectName.Text == "" && p_search.ManagerID.Text 
						== "" && p_search.LinkmanID.Text == "" && p_search.ProjectStatus.Text == "" 
						&& p_search.ClientID.Text == "")
						ada_project.SelectCommand.CommandText = "SELECT * FROM Project";
					else
					{
						int i = 0;
						String cmdstr = "SELECT * FROM Project WHERE ";
						if(p_search.ProjectID.Text != "")
						{
							i++;
							cmdstr +=  "ProjectID='"+p_search.ProjectID.Text +"'";
						}
						if(p_search.ProjectName.Text != "")
						{
							if( i>0 ) cmdstr += " AND ";
							i++;
							cmdstr +=  "ProjectName='"+p_search.ProjectName.Text +"'";
						}
						if(p_search.ManagerID.Text != "")
						{
							if( i>0 ) cmdstr += " AND ";
							i++;
							cmdstr +=  "ManagerID='"+p_search.ManagerID.Text +"'";
						}
						if(p_search.LinkmanID.Text != "")
						{
							if( i>0 ) cmdstr += " AND ";
							i++;
							cmdstr +=  "LinkmanID='"+p_search.LinkmanID.Text +"'";
						}
						if(p_search.ProjectStatus.Text != "")
						{
							if( i>0 ) cmdstr += " AND ";
							i++;
							cmdstr +=  "ProjectStatus='"+p_search.ProjectStatus.Text +"'";
						}
						if(p_search.ClientID.Text != "")
						{
							if( i>0 ) cmdstr += " AND ";
							i++;
							cmdstr +=  "ClientID='"+p_search.ClientID.Text +"'";
						}
							
						ada_project.SelectCommand.CommandText = cmdstr;
					}

					ada_project.SelectCommand.ExecuteNonQuery();					//执行Insert语句
					dset.Clear(); 
					ada_project.Fill(dset);
					dgrid.DataSource=dset.Tables["Project"];
				}
				catch(System.Exception ie)
				{
					MessageBox.Show(ie.Message);
				}
			}	
		}

		/// <summary>
		/// 删除项目
		/// </summary>
		/// <param name="ada_project"></param>
		/// <param name="dset"></param>
		/// <param name="dgrid"></param>
		public void deleteproject(System.Data.OleDb.OleDbDataAdapter ada_project,
			System.Data.DataSet dset, System.Windows.Forms.DataGrid dgrid)
		{
			try
			{
				int i = dgrid.CurrentCell.RowNumber;
				int id = (int)dset.Tables["Project"].Rows[i]["ProjectID"];

				DialogResult Result;
				Result = MessageBox.Show("确定要删除ID号为"+id+"的项目吗?",
					"警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2);
				if(Result == DialogResult.Yes) 
				{
					ada_project.DeleteCommand.CommandText="DELETE FROM Project WHERE ProjectID = '"+id+"'";
					ada_project.DeleteCommand.ExecuteNonQuery();

					dset.Clear(); 
					ada_project.Fill(dset);
					dgrid.DataSource=dset.Tables["Project"];
				}
			}
			catch(System.Exception ie)
			{
				MessageBox.Show(ie.Message);
			}
		}

		/// <summary>
		/// 修改项目
		/// </summary>
		/// <param name="ada_project"></param>
		/// <param name="dset"></param>
		/// <param name="dgrid"></param>
		public void modifyproject(System.Data.OleDb.OleDbDataAdapter ada_project,
			System.Data.DataSet dset, System.Windows.Forms.DataGrid dgrid)
		{
			int i = dgrid.CurrentCell.RowNumber;

			project p_modify = new project();
			p_modify.ProjectID.Text = ""+(int)dset.Tables["Project"].Rows[i]["ProjectID"];
			p_modify.ProjectID.Enabled = false;
			p_modify.preset.Enabled = false;
			p_modify.ProjectName.Text = ""+dset.Tables["Project"].Rows[i]["ProjectName"];
			p_modify.ManagerID.Text = ""+dset.Tables["Project"].Rows[i]["ManagerID"];
			p_modify.LinkmanID.Text = ""+dset.Tables["Project"].Rows[i]["LinkmanID"];
			p_modify.LFrequency.Text = ""+dset.Tables["Project"].Rows[i]["LFrequency"];
			p_modify.ProjectStatus.Text = ""+dset.Tables["Project"].Rows[i]["ProjectStatus"];
			p_modify.ProjectContent.Text = ""+dset.Tables["Project"].Rows[i]["ProjectContent"];
			p_modify.StartTime.Text = ""+dset.Tables["Project"].Rows[i]["StartTime"];
			p_modify.SignTime.Text = ""+dset.Tables["Project"].Rows[i]["SignTime"];
			p_modify.OverTime.Text = ""+dset.Tables["Project"].Rows[i]["OverTime"];
			p_modify.Remark.Text = ""+dset.Tables["Project"].Rows[i]["Remark"];
			p_modify.ClientID.Text = ""+dset.Tables["Project"].Rows[i]["ClientID"];

			p_modify.ShowDialog();
			if(p_modify.psubmit.BackColor == Color.GreenYellow)
			{
				try
				{		
					ada_project.UpdateCommand.CommandText = "UPDATE Project SET " +
						"ProjectName = '"+p_modify.ProjectName.Text + 
						"',ManagerID = '"+p_modify.ManagerID.Text + 
						"',LinkmanID = '"+p_modify.LinkmanID.Text + 
						"',LFrequency = '"+p_modify.LFrequency.Text + 
						"',ProjectStatus = '"+p_modify.ProjectStatus.Text + 
						"',ProjectContent = '"+p_modify.ProjectContent.Text + 
						"',StartTime = '"+p_modify.StartTime.Text + 
						"',SignTime = '"+p_modify.SignTime.Text + 
						"',OverTime = '"+p_modify.OverTime.Text +
						"',Remark = '"+p_modify.Remark.Text +
						"',ClientID = '"+p_modify.ClientID.Text +
						"' WHERE ProjectID = "+p_modify.ProjectID.Text;

					ada_project.UpdateCommand.ExecuteNonQuery();					
					dset.Clear(); 
					ada_project.Fill(dset);
					dgrid.DataSource=dset.Tables["Project"];
				}
				catch(System.Exception ie)
				{
					MessageBox.Show(ie.Message);
				}
			}
		}

		/// <summary>
		/// 屏蔽项目
		/// </summary>
		/// <param name="ada_project"></param>
		/// <param name="dset"></param>
		/// <param name="dgrid"></param>
		public void shieldproject(System.Data.OleDb.OleDbDataAdapter ada_project,
			System.Data.DataSet dset, System.Windows.Forms.DataGrid dgrid)
		{
			try
			{

				DateTime today = new DateTime ();
				today = DateTime.Now;

				ada_project.SelectCommand.CommandText = "SELECT * FROM Project WHERE "+
					" OverTime < '" + today +
					"'AND SignTime < '" + today + "'";
	
				ada_project.SelectCommand.ExecuteNonQuery();
				dset.Clear(); 
				ada_project.Fill(dset);
				dgrid.DataSource=dset.Tables["Project"];
			}
			catch(System.Exception ie)
			{
				MessageBox.Show(ie.Message);
			}

		}

		/// <summary>
		/// 初始化项目提醒
		/// </summary>
		/// <param name="ada_project"></param>
		/// <param name="dset"></param>
		/// <param name="dgrid"></param>
		public void setremindpro(System.Data.OleDb.OleDbDataAdapter ada_project,
			System.Data.DataSet dset, System.Windows.Forms.DataGrid dgrid, int Popedom, string[] proID)
		{
			int i = dgrid.CurrentCell.RowNumber;

			if( ((""+dset.Tables["Project"].Rows[i]["LinkmanID"]) == "" )||
				((""+dset.Tables["Project"].Rows[i]["LFrequency"]) == "" )||
				((""+dset.Tables["Project"].Rows[i]["StartTime"]) == "" )||
				((""+dset.Tables["Project"].Rows[i]["StartTime"]) == "1900-1-1 0:00:00" ))
			{
				MessageBox.Show("Please Modify this Project's LinkmanID or LFrequency or StartTime!");
				return;
			}

			remind_project rep = new remind_project ();
			
			rep.ProjectID.Text = ""+(int)dset.Tables["Project"].Rows[i]["ProjectID"];
			rep.ProjectID.Enabled = false;
			rep.LinkmanID.Text = ""+(int)dset.Tables["Project"].Rows[i]["LinkmanID"];
			rep.LinkmanID.Enabled = false;
			rep.ShowDialog();

			if(rep.submit.BackColor == Color.GreenYellow)
			{
				double PreRemindPro = Double.Parse(""+rep.PreRemindPro.Text);
				updateremindpro(ada_project, dset, dgrid, PreRemindPro, dgrid.CurrentCell.RowNumber,Popedom, proID);
				remindproject(ada_project, dset, dgrid, false,Popedom, proID);	
			}
		}

		/// <summary>
		/// 更新项目提醒
		/// </summary>
		/// <param name="ada_project"></param>
		/// <param name="dset"></param>
		/// <param name="dgrid"></param>
		/// <param name="PreRemindPro"></param>
		/// <param name="i"></param>
		public void updateremindpro(System.Data.OleDb.OleDbDataAdapter ada_project,
			System.Data.DataSet dset, System.Windows.Forms.DataGrid dgrid,double  PreRemindPro, int i,
			int Popedom, string[] proID)
		{
			try
			{	
				DateTime StartTime = new DateTime();
				StartTime = (DateTime)(dset.Tables["Project"].Rows[i]["StartTime"]);
				DateTime today = new DateTime ();
				today = DateTime.Now;
				
				string starttonow = ""+(today.Date-StartTime.Date);
				starttonow = starttonow.Substring(0, starttonow.IndexOf(":"));
				
				int tstn = (int)Double.Parse(starttonow);
				int lfre = (int)dset.Tables["Project"].Rows[i]["LFrequency"];
				double utRemind = lfre - (tstn % lfre);
				
				string str= "UPDATE Project SET " +
					"UptoRemindPro = '"+utRemind; 
				
				if(PreRemindPro != -1)  str = str + "',PreRemindPro = '"+PreRemindPro;
				
				str += "' WHERE ProjectID = "+dset.Tables["Project"].Rows[i]["ProjectID"];
				
				ada_project.UpdateCommand.CommandText = str;
				ada_project.UpdateCommand.ExecuteNonQuery();					
				dset.Clear(); 
				ada_project.Fill(dset);
				//if(Popedom == 2) compcurID(dset, proID);
				dgrid.DataSource=dset.Tables["Project"];

			}
			catch(System.Exception ie)
			{
				MessageBox.Show(ie.Message);
			}
		}

		/// <summary>
		/// 项目提醒
		/// </summary>
		/// <param name="ada_project"></param>
		/// <param name="dset"></param>
		/// <param name="dgrid"></param>
		/// <param name="ifupdate"></param>
		public void remindproject(System.Data.OleDb.OleDbDataAdapter ada_project,
			System.Data.DataSet dset, System.Windows.Forms.DataGrid dgrid, bool ifupdate,
			int Popedom, string[] proID)
		{
			int count = 0;
			//bool curispro = false;
			try
			{
				while(dset.Tables["Project"].Rows[count]["ProjectID"] != null)
				{
					count++;
				}
			}
			catch(System.IndexOutOfRangeException)
			{
				for(int i=0; i<count; i++)
				{
					if( ifupdate )
						updateremindpro(ada_project, dset, dgrid, -1, i,Popedom, proID);
					if(""+dset.Tables["Project"].Rows[i]["PreRemindPro"] != "" &&
						""+dset.Tables["Project"].Rows[i]["UptoRemindPro"] != "" &&
						(Double.Parse(""+dset.Tables["Project"].Rows[i]["PreRemindPro"]) >= 
						Double.Parse(""+dset.Tables["Project"].Rows[i]["UptoRemindPro"])))
					{
						//if(Popedom == 2)
						//	curispro = compcurID(dset,i,""+dset.Tables["Project"].Rows[i]["ProjectID"], proID);
						
					//	if(Popedom != 2 || curispro)
					//	{
							/*将对应的行变成红色*/
							dgrid.SelectionBackColor = Color.Red;
							dgrid.Select(i);
							MessageBox.Show("提醒: ID为 "+dset.Tables["Project"].Rows[i]["ProjectID"]+" 的项目"+
								"还有 "+dset.Tables["Project"].Rows[i]["UptoRemindPro"]+" 天就要与联系人联系!");	
						//}
						
					}
						
				}

			}

		}

		public void compcurID(System.Data.DataSet dset, string[] proID)
		{
			int i=0;
			int j=0;
			try
			{
				while(dset.Tables["Project"].Rows[i]["ProjectID"] != null)
				{
					for(j=0; j<proID.Length; j++)
					{
						if(""+dset.Tables["Project"].Rows[i]["ProjectID"] == proID[j])
							break;
					}
					if(j >= proID.Length) dset.Tables["Project"].Rows[i].Delete();
					i++;
				}
			}
			catch(System.IndexOutOfRangeException){}

		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -