public InvokeResult <AuthMerchantRet> AuthenticateMerchant(AuthMerchantParam param)
        {
            InvokeResult <AuthMerchantRet> result = new InvokeResult <AuthMerchantRet>()
            {
                Success = true, ret = new AuthMerchantRet()
            };

            try
            {
                string  applicationIdFrom = GetHttpHeader("ApplicationId");
                SPParam theSPParam = new { StationCode = param.StationCode, PasswordHash = param.PasswordHash, ApplicationIdFrom = applicationIdFrom, ApplicationIdTo = GlobalManager.SmartLife_CertManage_MerchantServices }.ToSPParam();
                BuilderFactory.DefaultBulder().ExecuteSPNoneQuery("SP_Auth_Merchant", theSPParam);
                if (theSPParam.ErrorCode == 0)
                {
                    result.ret.Token       = TokenProvider.GenTokenDynamic(param.StationCode, GlobalManager.SALT_MERCHANT);
                    result.ret.StationName = theSPParam["StationName"].ToString();
                    string strNodeInfos = TypeConverter.ChangeString(theSPParam["NodeInfos"]);

                    if (strNodeInfos != "")
                    {
                        result.ret.AuthNodeInfos = new List <AuthNodeInfo> {
                        };
                        string[] arrNodeInfos = strNodeInfos.Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                        foreach (string strNodeInfo in arrNodeInfos)
                        {
                            string[]     arrNodeInfo = strNodeInfo.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                            AuthNodeInfo nodeInfo    = new AuthNodeInfo {
                                StationId = Guid.Parse(arrNodeInfo[0]), Remark = arrNodeInfo[1], AccessPoint = arrNodeInfo[2]
                            };
                            result.ret.AuthNodeInfos.Add(nodeInfo);
                        }
                    }
                }
                else
                {
                    result.Success   = false;
                    result.ErrorCode = Convert.ToInt32(theSPParam["ErrorCode"]);
                }
            }
            catch (Exception ex)
            {
                result.Success      = false;
                result.ErrorMessage = ex.Message;
            }

            return(result);
        }
 public InvokeResult <AuthMerchantRet> AuthenticateMerchant(AuthMerchantParam param)
 {
     return(base.AuthenticateMerchantInner(param));
 }