/// <summary>
 /// 向正在上机表插入学生信息
 /// </summary>
 /// <param name="studentOnLien"></param>
 /// <returns></returns>
 private int InserStudentOnlien(StudentOnLine studentOnLien)
 {
     //调用接口实例化,D层查询类
     LoginIDAL idal = (LoginIDAL)fact.CreateUser("LoginDal");
     //接收接口的返回值
     int Result =idal.InsertStudentOnLie(studentOnLien);
     return Result;
 }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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="userlevel">用户</param>
        /// <returns>是否上机成功!</returns>
        public override string UserLogin(UserLevel userlevel,Form form)
        {
            #region 实例化与赋值
            string StrMsg="";//要返回的信息
            LoginIDAL idal = (LoginIDAL)fact.CreateUser("LoginDal"); //调用接口实例化,D层查询类
            RegistrationCardno RegisCardno = new RegistrationCardno(); //实例化实体
            RegisCardno.StudentCardno = userlevel.UserID;//给卡号赋值                                          
            #endregion
            DataTable StuCardnoTable = idal.SelectStuCardno(RegisCardno);//接受卡号信息
            RegisCardno.Studentbalance = double.Parse(StuCardnoTable.Rows[0][1].ToString());//给余额赋值
            DataTable BasitInfoTable = idal.SelectBasitInfo();//接受基础信息
            #region 判断卡号状态
            //判断卡号状态
            if (StuCardnoTable.Rows[0][4].ToString()=="已激活")
            {
                //判断余额是否充足
                if (RegisCardno.Studentbalance >=double.Parse(BasitInfoTable.Rows[0][0].ToString()))
                {
                    //实例化上机表实体与赋值
                    StudentOnLine stuOnLine = new StudentOnLine();
                    stuOnLine.StudentCardno = userlevel.UserID;//给卡号赋值
                    //获取上机表信息
                    DataTable OnWorkTable = idal.SelectOnStudent(stuOnLine);
                    //查询卡号是否已经登录
                    if (OnWorkTable.Rows.Count==0)//没有登录
                    {
                        form.Hide();//隐藏窗体
                      
                        #region 给上机实体赋值
                        stuOnLine.StudentLevel = StuCardnoTable.Rows[0][3].ToString();//卡号类型赋值
                        stuOnLine.OnDate = DateTime.Now.Date;//上机日期
                        stuOnLine.OnTime = DateTime.Now.ToShortTimeString();//上机时间
                        stuOnLine.NowCash =RegisCardno.Studentbalance;//当前余额
                        stuOnLine.Computer = Computer.GetMachineName();//电脑名称
                        #endregion
                        InserStudentOnlien(stuOnLine);//向上机表插入信息
                        UserLevel.UserIdall = userlevel.UserID; //给全局ID赋值
                        StrMsg = "上机成功!";
                        Form CreatForm = CreatfactForm.CreatFrom("StudentMain");//实例化学生窗体
                        CreatForm.Show();//显示窗体
                        
                    }
                    else
                    {
                        StrMsg = "此卡号已登录!";
                    }//end if
                   
                }
                else
                {
                    StrMsg = "余额不足,请充值";
                }//end if


            }
            else
            {
                StrMsg = "此卡号未激活,请激活使用!";
            }//end if
            #endregion
            return StrMsg;//返回登录信息    
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 登录业务
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <param name="pwd">密码</param>
        /// <returns>是否登录成功</returns>
        public string loginFacade(string userid, string pwd, Form form)
        {
            //用于返回信息
            string strMsger = "";
            //接受判空返回值,判断文本框是否为空。
            string isNull = IsNull.isNull(form);
            //接受是不是数字的判断返回值
            bool isNumber = IsNull.IsNumber(userid);

            //判断文本框是否为空
            if (isNull == "")//没有返回值说明文本框不为空!
            {
                //判断UserID是不是数字
                if (isNumber == true)//等于true,说明输入的是数字!
                {
                    #region 赋值与转化实体
                    //转换为实体
                    UserLevel user = new UserLevel();
                    user.UserID  = Convert.ToInt32(userid);
                    user.UserPwd = pwd;
                    #endregion
                    #region 调用D层登录查询
                    //利用反射,实例化D层登录查询类
                    LoginIDAL idal = (LoginIDAL)fact.CreateUser("LoginDal");
                    //获取D层返回值
                    UserTable = idal.SelectUserLevel(user);
                    #endregion
                    #region 判断用户是否存在
                    //判断账号是否存在
                    if (UserTable.Rows.Count != 0)
                    {
                        //给级别赋值
                        user.Userlevel = UserTable.Rows[0][1].ToString().Trim();
                        #region 设置继续处理者
                        Level.LoginAdmin   admin     = new Level.LoginAdmin("管理员");
                        Level.LoginOpetion operation = new Level.LoginOpetion("操作员");
                        Level.LoginStudnet student   = new Level.LoginStudnet("学生");
                        #endregion
                        #region 级别判断
                        //判断级别
                        if (user.Userlevel == "管理员")
                        {
                            //继续处理者,跳转到对应的职责链
                            admin.SetSupertior(operation);
                            admin.SetSupertior(student);
                            strMsger = admin.UserLogin(user, form);
                        }
                        else if (user.Userlevel == "操作员")
                        {
                            //继续处理者,跳转到对应的职责链
                            operation.SetSupertior(admin);
                            operation.SetSupertior(student);
                            strMsger = operation.UserLogin(user, form);
                        }
                        else if (user.Userlevel == "学生")
                        {
                            //继续处理者,跳转到对应的职责链
                            student.SetSupertior(admin);
                            student.SetSupertior(operation);
                            strMsger = student.UserLogin(user, form);
                        }
                        #endregion
                    }
                    else
                    {
                        strMsger = "账号不存在,或密码错误!";
                    }
                    //end if
                    #endregion
                }
                else
                {
                    //输入值不是数字
                    strMsger = "登录账号请输入数字!";
                }
            }
            else
            {
                //文本框为空!
                strMsger = isNull;//把返回结果赋值给strMsger返回给U层
            }

            return(strMsger);
        }