📄 projectmanage.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 + -