コード例 #1
0
 // Token: 0x06000012 RID: 18 RVA: 0x0000303C File Offset: 0x0000123C
 private void btnLogin_Click(object sender, EventArgs e)
 {
     if (this.txtExamCode.Text.Trim().Equals(""))
     {
         MessageBox.Show("Please provide an Exam code");
     }
     else if (this.txtUser.Text.Trim().Equals(""))
     {
         MessageBox.Show("Please provide an username");
     }
     else if (this.txtPassword.Text.Trim().Equals(""))
     {
         MessageBox.Show("Please provide a password");
     }
     else if (this.txtDomain.Text.Trim().Equals(""))
     {
         MessageBox.Show("Please provide a domain address");
     }
     else
     {
         try
         {
             string url = string.Concat(new object[]
             {
                 "tcp://",
                 this.si.IP,
                 ":",
                 this.si.Port,
                 "/Server"
             });
             IRemoteServer remoteServer = (IRemoteServer)Activator.GetObject(typeof(IRemoteServer), url);
             RegisterData  registerData = new RegisterData();
             registerData.Login    = this.txtUser.Text;
             registerData.Password = this.txtPassword.Text;
             registerData.ExamCode = this.txtExamCode.Text;
             registerData.Machine  = Environment.MachineName.ToUpper();
             EOSData eosdata = remoteServer.ConductExam(registerData);
             if (eosdata.Status == RegisterStatus.EXAM_CODE_NOT_EXISTS)
             {
                 MessageBox.Show("Exam code is not available!", "Start exam", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             }
             else if (eosdata.Status == RegisterStatus.FINISHED)
             {
                 MessageBox.Show("The exam is finished!", "Start exam", MessageBoxButtons.OK, MessageBoxIcon.Hand);
             }
             else if (eosdata.Status == RegisterStatus.REGISTERED)
             {
                 MessageBox.Show("This user [" + this.txtUser.Text + "] is already registered. Need re-assign to continue the exam.", "Exam Registering", MessageBoxButtons.OK, MessageBoxIcon.Hand);
             }
             else if (eosdata.Status == RegisterStatus.REGISTER_ERROR)
             {
                 MessageBox.Show("Register ERROR, try again", "Exam Registering", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             }
             else if (eosdata.Status == RegisterStatus.NOT_ALLOW_MACHINE)
             {
                 MessageBox.Show("Your machine is not allow to take the exam!", "Exam Registering", MessageBoxButtons.OK, MessageBoxIcon.Hand);
             }
             else if (eosdata.Status == RegisterStatus.NOT_ALLOW_STUDENT)
             {
                 MessageBox.Show("The account is NOT allow to take the exam!", "Exam Registering", MessageBoxButtons.OK, MessageBoxIcon.Hand);
             }
             else if (eosdata.Status == RegisterStatus.LOGIN_FAILED)
             {
                 MessageBox.Show("Sorry, unable to verify your information. Check [User Name] and [Password]!", "Login failed");
             }
             if (eosdata.Status == RegisterStatus.NEW || eosdata.Status == RegisterStatus.RE_ASSIGN)
             {
                 base.Hide();
                 eosdata.GUI = GZipHelper.DeCompress(eosdata.GUI, eosdata.OriginSize);
                 Assembly    assembly   = Assembly.Load(eosdata.GUI);
                 Type        type       = assembly.GetType("ExamClient.frmEnglishExamClient");
                 Form        form       = (Form)Activator.CreateInstance(type);
                 IExamclient examclient = (IExamclient)form;
                 eosdata.GUI = null;
                 eosdata.ServerInfomation = this.si;
                 eosdata.RegData          = registerData;
                 examclient.SetExamData(eosdata);
                 form.Show();
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show("Start Exam Error:\nCannot connect to the EOS server!\n", "Connecting...", MessageBoxButtons.OK, MessageBoxIcon.Hand);
         }
     }
 }