Esempio n. 1
0
        private static void a_ButtonLoginEven(int iLogin, string strMachine, string strUserWindow, string strIpAddress, string strUsername, string password, string strBatch, string strRole, string strToken, ref bool loginOk)
        {
            if (iLogin != 1)
            {
                return;
            }
            //Kiểm tra Token
            bool has = Global.db_BPO.tbl_TokenLogins.Any(w => w.UserName == strUsername && w.IDProject == Global.StrIdProject);

            if (has)
            {
                var token = (from w in Global.db_BPO.tbl_TokenLogins
                             where w.UserName == strUsername && w.IDProject == Global.StrIdProject
                             select w.Token).FirstOrDefault();
                if (token == "")
                {
                    Global.db_BPO.updateToken(strUsername, Global.StrIdProject, strToken);
                    Global.db_BPO.InsertLoginTime(strUsername, DateTime.Now, strUserWindow, strMachine, strIpAddress,
                                                  strToken);
                    loginOk = true;
                }
                else
                {
                    if (
                        MessageBox.Show("User này đã đăng nhập ở máy khác. Bạn có muốn tiếp tục đăng nhập?",
                                        "Thông báo!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        Global.db_BPO.updateToken(strUsername, Global.StrIdProject, strToken);
                        Global.db_BPO.InsertLoginTime(strUsername, DateTime.Now, strUserWindow, strMachine, strIpAddress,
                                                      strToken);
                        loginOk = true;
                    }
                    else
                    {
                        loginOk = false;
                    }
                }
            }
            else
            {
                var token = new tbl_TokenLogin();
                token.UserName  = strUsername;
                token.IDProject = Global.StrIdProject;
                token.Token     = "";
                token.DateLogin = DateTime.Now;
                Global.db_BPO.tbl_TokenLogins.InsertOnSubmit(token);
                Global.db_BPO.SubmitChanges();
                loginOk = true;
                Global.db_BPO.updateToken(strUsername, Global.StrIdProject, strToken);
                Global.db_BPO.InsertLoginTime(strUsername, DateTime.Now, strUserWindow, strMachine, strIpAddress,
                                              strToken);
            }
        }
        private void btn_login_Click(object sender, EventArgs e)
        {
            var query = (from w in Global.DbBpo.tbl_Versions where w.IDProject == Global.StrIdProject select w.IDVersion).FirstOrDefault();

            if (lb_version.Text == query)
            {
                if (GetInfo())
                {
                    if (Global.CheckOutSource(txt_role.Text) == true)
                    {
                        MessageBox.Show("Hiện tại dự án chưa có nhu cầu về nguồn nhân lực bên ngoài");
                        return;
                    }
                    if (string.IsNullOrEmpty(cbb_batchname.Text))
                    {
                        if (MessageBox.Show("Không có batch nào được chọn. Bạn vẫn muốn đăng nhập?", "Thông báo!", MessageBoxButtons.YesNo) == DialogResult.No)
                        {
                            return;
                        }
                    }
                    if (chb_luu.Checked)
                    {
                        Settings.Default.username = txt_username.Text;
                        Settings.Default.password = txt_password.Text;
                        Settings.Default.Check    = true;
                        Settings.Default.Save();
                    }
                    else
                    {
                        Settings.Default.username = "";
                        Settings.Default.password = "";
                        Settings.Default.Check    = false;
                        Settings.Default.Save();
                    }
                    Global.Token         = Global.GetToken(txt_username.Text);
                    Global.StrBatch      = cbb_batchname.Text;
                    Global.StrUserName   = txt_username.Text;
                    Global.StrPcName     = txt_machine.Text;
                    Global.StrDomainName = txt_userwindow.Text;
                    Global.StrRole       = txt_role.Text;
                    Global.Version       = lb_version.Text;
                    bool has = Global.DbBpo.tbl_TokenLogins.Any(w => w.UserName == txt_username.Text && w.IDProject == Global.StrIdProject);
                    if (has)
                    {
                        var token = (from w in Global.DbBpo.tbl_TokenLogins where w.UserName == txt_username.Text && w.IDProject == Global.StrIdProject select w.Token).FirstOrDefault();
                        if (token == "")
                        {
                            Global.DbBpo.updateToken(txt_username.Text, Global.StrIdProject, Global.Token);
                            Global.DbBpo.InsertLoginTime_new(txt_username.Text, DateTime.Now, txt_userwindow.Text, txt_machine.Text, txt_ipaddress.Text, Global.Token, Global.StrIdProject);
                        }
                        else
                        {
                            if (MessageBox.Show(@"User đang đăng nhập vào máy khác. Bạn có muốn tiếp tục đăng nhập?", @"Notification", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                            {
                                Global.DbBpo.updateToken(txt_username.Text, Global.StrIdProject, Global.Token);
                                Global.DbBpo.InsertLoginTime_new(txt_username.Text, DateTime.Now, txt_userwindow.Text, txt_machine.Text, txt_ipaddress.Text, Global.Token, Global.StrIdProject);
                            }
                            else
                            {
                                return;
                            }
                        }
                    }
                    else
                    {
                        var token = new tbl_TokenLogin();
                        token.UserName  = txt_username.Text;
                        token.IDProject = Global.StrIdProject;
                        token.Token     = "";
                        token.DateLogin = DateTime.Now; Global.DbBpo.tbl_TokenLogins.InsertOnSubmit(token);
                        Global.DbBpo.SubmitChanges();
                        Global.DbBpo.updateToken(txt_username.Text, Global.StrIdProject, Global.Token);
                        Global.DbBpo.InsertLoginTime_new(txt_username.Text, DateTime.Now, txt_userwindow.Text, txt_machine.Text, txt_ipaddress.Text, Global.Token, Global.StrIdProject);
                    }
                    DialogResult = DialogResult.OK;
                }
            }
            else
            {
                MessageBox.Show("Version bạn dùng đã cũ, vui lòng cập nhật phiên bản mới!", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Global.RunUpdateVersion();
                Application.Exit();
            }
        }