Exemplo n.º 1
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            Loger.Log4Net.Info("[Login]btnLogin_Click begin...");
            try
            {
                string organizationService   = ConfigurationManager.AppSettings["OrganizationService"];
                IOrganizationService service = (IOrganizationService)Activator.GetObject(typeof(IOrganizationService),
                                                                                         organizationService);
                string userName      = txtUserName.Text.Trim();
                string domainAccount = txtDomainAccount.Text.Trim();
                string password      = txtPwd.Text.Trim();
                Loger.Log4Net.Info("[Login]btnLogin_Click service.Login(domainAccount, password) begin...");
                LoginResult loginResult = service.Login(domainAccount, password);
                if (loginResult == LoginResult.Success)
                {
                    LoginUser.DomainAccount = domainAccount;
                    LoginUser.Password      = password;
                    Employee eModel = service.GetEmployeeByDomainAccount(domainAccount);

                    if (eModel != null)
                    {
                        SqlTool tool = new SqlTool();
                        //LoginUser.AgentID = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetUserIDByNameDomainAccount("lihefeng");
                        LoginUser.UserID       = tool.GetUserIDByNameDomainAccount(domainAccount);
                        LoginUser.EmployeeID   = eModel.EmployeeID;
                        LoginUser.Department   = eModel.Department;
                        LoginUser.TrueName     = eModel.CnName;
                        LoginUser.ExtensionNum = userName;
                        //LoginUser.GroupName = tool.GetUserGroupNamesStr(Convert.ToInt32(LoginUser.AgentID));

                        string str = tool.GetBGNameAndOutNum(Convert.ToInt32(LoginUser.UserID));
                        if (!string.IsNullOrEmpty(str))
                        {
                            string[] strArray = str.Split(',');

                            LoginUser.BGID      = strArray[0];
                            LoginUser.GroupName = strArray[1];
                            LoginUser.OutNum    = strArray[2];
                            if (string.IsNullOrEmpty(strArray[3]))
                            {
                                MessageBox.Show("坐席工号未设置,请联系管理员!");
                                Loger.Log4Net.Info("[Login]坐席登录 坐席工号未设置 AgentID is:" + LoginUser.UserID + "!");
                                return;
                            }
                            else
                            {
                                LoginUser.AgentNum = strArray[3];
                            }
                        }
                        else
                        {
                            Loger.Log4Net.Info("[Login]btnLogin_Click...AgentID is:" + LoginUser.UserID + ",所属业务组为空!");
                        }
                        Loger.Log4Net.Info("[Login]坐席登录...AgentID is:" + LoginUser.UserID + ",AgentNum is:" + LoginUser.AgentNum + ",GroupName is:" + LoginUser.GroupName);
                    }
                    //DomainAccount = domainAccount;
                    //Password = password;
                }
                else
                {
                    MessageBox.Show("密码错误,请联系管理域帐号的网管!");
                    return;
                }
                if (string.IsNullOrEmpty(userName))
                {
                    MessageBox.Show("请输入坐席分机号码!");
                }
                else
                {
                    Loger.Log4Net.Info("[Login]btnLogin_Click CarolHelper.Instance.Login begin...");
                    int r = CarolHelper.Instance.Login(Program.rc, userName, true);
                    if (r == (int)enErrorCode.E_SUCCESS)
                    {
                        SaveLoginInfoToLocalXML(userName, domainAccount);
                        //LoginUser.ExtensionNum = userName;
                        Loger.Log4Net.Info("[Login]btnLogin_Click LoginUser.ExtensionNum is:" + LoginUser.ExtensionNum + ",LoginUser.UserID is:" + LoginUser.EmployeeID);
                        this.Hide();
                        Main main = new Main();
                        main.Show();
                    }
                    else if (r == (int)enErrorCode.E_TSV_REJECT)
                    {
                        Loger.Log4Net.Info("[Login]btnLogin_Click CarolHelper.Instance.Login is enErrorCode.E_TSV_REJECT...");
                        if (IsForceLogin)
                        {
                            Loger.Log4Net.Info("[Login]btnLogin_Click CarolHelper.Instance.Login 坐席分机强制登录开始...");
                            CarolHelper.Instance.Clear(Program.rc, userName);
                            r = CarolHelper.Instance.Login(Program.rc, userName, true);
                            if (r == (int)enErrorCode.E_SUCCESS)
                            {
                                Loger.Log4Net.Info("[Login]btnLogin_Click CarolHelper.Instance.Login 坐席分机登录成功...");
                                SaveLoginInfoToLocalXML(userName, domainAccount);
                                LoginUser.ExtensionNum = userName;
                                this.Hide();
                                Main main = new Main();
                                main.Show();
                            }
                            else
                            {
                                Loger.Log4Net.Info("[Login]btnLogin_Click CarolHelper.Instance.Login 坐席分机强制登录失败..." + r);
                            }
                        }
                        else
                        {
                            Loger.Log4Net.Info("[Login]btnLogin_Click CarolHelper.Instance.Login 坐席分机已登录,不能重复登录...");
                            MessageBox.Show("坐席分机已登录,不能重复登录");
                        }
                    }
                    //else if (r == (int)enErrorCode.E_TSV_REJECT)
                    //{
                    //    //MessageBox.Show("坐席分机已登录,不能重复登录");
                    //    CarolHelper.Instance.Clear(Program.rc, userName);
                    //    r = CarolHelper.Instance.Login(Program.rc, userName, true);
                    //    if (r == (int)enErrorCode.E_SUCCESS)
                    //    {
                    //        SaveLoginUserNameToLocalXML(userName);
                    //        UserName = userName;
                    //        this.Hide();
                    //        Main main = new Main();
                    //        main.Show();
                    //    }
                    //}
                    else if (r == -1)
                    {
                        MessageBox.Show("宇高录音登录失败");
                        //CarolHelper.Instance.Clear(Program.rc, userName);
                    }
                }

                this.txtUserName.Focus();
            }
            catch (Exception ex)
            {
                Loger.Log4Net.Info("[Login]btnLogin_Click errorMessage is:" + ex.Message);
                Loger.Log4Net.Info("[Login]btnLogin_Click errorSource is:" + ex.Source);
                Loger.Log4Net.Info("[Login]btnLogin_Click errorStackTrace is:" + ex.StackTrace);
            }
        }