예제 #1
0
        private bool Exec_Application()
        {
            bool   bReturn     = true;
            string ExeFileName = "Garco10.Presenter.Main.EXE";

            System.Diagnostics.ProcessStartInfo psi_ctl = new System.Diagnostics.ProcessStartInfo();
            if (!System.IO.File.Exists(Application.StartupPath + "\\" + ExeFileName))
            {
                MessageBox.Show("Không tìm thấy file " + ExeFileName, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                bReturn = false;
            }

            if (bReturn)
            {
                Cryptography.clsCryptography cry = new Cryptography.clsCryptography();
                psi_ctl.FileName  = ExeFileName;
                psi_ctl.Arguments = string.Format("/TenND {0}/MatKhauND {1}/TenMC {2}/TenDangNhapMC {3}/MatKhauMC {4}/Internet {5}",
                                                  txtND_TenDangNhap.Text,
                                                  txtND_MatKhau.Text,
                                                  txtMC_TenServer.Text,
                                                  txtMC_TenDangNhap.Text,
                                                  cry.FederoDecrypt(txtMC_MatKhau.Text.Trim(), FederoKey),
                                                  chkInternet.Checked ? "Y" : "N");
                System.Diagnostics.Process.Start(psi_ctl);
            }

            return(bReturn);
        }
예제 #2
0
        private void cmdOK_Click(object sender, EventArgs e)
        {
            if (txtMC_TenServer.Text == "" || txtMC_TenDangNhap.Text == "" || txtMC_MatKhau.Text == "")
            {
                if (this.Height == 210)
                {
                    cmdMoRong_Click(null, null);
                }

                if (txtMC_TenServer.Text == "")
                {
                    MessageBox.Show("Bạn chưa nhập Tên máy chủ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtMC_TenServer.Focus();
                    return;
                }

                if (txtMC_TenDangNhap.Text == "")
                {
                    MessageBox.Show("Bạn chưa nhập Tên đăng nhập máy chủ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtMC_TenDangNhap.Focus();
                    return;
                }

                if (txtMC_MatKhau.Text == "")
                {
                    MessageBox.Show("Bạn chưa nhập mật khẩu máy chủ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    txtMC_MatKhau.Focus();
                    return;
                }
            }

            //Kiểm tra mật khẩu người dùng
            Cryptography.clsCryptography cry = new Cryptography.clsCryptography();
            string sPassword = cry.FederoDecrypt(txtMC_MatKhau.Text.Trim(), FederoKey);

            string sConnectionString = string.Format("Data Source={0};Initial Catalog={1}; User ID={2}; Password={3}",
                                                     txtMC_TenServer.Text, "M10_System", txtMC_TenDangNhap.Text, sPassword);
            SqlConnection oConn = new SqlConnection();
            SqlCommand    cmd;
            string        uTenDangNhap = txtND_TenDangNhap.Text.Trim().ToLower();
            string        uMatKhau     = txtND_MatKhau.Text.Trim();
            string        uMatKhau_DB  = "";

            try
            {
                oConn.ConnectionString = sConnectionString;
                oConn.Open();

                cmd             = new SqlCommand();
                cmd.Connection  = oConn;
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = string.Format("SELECT MatKhau FROM dbo.TaiKhoanDangNhap WHERE TonTai = 1 AND SuDung = 1 AND TenDangNhap = '{0}'", uTenDangNhap);

                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable      dt = new DataTable();
                da.Fill(dt);

                if (dt.Rows.Count == 0)
                {
                    MessageBox.Show("Tên đăng nhập không tồn tại, vui lòng kiểm tra lại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                //Kiểm tra mật khẩu
                uMatKhau_DB = dt.Rows[0]["MatKhau"].ToString();
                if (cry.getMd5Hash(uMatKhau) != uMatKhau_DB)
                {
                    MessageBox.Show("Mật khẩu đăng nhập không đúng. Vui lòng kiểm tra lại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                //Thực hiện tải file
                int NumOfFiles = 0;
                Array.Resize(ref ListFileUpdate, 0);
                cmd                = new SqlCommand();
                cmd.Connection     = oConn;
                cmd.CommandTimeout = 9000;
                cmd.CommandText    = string.Format("Select FileName FROM Application_Files WHERE Upper(Filename) <> 'Garco10.Login.EXE'");

                da = new SqlDataAdapter(cmd);
                dt = new DataTable();
                da.Fill(dt);

                foreach (DataRow dr in dt.Rows)
                {
                    NumOfFiles++;
                    Array.Resize(ref ListFileUpdate, NumOfFiles);
                    ListFileUpdate[NumOfFiles - 1] = dr["FileName"].ToString();
                }

                for (int i = 0; i <= ListFileUpdate.GetUpperBound(0); i++)
                {
                    Download_File(ListFileUpdate[i].ToUpper(), oConn);
                }

                FileInfo fFileInfo = new FileInfo((Application.StartupPath + "\\Login.ini"));

                StreamWriter m_FileWrite = fFileInfo.CreateText();
                m_FileWrite.WriteLine(txtND_TenDangNhap.Text);
                m_FileWrite.WriteLine(txtMC_TenServer.Text);
                m_FileWrite.WriteLine(txtMC_TenDangNhap.Text);
                m_FileWrite.WriteLine(txtMC_MatKhau.Text);
                if (chkInternet.Checked)
                {
                    m_FileWrite.WriteLine("Y");
                }
                else
                {
                    m_FileWrite.WriteLine("N");
                }
                m_FileWrite.WriteLine("1");
                m_FileWrite.Close();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            finally
            {
                oConn.Close();
                oConn.Dispose();
            }

            if (!Exec_Application())
            {
                return;
            }
            Application.Exit();
        }