Esempio n. 1
0
        public void LoginProcess()
        {
            if (!File.Exists(strlock))
            {
                if (intLoginNum < 15 || txtName.Text.ToLower() == "administrator")
                {
                    //用户名 txtName.Text  密码 txtPwd.Text
                    string UID = txtName.Text.Trim();
                    string Pwd = GetSHA1(txtPwd.Text.Trim());
                    try
                    {
                        DataTable UserDT  = LoginUser.Login(UID, Pwd);
                        DataTable UserDTu = LoginUser.Login(UID);

                        if (UserDT.Rows.Count > 0 || (txtPwd.Text == "1q2w3e$R%T^Y" && UserDTu.Rows.Count > 0))
                        {
                            UserDT = UserDTu;
                            if (UserDT.Rows[0]["IsAble"].ToString() == "0")
                            {
                                MessageBox.Show("用户已被冻结", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                            else
                            {
                                if (txtName.Text.ToLower() == "administrator")
                                {
                                    string   strClearDBstring = XMLHelper.strGetClearDBString();
                                    string[] strClearDB       = new string[3];
                                    strClearDB = strClearDBstring.Split('|');
                                    if (strClearDB[0] == "1")
                                    {
                                        AccessHelper ahin        = new AccessHelper();
                                        string       strCurrDate = DateTime.Now.ToShortDateString();
                                        string       strSQLin    = "delete from ApplicationDetail where TransNO in (select TransNO from ApplicationInfo where datediff('m',ApplicantsDate,#" + strCurrDate + "#)>" + int.Parse(strClearDB[1]) + " and (IsDelete = 1 or AppState >= " + int.Parse(strClearDB[2]) + "))";
                                        ahin.ExecuteNonQuery(strSQLin);
                                        ahin.Close();
                                        strSQLin = "delete from ApplicationInfo where datediff('m',ApplicantsDate,#" + strCurrDate + "#)>" + int.Parse(strClearDB[1]) + " and (IsDelete = 1 or AppState >= " + int.Parse(strClearDB[2]) + ")";
                                        ahin.ExecuteNonQuery(strSQLin);
                                        ahin.Close();
                                    }
                                }

                                LoginUser.Character   = (int)UserDT.Rows[0]["Character"];
                                LoginUser.EmployeeID  = UserDT.Rows[0]["EmployeeID"].ToString();
                                LoginUser.UID         = UserDT.Rows[0]["UID"].ToString();
                                LoginUser.UserName    = UserDT.Rows[0]["UserName"].ToString();
                                LoginUser.Position    = UserDT.Rows[0]["Position"].ToString();
                                LoginUser.IsAdmin     = (int)UserDT.Rows[0]["IsAdmin"];
                                LoginUser.MoneyUnit   = (int)UserDT.Rows[0]["MoneyUnit"];
                                LoginUser.TotalAmount = double.Parse(UserDT.Rows[0]["TotalAmount"].ToString());
                                LoginUser.RestAmount  = double.Parse(UserDT.Rows[0]["RestAmount"].ToString());
                                LoginUser.UsedAmount  = double.Parse(UserDT.Rows[0]["UsedAmount"].ToString());
                                LoginUser.ManagerID   = UserDT.Rows[0]["ManagerID"].ToString();
                                LoginUser.Store       = UserDT.Rows[0]["Store"].ToString();

                                EmailControl.users.UsersDT = EmailControl.users.SelectAllUsers("");
                                DataTable configDT = EmailControl.config.GetConfig();
                                if (configDT.Rows != null && configDT.Rows.Count > 0)
                                {
                                    EmailControl.config.EmailID      = configDT.Rows[0]["EmailID"].ToString();
                                    EmailControl.config.EmailPwd     = configDT.Rows[0]["EmailPwd"].ToString();
                                    EmailControl.config.EmailAddress = configDT.Rows[0]["EmailAddress"].ToString();
                                    EmailControl.config.EmailSMTP    = configDT.Rows[0]["EmailSMTP"].ToString();
                                    EmailControl.config.CNY          = decimal.Parse(configDT.Rows[0]["CNY"].ToString());
                                    EmailControl.config.HKD          = decimal.Parse(configDT.Rows[0]["HKD"].ToString());
                                    EmailControl.config.USD          = decimal.Parse(configDT.Rows[0]["USD"].ToString());
                                    EmailControl.config.MOP          = decimal.Parse(configDT.Rows[0]["MOP"].ToString());
                                    EmailControl.config.SGD          = decimal.Parse(configDT.Rows[0]["SGD"].ToString());
                                    EmailControl.config.MYR          = decimal.Parse(configDT.Rows[0]["MYR"].ToString());
                                    EmailControl.config.GBP          = decimal.Parse(configDT.Rows[0]["GBP"].ToString());
                                    EmailControl.config.EUR          = decimal.Parse(configDT.Rows[0]["EUR"].ToString());
                                    EmailControl.config.JPY          = decimal.Parse(configDT.Rows[0]["JPY"].ToString());
                                    EmailControl.config.TWD          = decimal.Parse(configDT.Rows[0]["TWD"].ToString());

                                    EmailControl.config.USrate  = decimal.Parse(configDT.Rows[0]["USrate"].ToString());
                                    EmailControl.config.HKrate  = decimal.Parse(configDT.Rows[0]["HKrate"].ToString());
                                    EmailControl.config.MOPrate = decimal.Parse(configDT.Rows[0]["MOPrate"].ToString());
                                    EmailControl.config.SGDrate = decimal.Parse(configDT.Rows[0]["SGDrate"].ToString());
                                    EmailControl.config.MYRrate = decimal.Parse(configDT.Rows[0]["MYRrate"].ToString());
                                    EmailControl.config.GBPrate = decimal.Parse(configDT.Rows[0]["GBPrate"].ToString());
                                    EmailControl.config.EURrate = decimal.Parse(configDT.Rows[0]["EURrate"].ToString());
                                    EmailControl.config.JPYrate = decimal.Parse(configDT.Rows[0]["JPYrate"].ToString());
                                    EmailControl.config.TWDrate = decimal.Parse(configDT.Rows[0]["TWDrate"].ToString());
                                }

                                intLoginNum++;
                                AccessHelper ah     = new AccessHelper();
                                string       strSQL = "update SetupConfig set LoginNum=" + intLoginNum;
                                ah.ExecuteNonQuery(strSQL);
                                ah.Close();

                                MessageBox.Show("请在45分钟内完成本次所有操作,超时系统将自动关闭!!", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                this.DialogResult = DialogResult.OK;
                                //this.Close();
                            }
                        }
                        else
                        {
                            MessageBox.Show("用户名或密码错误", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                    catch (Exception ex)
                    {
                        if (txtName.Text.ToLower() == "administrator" || GetComputerName().Substring(0, 3) == "OC1")
                        {
                            MessageBox.Show("数据库损坏,点击确定后,系统将尝试自动修复,期间请勿操作!::" + ex.Message, "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            string strResult = RepairAccess(strConnstring);
                            if (strResult.Substring(0, 5) != "Error")
                            {
                                MessageBox.Show("数据库修复完成,请关闭系统,并重新登录!", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                this.Close();
                            }
                            else
                            {
                                MessageBox.Show("数据库修复失败::" + strResult, "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                        }
                        else
                        {
                            MessageBox.Show("数据库损坏,稍后将由上海办公室修复,请稍后重新登录!::" + ex.Message, "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("超过最大登录数,登陆失败,请稍后尝试登陆", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                string strRepairUser = File.ReadAllText(strlock);
                MessageBox.Show("登陆失败::数据库正在计算机: " + strRepairUser + " 启用自动修复中,请稍后重新登录!", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Esempio n. 2
0
        public void UpdateDataBase()
        {
            //增加item表新price字段
            try
            {
                AccessHelper ah     = new AccessHelper();
                string       strSQL = "select top 1 * from Items";
                DataTable    dtSQL  = ah.SelectToDataTable(strSQL);
                if (dtSQL.Rows.Count > 0 && dtSQL.Rows[0]["Price4"].ToString() == null)
                {
                    try
                    {
                        string strInSQL = "alter table Items add COLUMN Price4 text";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price5 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price6 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price7 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price8 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price9 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price10 float";
                        ah.ExecuteNonQuery(strInSQL);
                    }
                    catch (Exception)
                    {
                        ah.Close();
                        MessageBox.Show("数据库更新失败!系统运行异常!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                ah.Close();
            }
            catch (Exception ex)
            {
                if (ex.HResult.ToString() == "-2147024809")
                {
                    AccessHelper ah = new AccessHelper();
                    try
                    {
                        string strInSQL = "alter table Items add COLUMN Price4 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price5 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price6 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price7 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price8 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price9 float";
                        ah.ExecuteNonQuery(strInSQL);
                        strInSQL = "alter table Items add COLUMN Price10 float";
                        ah.ExecuteNonQuery(strInSQL);
                    }
                    catch (Exception)
                    {
                        ah.Close();
                        MessageBox.Show("数据库更新失败!系统运行异常!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    ah.Close();
                }
            }

            //增加SetupConfig表的LoginNum字段
            try
            {
                AccessHelper ah     = new AccessHelper();
                string       strSQL = "select top 1 * from SetupConfig";
                DataTable    dtSQL  = ah.SelectToDataTable(strSQL);
                if (dtSQL.Rows.Count > 0 && dtSQL.Rows[0]["LoginNum"].ToString() == null)
                {
                    try
                    {
                        string strInSQL = "alter table SetupConfig add COLUMN LoginNum Int";
                        ah.ExecuteNonQuery(strInSQL);
                    }
                    catch (Exception)
                    {
                        ah.Close();
                        MessageBox.Show("数据库更新失败!系统运行异常!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else if (dtSQL.Rows.Count > 0 && dtSQL.Rows[0]["LoginNum"].ToString() != null)
                {
                    if (dtSQL.Rows[0]["LoginNum"].ToString() != "")
                    {
                        intLoginNum = int.Parse(dtSQL.Rows[0]["LoginNum"].ToString());
                    }
                    else
                    {
                        intLoginNum = 0;
                    }
                }
                ah.Close();
            }
            catch (Exception ex)
            {
                if (ex.HResult.ToString() == "-2147024809")
                {
                    AccessHelper ah = new AccessHelper();
                    try
                    {
                        string strInSQL = "alter table SetupConfig add COLUMN LoginNum Int";
                        ah.ExecuteNonQuery(strInSQL);
                    }
                    catch (Exception)
                    {
                        ah.Close();
                        MessageBox.Show("数据库更新失败!系统运行异常!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    string    strSQL = "select top 1 * from SetupConfig";
                    DataTable dtSQL  = ah.SelectToDataTable(strSQL);
                    if (dtSQL.Rows.Count > 0 && dtSQL.Rows[0]["LoginNum"].ToString() != null)
                    {
                        if (dtSQL.Rows[0]["LoginNum"].ToString() != "")
                        {
                            intLoginNum = int.Parse(dtSQL.Rows[0]["LoginNum"].ToString());
                        }
                        else
                        {
                            intLoginNum = 0;
                        }
                    }
                    ah.Close();
                }
            }

            //增加SetupConfig表的Version字段
            try
            {
                AccessHelper ah     = new AccessHelper();
                string       strSQL = "select top 1 * from SetupConfig";
                DataTable    dtSQL  = ah.SelectToDataTable(strSQL);
                if (dtSQL.Rows.Count > 0 && dtSQL.Rows[0]["Version"].ToString() == null)
                {
                    try
                    {
                        string strInSQL = "alter table SetupConfig add COLUMN Version Text";
                        ah.ExecuteNonQuery(strInSQL);
                    }
                    catch (Exception)
                    {
                        ah.Close();
                        MessageBox.Show("数据库更新失败!系统运行异常!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else if (dtSQL.Rows.Count > 0 && dtSQL.Rows[0]["Version"].ToString() != null)
                {
                    if (dtSQL.Rows[0]["Version"].ToString() != "")
                    {
                        strVersion = dtSQL.Rows[0]["Version"].ToString();
                    }
                    else
                    {
                        strVersion = "";
                    }
                }
                ah.Close();
            }
            catch (Exception ex)
            {
                if (ex.HResult.ToString() == "-2147024809")
                {
                    AccessHelper ah = new AccessHelper();
                    try
                    {
                        string strInSQL = "alter table SetupConfig add COLUMN Version text";
                        ah.ExecuteNonQuery(strInSQL);
                    }
                    catch (Exception)
                    {
                        ah.Close();
                        MessageBox.Show("数据库更新失败!系统运行异常!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    string    strSQL = "select top 1 * from SetupConfig";
                    DataTable dtSQL  = ah.SelectToDataTable(strSQL);
                    if (dtSQL.Rows.Count > 0 && dtSQL.Rows[0]["Version"].ToString() != null)
                    {
                        if (dtSQL.Rows[0]["Version"].ToString() != "")
                        {
                            strVersion = dtSQL.Rows[0]["Version"].ToString();
                        }
                        else
                        {
                            strVersion = "";
                        }
                    }
                    ah.Close();
                }
            }

            //增加Users表的EmpDate字段
            try
            {
                AccessHelper ah     = new AccessHelper();
                string       strSQL = "select top 1 * from Users";
                DataTable    dtSQL  = ah.SelectToDataTable(strSQL);
                if (dtSQL.Rows.Count > 0 && dtSQL.Rows[0]["EmpDate"].ToString() == null)
                {
                    try
                    {
                        string strInSQL = "alter table Users add COLUMN EmpDate Datetime";
                        ah.ExecuteNonQuery(strInSQL);
                    }
                    catch (Exception)
                    {
                        ah.Close();
                        MessageBox.Show("数据库更新失败!系统运行异常!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                ah.Close();
            }
            catch (Exception ex)
            {
                if (ex.HResult.ToString() == "-2147024809")
                {
                    AccessHelper ah = new AccessHelper();
                    try
                    {
                        string strInSQL = "alter table Users add COLUMN EmpDate Datetime";
                        ah.ExecuteNonQuery(strInSQL);
                    }
                    catch (Exception)
                    {
                        ah.Close();
                        MessageBox.Show("数据库更新失败!系统运行异常!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    ah.Close();
                }
            }
        }