/// <summary> /// 删除管理者正在值班信息 /// </summary> /// <param name="ManID">管理者ID</param> private void DeleteOnWork(UserOnWork ManID) { //利用退出接口,和工厂创建退出的数据管理类。 LoginOutMangerIDAL idal = (LoginOutMangerIDAL)fact.CreateUser("LoginOutMangerDAL"); //删除管理者正在值班信息 idal.DeleteOnWork(ManID); }
/// <summary> /// 向值班表插入用户数据 /// </summary> /// <param name="insertonwork">值班人员</param> /// <returns>整数</returns> private int InserUserOnWork(UserOnWork insertonwork) { //调用接口实例化,D层查询类 LoginIDAL idal = (LoginIDAL)fact.CreateUser("LoginDal"); //接收接口的返回值 int Result = idal.InsertUser(insertonwork); return(Result); }
/// <summary> /// 用户登录 /// </summary> /// <param name="userlevel">用户</param> /// <returns>是否登录成功!</returns> public override string UserLogin(UserLevel userlevel, Form form) { //返回信息 string StrMesg = ""; //调用接口实例化D层查询类 LoginIDAL idal = (LoginIDAL)fact.CreateUser("LoginDal"); //实例化管理者实体和赋值 Managerial Manageria = new Managerial(); Manageria.ManId = userlevel.UserID;//登录id赋值给管理者ID //接受管理者信息 DataTable ManTable = idal.SelectState(Manageria); //判断账号是否使用 if (ManTable.Rows[0][3].ToString().Trim() == "使用") { #region 判断管理者是否已经登录 //实例化值班实体与赋值 UserOnWork userOnWork = new UserOnWork(); userOnWork.ManId = userlevel.UserID;//值班实体的管理者id赋值 //接受接口的返回值,返回整个值班表的信息。 DataTable OnWorkTable = idal.SelectOnUser(userOnWork); //判断管理者是否已经登录 if (OnWorkTable.Rows.Count == 0) //没有登录 { form.Hide(); //隐藏窗体 #region 向值班表插入信息 //给值班实体赋值 userOnWork.Level = userlevel.Userlevel; //管理者级别 userOnWork.Name = ManTable.Rows[0][1].ToString().Trim(); //管理者姓名 userOnWork.Ondate = DateTime.Now.Date; //登录日期 userOnWork.OnTime = DateTime.Parse(DateTime.Now.ToShortTimeString()); //登录时间 userOnWork.Computer = Computer.GetMachineName(); //计算机名 //调用插入方法 InserUserOnWork(userOnWork); #endregion //给全局ID赋值 UserLevel.UserIdall = userlevel.UserID; StrMesg = "登录成功!"; //显示管理员窗体 Form CreatForm = CreatfactForm.CreatFrom("AdminMain"); //实例化管理员窗体 CreatForm.Show(); //显示窗体 } else { StrMesg = "此账号已登录!"; } #endregion } else { StrMesg = "此账号未使用,请激活使用!"; }//end if return(StrMesg); }
/// <summary> /// 删除正在值班的管理者 /// </summary> /// <param name="OnWork">值班管理者实体</param> /// <returns>受影响行数</returns> public int DeleteOnWork(UserOnWork OnWork) { //定义参数 SqlParameter[] sqlparams = { new SqlParameter("@ManID", OnWork.ManId) }; //定义SQL语句 string sql = @"delete OnWorkMan where ManID=@ManID"; //接受受影响行数 int Relust = sqlHelper.ExecuteNonQuery(sql, sqlparams, CommandType.Text); return(Relust);//返回受影响行数 }
/// <summary> /// 查询正在值班教师 /// </summary> /// <param name="userOnWork">管理者正在工作实体</param> /// <returns>正在值班管理信息</returns> public DataTable SelectOnManWork(UserOnWork userOnWork) { //定义参数 SqlParameter[] sqlpams = { new SqlParameter("@ManLevel", userOnWork.Level) }; //定义查询参数 string sql = @"select ManID, ManLevel,OpertionName from OnWorkMan where ManLevel=@ManLevel"; //接受查询返回值 DataTable SelectOnWorkTable = sqlHelper.ExecuteQuery(sql, sqlpams, CommandType.Text); return(SelectOnWorkTable); }
/// <summary> /// 查询正在值班管理者信息 /// </summary> /// <param name="OnWork">正在值班管理实体</param> /// <returns>整个值班表信息</returns> public DataTable SelectOnWork(UserOnWork OnWork) { //定义参数 SqlParameter[] sqlparams = { new SqlParameter("@ManID", OnWork.ManId) }; //定义SQL语句 string sql = @"select * from OnWorkMan where ManID=@ManID"; //把查询结果储存到临时表 DataTable OnWorkTable = sqlHelper.ExecuteQuery(sql, sqlparams, CommandType.Text); //返回整个表的信息 return(OnWorkTable); }
/// <summary> /// 向管理者值班表插入信息 /// </summary> /// <param name="UserOnWork">值班表实体</param> /// <returns>整个值班表信息</returns> public int InsertUser(UserOnWork UserOnWork) { //定义参数 SqlParameter[] sqlparams = { new SqlParameter("@ManID", UserOnWork.ManId), new SqlParameter("@ManLevel", UserOnWork.Level), new SqlParameter("@OpertionName", UserOnWork.Name), new SqlParameter("@OnDate", UserOnWork.Ondate), new SqlParameter("@OnTime", UserOnWork.OnTime), new SqlParameter("@Computer", UserOnWork.Computer) }; //定义SQL语句 string sql = @"insert into OnWorkMan values(@ManID,@ManLevel,@OpertionName,@OnDate,@OnTime,@Computer)"; //接受受影响的行数 int Relust = sqlHelper.ExecuteNonQuery(sql, sqlparams, CommandType.Text); return(Relust);//返回受影响的行数 }
/// <summary> /// 查询值班的管理者 /// </summary> /// <param name="ManLevel">值班管理者等级</param> /// <param name="Strmsg">返回提示信息</param> /// <returns>操作员信息</returns> public DataTable selectOnManWork(string ManLevel, ref string Strmsg) { //转换成对应实体 UserOnWork userOnWork = new UserOnWork(); userOnWork.Level = ManLevel; //调用查询正在值班教师数据层接口 OnManWorkIDAL onmanWorkIDAL = (OnManWorkIDAL)fact.CreateUser("OnManWorkDAL"); //调用查询方法 DataTable SelectOnManWork = onmanWorkIDAL.SelectOnManWork(userOnWork); //判断是否有操作员值班信息 if (SelectOnManWork.Rows.Count != 0)//说明有正在值班操作员数据 { Strmsg = "已显示当前全部值班操作员"; } else { Strmsg = "暂时没有值班的操作员!"; } return(SelectOnManWork); }
/// <summary> /// 管理者退出 /// </summary> /// <param name="ManID">管理者ID</param> /// <returns>是否退出成功!</returns> public void LoginOutManger(string ManID) { //转换成正在值班的管理者实体 UserOnWork OnWork = new UserOnWork(); OnWork.ManId = int.Parse(ManID); //利用退出接口,和工厂创建退出的数据管理类。 LoginOutMangerIDAL idal = (LoginOutMangerIDAL)fact.CreateUser("LoginOutMangerDAL"); //接受正在值班者信息 DataTable OnWorkTable = idal.SelectOnWork(OnWork); //判断级别 if (OnWorkTable.Rows[0][1].ToString() == "管理员") { //删除正在上机记录 DeleteOnWork(OnWork); } else if (OnWorkTable.Rows[0][1].ToString() == "操作员") { #region 操作员工作记录实体赋值 OpertionWork opertionWork = new OpertionWork(); opertionWork.ManId = int.Parse(OnWorkTable.Rows[0][0].ToString()); //管理者ID opertionWork.Level = OnWorkTable.Rows[0][1].ToString(); //管理者等级 opertionWork.Name = OnWorkTable.Rows[0][2].ToString(); //管理者姓名 opertionWork.Ondate = DateTime.Parse(OnWorkTable.Rows[0][3].ToString()); //管理者登录日期 opertionWork.OnTime = OnWorkTable.Rows[0][4].ToString(); //管理者登录时间 opertionWork.Update = DateTime.Now.Date; //管理者下机日期 opertionWork.UPTime = DateTime.Now.ToShortTimeString(); //管理者下机时间 opertionWork.Computer = OnWorkTable.Rows[0][5].ToString(); //电脑名字 #endregion //更新操作员工作记录 idal.InertOpertionWork(opertionWork); //删除正在上机记录 DeleteOnWork(OnWork); } Environment.Exit(0);//退出程序 }