/// <summary>
        ///
        /// </summary>
        /// <param name="loginInfo"></param>
        /// <returns></returns>
        private DTOAPIRes_Login LoginUnionWay(DTOAPIReq_Login loginInfo)
        {
            var entity = this.accesser.db.Accounts;
            IQueryable <Account> query_union = this.accesser.db.Accounts.Where(x => 1 == 0);

            try
            {
                Int64 key = Int64.Parse(loginInfo.username);
                entity.Where(x => x.Id == key);
                query_union = query_union.Union(entity.Where(x => x.Id == key));
            }
            catch (Exception ex)
            {
            }

            if (PhoneHelper.IsValid(loginInfo.username))
            {
                var data = PhoneHelper.Split(loginInfo.username);

                var areacode = data.Item1;
                var phone    = data.Item2;
                query_union = query_union.Union(entity.Where(x => x.PhoneAreaCode == areacode && x.Phone == phone));
            }

            if (EmailHepler.IsValid(loginInfo.username))
            {
                string email = loginInfo.username.ToLower();
                query_union = query_union.Union(entity.Where(x => x.Email.Equals(email)));
            }

            query_union = query_union.Union(entity.Where(x => x.Username == loginInfo.username));
            query_union = query_union.Union(entity.Where(x => x.Passport.Equals(loginInfo.username.ToLower())));
#if DEBUG
#endif

            var arr = query_union.ToArray();
            if (arr != null && arr.Length > 0)
            {
                var account = arr.Where(x => x.Password == loginInfo.password).SingleOrDefault();
                return(GenLoginData(account, loginInfo.password));
            }
            else
            {
                return(new DTOAPIRes_Login
                {
                    accessToken = "",
                    state = 3,
                    msg = "UID/通行证/用户名/邮箱/手机号不存在"
                });
            }

            //return account;
        }