예제 #1
0
        public static int NewMsgCount(string account)
        {
            try
            {
                DataSet ds = new ParamUtil()
                             .SQLCmdLoadData()
                             .SQLWithOutSchema()
                             .SQLEntityScript("CAIKA_MEMBER_MESSAGE", string.Format("SELECT COUNT(*) FROM CAIKA_MEMBER_MESSAGE WHERE SSOPST='{0}@caika.com' AND STATE='{1}'", account, message_state.UnRead))
                             .ExecuteCmd(ADataLoader.DataLoader())
                             .GetValueAsDataSet();

                return(Convert.ToInt32(ds.Tables[0].Rows[0][0]));
            }
            catch
            {
                return(0);
            }
        }
예제 #2
0
        public static DataTable GetPaymentList()
        {
            try
            {
                ParamUtil paramUtil = new ParamUtil().SQLCmdLoadData().SQLWithOutSchema()
                                      .SQLEntityScript("CAIKA_PAYMENT", string.Format("SELECT PAYID,NAME,PAYLINK,PAYMETHOD,CSSNAME,SEQNO FROM CAIKA_PAYMENT WHERE STATE='{0}'", state.Enabled))
                                      .ExecuteCmd(ADataLoader.DataLoader());
                if (paramUtil.IsOK())
                {
                    return(paramUtil.GetValueAsDataSet().Tables["CAIKA_PAYMENT"]);
                }
            }
            catch (Exception)
            {
            }

            return(null);
        }
예제 #3
0
        public JsonResult queryJournalList()
        {
            Hashtable aHT = Authorizes.GetAuthorizeCache(Request);

            if (aHT != null)
            {
                // 返回账户流水清单
                DataSet ds_result = new ParamUtil()
                                    .SetCmd(AAccountUtil.CGetJournalList)
                                    .SetParam(aHT["DOMAINUSER"]).SetParam("type", Request["t"]).SetParam("time", Request["m"]).SetParam("pageno", Request["pageno"])
                                    .ExecuteCmd(new AAccountUtil())
                                    .GetValueAsDataSet();

                var rows = ds_result.Tables["list"].Rows.OfType <DataRow>().Select(
                    cm => new journalItem()
                {
                    t_id      = cm["ID"].ToString(),
                    time      = cm["JOURNALTIME"].ToString(),
                    type      = cm["TYPE"].ToString(),
                    amount    = string.Format("{0:f}", cm["AMOUNT"]),
                    available = string.Format("{0:f}", cm["AVAILABLE"]),
                    remark    = cm["REMARK"].ToString(),
                    state     = cm["STATE"].ToString()
                });

                DictSetUtil ds_total = new DictSetUtil(ds_result);
                return(Json(new
                {
                    flag = "y",
                    pagenums = ds_result.Tables["pages"].Rows.Count > 0 ? ds_result.Tables["pages"].Rows[0][0] : 0,
                    pageno = string.IsNullOrEmpty(Request["pageno"]) ? "1" : Request["pageno"],
                    deposited = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.充值)) ? "0.00" : ds_total.GetValue(journal_type.充值)),
                    bonus = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.中奖)) ? "0.00" : ds_total.GetValue(journal_type.中奖)),
                    exchanged = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.积分兑换)) ? "0.00" : ds_total.GetValue(journal_type.积分兑换)),
                    returned = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.返点)) ? "0.00" : ds_total.GetValue(journal_type.返点)),
                    consume = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.投注)) ? "0.00" : ds_total.GetValue(journal_type.投注)),
                    withdraw = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.提现)) ? "0.00" : ds_total.GetValue(journal_type.提现)),
                    rows = rows.ToList()
                }));
            }

            return(Json(new { flag = "n" }));
        }
예제 #4
0
        private void GetAccountSummary(Hashtable Params)
        {
            string passport = PickParam(Params).GetValueAsString();

            if (string.IsNullOrEmpty(passport))
            {
                PickParam(Params).Clear().SetError("未传入通行证");
            }
            else
            {
                // 得到会员信息
                DataSet dsMember = new ParamUtil().SQLCmdLoadData().SQLEntityScript("CAIKA_MEMBER", string.Format("SELECT * FROM CAIKA_MEMBER WHERE SSOPST='{0}'", passport))
                                   .ExecuteCmd(ADataLoader.DataLoader()).GetValueAsDataSet();
                if (dsMember.Tables["CAIKA_MEMBER"].Rows.Count == 0)
                {
                    PickParam(Params).Clear().SetError("未找到会员记录");
                }
                else
                {
                    // 通行证+超级密码
                    string key = new DictSetUtil(null).PushSLItem(passport).PushSLItem("6B276432FFAF4FD4E086E739009256B3")
                                 .DoSignature();

                    DictSetUtil dsSummary = new DictSetUtil(AEntryDic.Pick().GetDic(key));
                    dsSummary.SetValue("NICKNAME", dsMember.Tables["CAIKA_MEMBER"].Rows[0]["NICKNAME"].ToString());

                    PickParam(Params).Clear();
                    PickParam(Params).SetParam(dsSummary.MyDS);

                    // 将账户摘要同步到Member表中
                    if (dsMember.Tables["CAIKA_MEMBER"].Rows[0]["UPDFLAG"].ToString() != "N")
                    {
                        dsMember.Tables["CAIKA_MEMBER"].Rows[0]["TOTALAMOUNT"] = dsSummary.GetValue("TOTALAMOUNT");
                        dsMember.Tables["CAIKA_MEMBER"].Rows[0]["AVAILABLE"]   = dsSummary.GetValue("AVAILABLE");
                        dsMember.Tables["CAIKA_MEMBER"].Rows[0]["FREEZED"]     = dsSummary.GetValue("FREEZED");
                        dsMember.Tables["CAIKA_MEMBER"].Rows[0]["SCORE"]       = dsSummary.GetValue("SCORE");
                        dsMember.Tables["CAIKA_MEMBER"].Rows[0]["UPDFLAG"]     = "N";

                        new ParamUtil().SQLCmdPersistent().SetParam(dsMember).ExecuteCmd(ADataLoader.DataLoader());
                    }
                }
            }
        }
예제 #5
0
        public static DataSet GetBankData(string account)
        {
            try
            {
                DataSet dsMember = new ParamUtil()
                                   .SQLCmdLoadData()
                                   .SQLWithOutSchema()
                                   .SQLEntityScript("CAIKA_MEMBER", string.Format("SELECT * FROM CAIKA_MEMBER WHERE SSOPST='{0}@caika.com'", account))
                                   .ExecuteCmd(ADataLoader.DataLoader())
                                   .GetValueAsDataSet();

                string key = dsMember.Tables[0].Rows[0]["BANKDIGEST"].ToString().Trim();
                return(new DictSetUtil(AEntryDic.Pick().GetDic(key)).MyDS);
            }
            catch (Exception)
            {
                return(null);
            }
        }
예제 #6
0
        public static DataSet GetMemberInfo(string account)
        {
            try
            {
                DataSet dsMember = new ParamUtil()
                                   .SQLCmdLoadData()
                                   .SQLWithOutSchema()
                                   .SQLEntityScript("CAIKA_MEMBER", string.Format("SELECT * FROM CAIKA_MEMBER WHERE SSOPST='{0}'", account))
                                   .ExecuteCmd(ADataLoader.DataLoader())
                                   .GetValueAsDataSet();

                DictSetUtil dsInfo = new DictSetUtil(new UriUtil().ImportRow(dsMember.Tables[0].Rows[0]).DSQueryItem);
                return(dsInfo.MyDS);
            }
            catch (Exception)
            {
                return(null);
            }
        }
예제 #7
0
        /// <summary>
        /// 获取会员账号的资金摘要信息
        /// </summary>
        /// <param name="objControl"></param>
        /// <param name="accountId"></param>
        /// <returns></returns>
        public static DataSet GetMemberDigest(IControl objControl, string accountId = "")
        {
            DictSetUtil digestDS = new DictSetUtil(new DataSet());

            try
            {
                digestDS.SetValue("TOTALAMOUNT", "0.00"); // 账户总额
                digestDS.SetValue("AVAILABLE", "0.00");   // 可用余额
                digestDS.SetValue("FREEZED", "0.00");     // 冻结金额
                digestDS.SetValue("SCORE", "0");          // 积分
                digestDS.SetValue("DEPOSITED", "0.0");    // 充值金额
                digestDS.SetValue("BONUS", "0.0");        // 中奖金额
                digestDS.SetValue("EXCHANGED", "0.0");    // 积分兑换
                digestDS.SetValue("RETURNED", "0.0");     // 游戏返点
                digestDS.SetValue("CONSUME", "0.0");      // 投注金额
                digestDS.SetValue("WITHDRAW", "0.0");     // 提款金额

                // 得到会员账号的资金摘要信息
                if (!string.IsNullOrEmpty(accountId))
                {
                    ParamUtil aPU = new ParamUtil()
                                    .SQLCmdLoadData()
                                    .SQLEntityScript("CAIKA_MEMBER", string.Format("SELECT * FROM CAIKA_MEMBER WHERE ACCOUNTID='{0}'", accountId))
                                    .SQLWithOutSchema()
                                    .ExecuteCmd(ADataLoader.DataLoader());
                    if (aPU.IsOK())
                    {
                        DataSet dsDigest = AEntryDic.Pick(objControl).GetDic(aPU.GetValueAsDataSet().Tables["CAIKA_MEMBER"].Rows[0].Field <string>("DIGEST"));
                        if (dsDigest != null)
                        {
                            digestDS.MyDS.Merge(dsDigest);
                            digestDS.AcceptChanges();
                        }
                    }
                }
            }
            catch (Exception)
            {
            }

            return(digestDS.MyDS);
        }
예제 #8
0
        public static void DeleteMessage(string msgid)
        {
            DataSet dsPersistent = new ParamUtil()
                                   .SQLCmdLoadData()
                                   .SQLEntityScript("CAIKA_MEMBER_MESSAGE", string.Format("SELECT * FROM CAIKA_MEMBER_MESSAGE WHERE MSGID='{0}'", msgid))
                                   .ExecuteCmd(ADataLoader.DataLoader())
                                   .GetValueAsDataSet();

            if (dsPersistent.Tables[0].Rows.Count > 0)
            {
                try
                {
                    dsPersistent.Tables[0].Rows[0].Delete();
                    new ParamUtil().SQLCmdPersistent().SetParam(dsPersistent).ExecuteCmd(ADataLoader.DataLoader());
                }
                catch (Exception)
                {
                }
            }
        }
예제 #9
0
        public PageModel(BaseController controller, string file)
        {
            Parameters = new DynamicParameters();
            ParamUtil aPU = new ParamUtil().SQLCmdLoadDataFromXML(file).ExecuteCmd(ADataLoader.LocalDataLoader());

            if (!aPU.IsOK())
            {
                throw new InvalidOperationException(string.Format("上下文中未匹配到合适的Model信息! file={0}", file));
            }

            DictSetUtil aXTCS = new DictSetUtil(aPU.GetValueAsDataSet());

            Title         = aXTCS.GetValue("Title");
            Description   = aXTCS.GetValue("Description");
            Keywords      = aXTCS.GetValue("Keywords");
            ResConfigFile = aXTCS.GetValue("ResConfigFile");

            AppDomain  = controller.AppDomain;
            ResVersion = controller.ResVersion;
        }
예제 #10
0
        /// <summary>
        /// </summary>
        /// <returns></returns>
        private BaiduAccessTokenEntity GetAccessToken()
        {
            BaiduAccessTokenParamEntity baiduAccessToken = new BaiduAccessTokenParamEntity
            {
                grant_type    = "authorization_code",
                code          = System.Web.HttpContext.Current.Request.QueryString["code"],
                client_id     = param.client_id,
                client_secret = param.client_secret,
                redirect_uri  = param.redirect_uri,
            };
            var url    = $"{AccessToken_Url}?{ParamUtil.BuildSortedParams(baiduAccessToken)}";
            var result = HttpUtil.Get(url);
            BaiduAccessTokenEntity baidu_AccessToken = JsonConvert.DeserializeObject <BaiduAccessTokenEntity>(result);

            if (baidu_AccessToken == null)
            {
                throw new Exception($"获取百度 ACCESS_TOKEN 出错:{result}");
            }
            return(baidu_AccessToken);
        }
예제 #11
0
        public JsonResult queryMessageList()
        {
            Hashtable aHT = Authorizes.GetAuthorizeCache(Request);

            if (aHT != null)
            {
                DataSet            ds_result = AAccountUtil.GetMessageList(ParamUtil.Pick(aHT).GetValueAsString("DOMAINUSER"), Request["pageno"]);
                List <messageItem> rows      = new List <messageItem>();
                foreach (DataRow item in ds_result.Tables["list"].Rows)
                {
                    messageItem a = new messageItem();
                    switch (item.Field <int>("MSGTYPE"))
                    {
                    case message_id.Account_KeyIn_BankCard:
                    case message_id.Account_KeyIn_DetailInfo:
                    case message_id.Account_KeyIn_Withdrawals:
                        a.msg_type = "账户提示";
                        break;

                    default:
                        a.msg_type = "系统消息";
                        break;
                    }
                    a.msg_id = item["MSGID"].ToString();
                    a.title  = item["MSGTITLE"].ToString();
                    a.ctime  = Convert.ToDateTime(item["CTIME"]).ToString("yyyy/MM/dd HH:mm");
                    a.state  = item["STATE"].ToString();
                    rows.Add(a);
                }

                return(Json(new
                {
                    flag = "y",
                    pagenums = ds_result.Tables["pages"].Rows.Count > 0 ? ds_result.Tables["pages"].Rows[0][0] : 0,
                    pageno = string.IsNullOrEmpty(Request["pageno"]) ? "1" : Request["pageno"],
                    rows = rows.ToList()
                }));
            }

            return(Json(new { flag = "n" }));
        }
예제 #12
0
        /// <summary>
        /// http直接访问 https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method=alipay.system.oauth.token&app_id=4472&sign_type=RSA2&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0&charset=GBK&grant_type=authorization_code&code=4b203fe6c11548bcabd8da5bb087a83b
        /// auth_code授权之后的回执
        /// </summary>
        /// <returns></returns>
        private AlipayAccessTokenEntity GetAccessToken()
        {
            AlipayAccessTokenParamEntity alipayAccessToken = new AlipayAccessTokenParamEntity
            {
                timestamp  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                method     = "alipay.system.oauth.token",
                app_id     = param.app_id,
                sign_type  = "RSA2",
                version    = "1.0",
                charset    = "utf-8",
                grant_type = "authorization_code",
                code       = HttpContext.Current.Request.QueryString["auth_code"],
                format     = "",
            };

            alipayAccessToken.sign = System.Web.HttpUtility.UrlEncode(Signature(alipayAccessToken));
            var url    = $"{AccessToken_Url}?{ParamUtil.BuildSortedParams(alipayAccessToken, false, "")}";
            var result = HttpUtil.Get(url);
            AlipayAccessTokenEntity alipay_AccessToken = JsonConvert.DeserializeObject <AlipayAccessTokenEntity>(result);

            return(alipay_AccessToken);
        }
예제 #13
0
        public JsonResult changePwd()
        {
            Hashtable aHT = Authorizes.GetAuthorizeCache(Request);

            if (aHT != null)
            {
                ParamUtil aPU = new ParamUtil()
                                .SetCmd(AAccountUtil.CChangePassword)
                                .SetParam(aHT["DOMAINUSER"]).SetParam("type", Request["t"]).SetParam("c_pass", Request["c_pass"]).SetParam("n_pass", Request["n_pass"])
                                .ExecuteCmd(new AAccountUtil());
                if (aPU.IsOK())
                {
                    return(Json(new { flag = "y", message = "success" }));
                }
                else
                {
                    return(Json(new { flag = "n", message = aPU.GetError() }));
                }
            }

            return(Json(new { flag = "n", message = "账户登录状态失效" }));
        }
예제 #14
0
        public void Trigger(string makerKey, string eventName, params string[] values)
        {
            //Assert.IsNotNullOrEmpty(makerKey, $"{nameof(IftttService)}.{nameof(Trigger)} parameter {nameof(makerKey)} is required");
            //Assert.IsNotNullOrEmpty(eventName, $"{nameof(IftttService)}.{nameof(Trigger)} parameter {nameof(eventName)} is required");

            // TODO: Add proper queue for scaling
            // TODO: Add governance? - block too many requests?

            using (var client = new HttpClient())
            {
                // Handle optional ifttt data values
                var value1 = ParamUtil.GetValue(1, values);
                var value2 = ParamUtil.GetValue(2, values);
                var value3 = ParamUtil.GetValue(3, values);

                var url = $"https://maker.ifttt.com/trigger/{eventName}/with/key/{makerKey}?value1={value1}&value2={value2}&value3={value3}";

                // Log.Info($"IFTTT Trigger service: {url}", this);
                var response = Task.Run(() => client.GetAsync(url)).Result;
                // Log.Info($"IFTTT Trigger response: {response?.StatusCode} - {response?.ReasonPhrase}", this);
            }
        }
예제 #15
0
        public JsonResult postRequest(string id)
        {
            Hashtable aHT = Authorizes.GetAuthorizeCache(Request);

            if (aHT != null)
            {
                ParamUtil aPU = new ParamUtil()
                                .SetCmd(AAccountUtil.CPostRequest)
                                .SetParam(aHT["DOMAINUSER"]).SetParam("type", id).SetParam("msgid", Request["msgid"])
                                .ExecuteCmd(new AAccountUtil());
                if (aPU.IsOK())
                {
                    return(Json(new { flag = "y", message = "success" }));
                }
                else
                {
                    return(Json(new { flag = "n", message = aPU.GetError() }));
                }
            }

            return(Json(new { flag = "n", message = "账户登录失效" }));
        }
예제 #16
0
        public static Hashtable GetPaymethod2Hashtable(string channel, string payId)
        {
            Hashtable aHT = new Hashtable();

            try
            {
                ParamUtil paramUtil = new ParamUtil().SQLCmdLoadData()
                                      .SQLEntityScript("CAIKA_PAYMENT", string.Format("SELECT PAYID,VENDORID,PAYLINK,PAYMETHOD,PAYPARAMS,RATE,TOTALREQUEST,TOTALRECEIVED FROM CAIKA_PAYMENT WHERE PAYID='{0}' AND PAYMETHOD='{1}' AND STATE='{2}'", payId, channel, AosuApp.state.Enabled))
                                      .ExecuteCmd(ADataLoader.DataLoader());
                if (paramUtil.IsOK())
                {
                    ParamUtil.Pick(aHT)
                    .Merge(new UriUtil().ImportRow(paramUtil.GetValueAsDataSet().Tables[0].Rows[0]).ExportHashtable())
                    .ImportSets(AEntryDic.Pick().GetDic(ParamUtil.Pick(aHT).GetValueAsString("PAYPARAMS")));
                }
            }
            catch (Exception)
            {
            }

            return(aHT);
        }
예제 #17
0
 public static bool WithdrawIsEmpty(string account)
 {
     try
     {
         // 得到会员信息
         DataSet dsMember = new ParamUtil()
                            .SQLCmdLoadData()
                            .SQLEntityScript("CAIKA_MEMBER", string.Format("SELECT ISNULL(WITHDRAWALS,'') FROM CAIKA_MEMBER WHERE SSOPST='{0}@caika.com'", account))
                            .SQLWithOutSchema()
                            .ExecuteCmd(ADataLoader.DataLoader()).GetValueAsDataSet();
         if (dsMember.Tables["CAIKA_MEMBER"].Rows.Count == 0)
         {
             return(false);
         }
         else
         {
             return(string.IsNullOrEmpty(dsMember.Tables[0].Rows[0].Field <string>(0).Trim()));
         }
     }
     catch
     {
         return(false);
     }
 }
예제 #18
0
        public static Hashtable GetPaymentInfo(string payid)
        {
            Hashtable aHT = null;

            try
            {
                ParamUtil paramUtil = new ParamUtil().SQLCmdLoadData().SQLWithOutSchema()
                                      .SQLEntityScript("CAIKA_PAYMENT", string.Format("SELECT TOP 1 * FROM CAIKA_PAYMENT WHERE STATE='{0}' AND PAYID='{1}'", state.Enabled, payid))
                                      .ExecuteCmd(ADataLoader.DataLoader());
                if (paramUtil.IsOK())
                {
                    if (paramUtil.GetValueAsDataSet().Tables["CAIKA_PAYMENT"].Rows.Count == 1)
                    {
                        aHT = new UriUtil().ImportRow(paramUtil.GetValueAsDataSet().Tables["CAIKA_PAYMENT"].Rows[0])
                              .ExportHashtable();
                    }
                }
            }
            catch (Exception)
            {
            }

            return(aHT);
        }
        /// <summary>
        /// 设置SQL参数
        /// </summary>
        /// <param name="fullParamName">参数全名称,有基础类型、类属性和末尾sql等三种参数
        /// 基础类型格式: #[1-99]:ParamName#, 第一个字符表示参数顺序号,值范围数字1-99,第二个字符为冒号分隔符,后面是实际参数名
        /// 类属性格式:#ParamName#,ParamName就是实际参数名,必须与参数类的某个公开属性严格匹配
        /// 末尾sql格式:fullParamName为空字符串,此时只有ParamSql属性有意义
        /// </param>
        /// <param name="sql"></param>
        /// <param name="isConditionParam">是否条件参数</param>
        /// <returns>SQL参数</returns>
        private SqlParam SetSqlParam(string fullParamName, string sql, bool isConditionParam)
        {
            string paramName = "";
            int    paramSeq  = 0;
            int    paramNameIndex;

            // 0.fullParamName=="": 表示最后一个参数,只有SQL有效,参数名和类型无效,参数编号为-1
            // 1.(fullParamName.IndexOf(":")<0):  表示基础类型,参数名中包含参数顺序号,格式: #[1-99]:ParamName#
            // 2.(fullParamName.IndexOf(":")>=0): 表示对象类,参数名中为类属性,格式: 类属性名
            if (fullParamName == "")
            {
                paramSeq = -1;
            }
            else
            {
                paramNameIndex = fullParamName.IndexOf(":");
                if (paramNameIndex < 0)
                {
                    paramName = fullParamName.Substring(1, fullParamName.Length - 2);
                }
                else
                {
                    paramName = fullParamName.Substring(paramNameIndex + 1, fullParamName.Length - paramNameIndex - 2);
                    paramSeq  = ParamUtil.getint(fullParamName.Substring(1, paramNameIndex - 1));
                }
            }

            // 条件参数:需要将参数字符转换为{0},简化ToString()的处理
            if (isConditionParam == true)
            {
                sql = " " + sql.Replace(fullParamName, "{0}");
            }

            // 返回参数
            return(new SqlParam(paramName, paramSeq, sql, isConditionParam));
        }
예제 #20
0
 public override void CheckParam()
 {
     ParamUtil.CheckParam(DataId, Group, Content);
 }
예제 #21
0
        private void PostRequest(Hashtable Params)
        {
            string account = PickParam(Params).GetValueAsString();
            string type    = PickParam(Params).GetValueAsString("type");
            string msgid   = PickParam(Params).GetValueAsString("msgid");

            try
            {
                if (string.IsNullOrEmpty(account))
                {
                    throw new ArgumentNullException("account", "未传入账户名");
                }

                if (string.IsNullOrEmpty(type))
                {
                    throw new ArgumentNullException("type", "未传入请求类型");
                }

                if (string.IsNullOrEmpty(msgid))
                {
                    throw new ArgumentNullException("msgid", "未传入请求ID");
                }

                string uid = new DictSetUtil(null).DoSignature(msgid);

                // 修改会员信息
                string  passport     = string.Format("{0}@caika.com", account);
                DataSet dsPersistent = new ParamUtil()
                                       .SQLCmdLoadData()
                                       .SQLEntityScript("CAIKA_MEMBER_MESSAGE", string.Format("SELECT * FROM CAIKA_MEMBER_MESSAGE WHERE MSGID='{0}'", uid))
                                       .ExecuteCmd(ADataLoader.DataLoader())
                                       .GetValueAsDataSet();
                if (dsPersistent.Tables[0].Rows.Count == 0)
                {
                    DataRow row_message1 = dsPersistent.Tables["CAIKA_MEMBER_MESSAGE"].NewRow();
                    row_message1["MSGID"]  = uid;
                    row_message1["SSOPST"] = "*****@*****.**";
                    switch (type)
                    {
                    case "1":
                        row_message1["MSGTYPE"]  = message_id.UserRequest_ChangeMemberInfo;
                        row_message1["MSGTITLE"] = string.Format("{0}提交修改个人资料的请求", passport);
                        break;

                    case "2":
                        row_message1["MSGTYPE"]  = message_id.UserRequest_ChangePayPassword;
                        row_message1["MSGTITLE"] = string.Format("{0}提交修改支付密码的请求", passport);
                        break;
                    }
                    row_message1["MSGBODY"] = "";
                    row_message1["STATE"]   = message_state.UnRead;
                    row_message1["CTIME"]   = DateTime.Now;
                    dsPersistent.Tables["CAIKA_MEMBER_MESSAGE"].Rows.Add(row_message1);

                    new ParamUtil().SQLCmdPersistent().SetParam(dsPersistent).ExecuteCmd(ADataLoader.DataLoader());
                }
            }
            catch (Exception ex1)
            {
                PickParam(Params).Clear().SetError(ex1.Message);
            }
        }
예제 #22
0
 public override void CheckParam()
 {
     ParamUtil.CheckInstanceInfo(Ip, Port, ServiceName);
 }
 public override void CheckParam()
 {
     ParamUtil.CheckServiceName(ServiceName);
 }
예제 #24
0
 public override string GetRedirectUrl()
 {
     return($"{Authorize_Url}?{ParamUtil.BuildParams(param)}");
 }
예제 #25
0
        private void AppendNode4List(Hashtable Params)
        {
            IModelForm instance = PickParam(Params).GetValue <IModelForm>(ActionUtil.ActionID);

            if (instance != null)
            {
                string userId = GetControl().GetContext().GetValue <string>("USERID");

                StandardGrid gridList = instance.GetActived <ListModelFormProxy>().GridControl;
                if (gridList.CurrentRow != null)
                {
                    DataRowView curRow = (DataRowView)gridList.CurrentRow.DataBoundItem;

                    // 得到当前层级最大编号
                    DataView curLevel = new DataView(((DataSet)gridList.DataSource).Tables[gridList.DataMember], "PARENTID='" + curRow["PARENTID"] + "'", "CATEGORYID DESC", DataViewRowState.CurrentRows);
                    if (curLevel.Count == 0)
                    {
                        return;
                    }

                    int    idx;
                    string cId = curLevel[0]["CATEGORYID"].ToString().Trim();
                    if (int.TryParse(cId.Substring(cId.Length - 3), out idx))
                    {
                        if (idx + 1 > 999)
                        {
                            AlertBox.ShowTips("已超过最大编码范围(0-999)!", instance, MessageBoxButtons.OK);
                            return;
                        }

                        // 新编码
                        string    nId = string.Format("{0}{1:000}", cId.Substring(0, cId.Length - 3), idx + 1);
                        ParamUtil aPU = new ParamUtil()
                                        .SQLCmdLoadData().SQLEntityScript("BASE_CATEGORY", string.Format("SELECT * FROM BASE_CATEGORY WHERE CATEGORYID='{0}'", nId))
                                        .ExecuteCmd(ADataLoader.DataLoader());
                        if (aPU.IsOK())
                        {
                            bool isNew = false;

                            #region 构建分类数据

                            DataRow rowNew = ((DataSet)gridList.DataSource).Tables[gridList.DataMember].NewRow();
                            if (aPU.GetValueAsDataSet().Tables["BASE_CATEGORY"].Rows.Count == 0)
                            {
                                rowNew["CATEGORYID"] = nId;
                                rowNew["PARENTID"]   = curRow["PARENTID"];
                                rowNew["CTYPE"]      = curRow["CTYPE"];
                                rowNew["SEQNO"]      = curRow.Row.Field <int>("SEQNO") + 1;
                                rowNew["LEVEL"]      = curRow["LEVEL"];
                                rowNew["ISEND"]      = "Y";
                                rowNew["STATE"]      = AosuApp.state.Enabled;
                                rowNew["CTIME"]      = DateTime.Now;
                                rowNew["CUSER"]      = userId;
                                rowNew["ETIME"]      = DateTime.Now;
                                rowNew["EUSER"]      = userId;

                                isNew = true;
                            }
                            else
                            {
                                if (AlertBox.ShowWarning(string.Format("{0}编号已经存在,是否将数据放入当前窗体上下文中?", nId), instance, MessageBoxButtons.YesNo) != DialogResult.Yes)
                                {
                                    return;
                                }

                                rowNew.ItemArray = aPU.GetValueAsDataSet().Tables["BASE_CATEGORY"].Rows[0].ItemArray;
                                rowNew["STATE"]  = AosuApp.state.Enabled;
                                rowNew["ETIME"]  = DateTime.Now;
                                rowNew["EUSER"]  = userId;
                            }

                            #endregion

                            #region 插入到列表

                            int      newIdx  = 0;
                            DataView dvChild = new DataView(((DataSet)gridList.DataSource).Tables[gridList.DataMember], "CATEGORYID LIKE '" + cId + "%'", "CATEGORYID DESC", DataViewRowState.CurrentRows);
                            if (dvChild.Count > 0)
                            {
                                DataGridViewRow gridRow = gridList.Rows.OfType <DataGridViewRow>().FirstOrDefault(cm => ((DataRowView)cm.DataBoundItem)["CATEGORYID"] == dvChild[0]["CATEGORYID"]);
                                if (gridRow != null)
                                {
                                    newIdx = gridRow.Index + 1;
                                }
                            }
                            else
                            {
                                DataGridViewRow gridRow = gridList.Rows.OfType <DataGridViewRow>().FirstOrDefault(cm => ((DataRowView)cm.DataBoundItem)["CATEGORYID"] == curLevel[0]["CATEGORYID"]);
                                if (gridRow != null)
                                {
                                    newIdx = gridRow.Index + 1;
                                }
                            }

                            ((DataSet)gridList.DataSource).Tables[gridList.DataMember].Rows.InsertAt(rowNew, newIdx);
                            if (!isNew)
                            {
                                // 行状态改为"Modified"
                                rowNew.AcceptChanges();
                                rowNew["EUSER"] = userId;
                                rowNew["ETIME"] = DateTime.Now;
                            }

                            gridList.CurrentCell = gridList[0, newIdx];

                            #endregion
                        }
                        else
                        {
                            AlertBox.ShowError(aPU.GetError(), instance, MessageBoxButtons.OK);
                        }
                    }
                    else
                    {
                        AlertBox.ShowTips(string.Format("无效的分类编号{0}!"), instance, MessageBoxButtons.OK);
                    }
                }
            }
        }
예제 #26
0
 public override void CheckParam()
 {
     ParamUtil.CheckTDG(Tenant, DataId, Group);
 }
예제 #27
0
        public JsonResult doRegister()
        {
            string flag    = "success";
            string message = "";

            if (!string.IsNullOrEmpty(Request["vcode"]))
            {
                string strAccountId = Request["account"];
                string strPassword  = Request["password"];
                string strAgentCode = Request["agentcode"];
                if (string.IsNullOrEmpty(strAgentCode))
                {
                    strAgentCode = "000101999";
                }

                // 是否存在?
                if (MemberDBUtils.MemberIsExist(GetControl(), strAccountId))
                {
                    flag    = "failed";
                    message = "用户名已存在";
                }
                else
                {
                    Hashtable aHT = new Hashtable();
                    PickParam(aHT).SetParam("DOMAINUSER", strAccountId);
                    PickParam(aHT).SetParam("DOMAINNAME", "caika.com");
                    PickParam(aHT).SetParam("PSTPWD", strPassword);
                    PickParam(aHT).SetParam("TYPE", account_type.NormalAcount);
                    PickParam(aHT).SetParam("IP", Request.UserHostAddress);
                    PickParam(aHT).SetParam(MemberDBUtils.GetMemberDigest(GetControl()));
                    PickParam(aHT).SetParam("PARENTAGENT", strAgentCode);

                    // 校验应用许可权的合法性
                    ParamUtil checkLicense = PickParam().Merge(aHT).SetCmd(ADomain.CCheckLicense).ExecuteCmd(new ADomain());
                    if (!checkLicense.IsOK())
                    {
                        flag    = "failed";
                        message = checkLicense.GetError();
                    }
                    else
                    {
                        // 先注册通行证、然后再添加会员账户
                        // 执行CRegister命令后会破坏aHT参数信息,所以在此创建一个临时aHT1用于避免原始参数集合不被破坏。
                        Hashtable aHT1 = new Hashtable();
                        if (PickParam(aHT1).Merge(aHT).SetCmd(APassport.CRegister).ExecuteCmd(new APassport()).IsOK())
                        {
                            // 创建会员账户
                            Hashtable aHT2 = new Hashtable();
                            MemberDBUtils.CreateMemberRecord(GetControl(), PickParam(aHT2).Merge(aHT).ParamTable);
                            if (!PickParam(aHT2).IsOK())
                            {
                                flag    = "failed";
                                message = PickParam(aHT2).GetError();
                            }
                            else
                            {
                                // 注册完成后直接登录
                                if (PickParam(aHT).SetCmd(APassport.CSignOn).ExecuteCmd(new APassport()).IsOK())
                                {
                                    Authorizes.SetAuthorizeCache(Request, Response, PickParam(aHT).GetValue("passport") as Hashtable);
                                }
                                else
                                {
                                    flag    = "failed";
                                    message = PickParam(aHT).GetError();
                                }
                            }
                        }
                        else
                        {
                            flag    = "failed";
                            message = PickParam(aHT1).GetError();
                        }
                    }
                }
            }
            else
            {
                flag    = "failed";
                message = "验证码失效";
            }

            return(Json(new { state = flag, message = message }));
        }
예제 #28
0
        public ActionResult UserCenter(string id)
        {
            Hashtable aHT = Authorizes.GetAuthorizeCache(Request);

            if (aHT != null)
            {
                if (string.IsNullOrEmpty(id))
                {
                    id = "zhmx";
                }

                PageModel model = new PageModel(this, @"model\usercenter.xml");
                model.Parameters.Subpage   = id;
                model.Parameters.Pid       = string.Format("{0}{1}", id, Request["t"]);
                model.Parameters.Account   = ParamUtil.Pick(aHT).GetValueAsString("DOMAINUSER");
                model.Parameters.NickName  = ParamUtil.Pick(aHT).GetValueAsString("NICKNAME");
                model.Parameters.LoginTime = ParamUtil.Pick(aHT).GetValueAsString("LOGINTIME");
                model.Parameters.Available = string.Format("{0:f2}", Convert.ToDecimal(aHT["AVAILABLE"]));
                model.Parameters.Freezed   = string.Format("{0:f2}", Convert.ToDecimal(aHT["FREEZED"]));
                model.Parameters.Score     = aHT["SCORE"].ToString();
                switch (id)
                {
                case "czlink":
                    model.Parameters.PayList = CommonDBUtils.GetPaymentList();
                    break;

                case "zhmx":
                    // 返回账户流水清单
                    DataSet ds_result = new ParamUtil()
                                        .SetCmd(AAccountUtil.CGetJournalList)
                                        .SetParam(model.Parameters.Account).SetParam("type", Request["t"]).SetParam("time", Request["m"]).SetParam("pageno", Request["pageno"])
                                        .ExecuteCmd(new AAccountUtil())
                                        .GetValueAsDataSet();

                    model.Parameters.List = ds_result.Tables["list"];

                    DictSetUtil ds_total = new DictSetUtil(ds_result);
                    model.Parameters.Deposited = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.充值)) ? "0.00" : ds_total.GetValue(journal_type.充值));
                    model.Parameters.Bonus     = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.中奖)) ? "0.00" : ds_total.GetValue(journal_type.中奖));
                    model.Parameters.Exchanged = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.积分兑换)) ? "0.00" : ds_total.GetValue(journal_type.积分兑换));
                    model.Parameters.Returned  = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.返点)) ? "0.00" : ds_total.GetValue(journal_type.返点));
                    model.Parameters.Consume   = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.投注)) ? "0.00" : ds_total.GetValue(journal_type.投注));
                    model.Parameters.Withdraw  = string.Format("{0:f}", string.IsNullOrEmpty(ds_total.GetValue(journal_type.提现)) ? "0.00" : ds_total.GetValue(journal_type.提现));

                    model.Parameters.Type     = Request["t"];
                    model.Parameters.Time     = Request["m"];
                    model.Parameters.PageNo   = string.IsNullOrEmpty(Request["pageno"]) ? "1" : Request["pageno"];
                    model.Parameters.PageNums = 0;
                    if (ds_result.Tables["pages"].Rows.Count > 0)
                    {
                        model.Parameters.PageNums = ds_result.Tables["pages"].Rows[0][0];
                    }
                    break;

                case "zhmm":
                    model.Parameters.WithdrawIsEmpty = AAccountUtil.WithdrawIsEmpty(ParamUtil.Pick(aHT).GetValueAsString("DOMAINUSER"));
                    break;

                case "bdyhk":
                    model.Parameters.Provinces = CommonDBUtils.GetAreas();

                    // 返回账户的绑定的银行卡数据
                    DictSetUtil ds_bank = new DictSetUtil(AAccountUtil.GetBankData(ParamUtil.Pick(aHT).GetValueAsString("DOMAINUSER")));
                    model.Parameters.BankData = ds_bank.MyDS;
                    model.Parameters.HaveBank = ds_bank.DSxtcs.Rows.Count > 0;
                    break;

                case "grzl":
                    DictSetUtil ds_info = new DictSetUtil(AAccountUtil.GetMemberInfo(ParamUtil.Pick(aHT).GetValueAsString("DOMAINUSER")));
                    model.Parameters.MemberInfo = ds_info.MyDS;
                    model.Parameters.InfoIsFull = !string.IsNullOrEmpty(ds_info.GetValue("REALNAME")) && !string.IsNullOrEmpty(ds_info.GetValue("UID")) && !string.IsNullOrEmpty(ds_info.GetValue("ANSWER"));
                    break;

                case "msglist":
                    DataSet ds_msglist = AAccountUtil.GetMessageList(ParamUtil.Pick(aHT).GetValueAsString("DOMAINUSER"), Request["pageno"]);
                    model.Parameters.List     = ds_msglist.Tables["list"];
                    model.Parameters.PageNums = ds_msglist.Tables["pages"].Rows.Count > 0 ? ds_msglist.Tables["pages"].Rows[0][0] : 0;
                    model.Parameters.PageNo   = string.IsNullOrEmpty(Request["pageno"]) ? "1" : Request["pageno"];
                    break;
                }

                return(View("UserCenter", model));
            }

            return(Redirect("/"));
        }
예제 #29
0
        public ComputeResult Compute(object vars = null, InnerItem sender = null, object localvars = null)
        {
            var       cr            = new ComputeResult();
            object    lastvalue     = null;
            InnerItem xoperator     = null;
            InnerItem previtem      = null;
            InnerItem waititem      = null;
            InnerItem waititem2     = null;
            string    waitop        = "";
            object    waitvalue     = null;
            string    waitop2       = "";
            object    waitvalue2    = null;
            string    waitkey       = "";
            bool      unlemused     = false;
            bool      stopdoubledot = false;

            if (this.IsObject())
            {
                cr.Result.AddObject(new ExpandoObject());
            }
            for (int i = 0; i < this.InnerItems.Count; i++)
            {
                object    currentitemvalue = null;
                InnerItem current          = this.InnerItems[i];
                ParItem   paritem          = null;
                if (current.IsParItem())
                {
                    paritem = current as ParItem;
                }
                if (stopdoubledot)
                {
                    if (current.IsOperator && current.Value.ToString() == ":")
                    {
                        break;
                    }
                }
                InnerItem next   = null;
                string    nextop = "";
                if (i + 1 < this.InnerItems.Count)
                {
                    next = this.InnerItems[i + 1];
                }
                if (next != null && next.IsOperator)
                {
                    nextop = next.Value.ToString();
                }
                if (current.IsParItem())
                {
                    var    subresult = paritem.Compute(vars, this, localvars);
                    string prevvalue = "";
                    bool   previsvar = false;
                    if (previtem != null && !previtem.IsOperator && previtem.Value != null)
                    {
                        previsvar = previtem.InnerType == InnerType.TYPE_VARIABLE;
                        prevvalue = previtem.Value.ToString();
                    }
                    object varnew = null;
                    if (lastvalue != null)
                    {
                        varnew = lastvalue;
                    }
                    else
                    {
                        varnew = vars;
                    }
                    if (prevvalue != "")
                    {
                        if (paritem.ParName == "(")
                        {
                            currentitemvalue = ComputeActions.CallMethod(prevvalue, subresult.Result.GetObjects(), varnew, localvars);
                        }
                        else if (paritem.ParName == "[")
                        {
                            var prop = ComputeActions.GetProp(prevvalue, varnew);
                            if (PhpFuctions.is_array(prop))
                            {
                                int indis  = (int)Convert.ChangeType(subresult.Result[0], TypeCode.Int32);
                                var aritem = prop as IList;

                                currentitemvalue = aritem[indis];
                            }
                            else if (PhpFuctions.is_indis(prop))
                            {
                                var indisProp = prop.GetType().GetProperty("Item");
                                var newParams = ParamUtil.MatchParams(subresult.Result.GetObjects(), indisProp.GetIndexParameters());
                                currentitemvalue = indisProp.GetValue(prop, newParams);
                            }
                            else
                            {
                                int indis = (int)Convert.ChangeType(subresult.Result[0], TypeCode.Int32);
                                currentitemvalue = ((string)prop)[indis];
                            }
                        }
                    }
                    else
                    {
                        if (paritem.ParName == "(")
                        {
                            currentitemvalue = subresult.Result[0];
                        }
                        else if (paritem.ParName == "[")
                        {
                            if (subresult.Result.KeysIncluded())
                            {
                                currentitemvalue = subresult.Result.ToDictionary();
                            }
                            else
                            {
                                currentitemvalue = subresult.Result.GetObjects();
                            }
                        }
                        else if (paritem.ParName == "{")
                        {
                            currentitemvalue = subresult.Result.First();
                        }
                    }
                }
                else
                {
                    if (!current.IsOperator && current.InnerType == InnerType.TYPE_VARIABLE && next != null && next.IsParItem())
                    {
                        currentitemvalue = null;
                    }
                    else
                    {
                        currentitemvalue = current.Value;
                    }

                    if (current.InnerType == InnerType.TYPE_VARIABLE && (next == null || !next.IsParItem()) && (xoperator == null || xoperator.Value.ToString() != "."))
                    {
                        if (currentitemvalue == null || currentitemvalue.ToString() == "null")
                        {
                            currentitemvalue = null;
                        }
                        else if (currentitemvalue.ToString() == "false")
                        {
                            currentitemvalue = false;
                        }
                        else if (currentitemvalue.ToString() == "true")
                        {
                            currentitemvalue = true;
                        }
                        else if (!this.IsObject())
                        {
                            currentitemvalue = ComputeActions.GetPropValue(current, vars, localvars);
                        }
                    }
                }
                if (unlemused)
                {
                    currentitemvalue = !PhpFuctions.not_empty(currentitemvalue);
                    unlemused        = false;
                }
                if (current.IsOperator)
                {
                    if (current.Value.ToString() == "!")
                    {
                        unlemused = !unlemused;
                        previtem  = current;
                        continue;
                    }
                    if ((this.IsParItem() && current.Value.ToString() == ",") || (this.IsArray() && current.Value.ToString() == "=>" && (waitvalue == null || waitvalue.ToString() == "")) || (this.IsObject() && current.Value.ToString() == ":" && (waitvalue == null || waitvalue.ToString() == "")))
                    {
                        if (waitop2 != "")
                        {
                            lastvalue  = ComputeActions.OperatorResult(waitvalue2, lastvalue, waitop2);
                            waitvalue2 = null;
                            waitop2    = "";
                        }
                        if (waitop != "")
                        {
                            lastvalue = ComputeActions.OperatorResult(waitvalue, lastvalue, waitop);
                            waitvalue = null;
                            waitop    = "";
                        }
                        if (current.Value.ToString() == ",")
                        {
                            if (this.IsObject())
                            {
                                var exp = cr.Result.First <IDictionary <string, object> >();
                                exp.Add(waitkey, lastvalue);
                            }
                            else
                            {
                                cr.Result.AddObject(waitkey, lastvalue);
                            }

                            waitkey = "";
                        }
                        else
                        {
                            waitkey = lastvalue.ToString();
                        }
                        lastvalue = null;
                        xoperator = null;
                        previtem  = current;
                        continue;
                    }
                    string opstr = current.Value.ToString();
                    if (opstr == "||" || opstr == "|" || opstr == "or" || opstr == "&&" || opstr == "&" || opstr == "and" || opstr == "?")
                    {
                        if (waitop2 != "")
                        {
                            lastvalue  = ComputeActions.OperatorResult(waitvalue2, lastvalue, waitop2);
                            waitvalue2 = null;
                            waitop2    = "";
                        }
                        if (waitop != "")
                        {
                            lastvalue = ComputeActions.OperatorResult(waitvalue, lastvalue, waitop);
                            waitvalue = null;
                            waitop    = "";
                        }

                        bool state = PhpFuctions.not_empty(lastvalue);
                        xoperator = null;
                        if (opstr == "?")
                        {
                            if (state)
                            {
                                stopdoubledot = true;
                            }
                            else
                            {
                                for (int j = i + 1; j < this.InnerItems.Count; j++)
                                {
                                    var item = this.InnerItems[j];
                                    if (item.IsOperator && item.Value.ToString() == ":")
                                    {
                                        i = j;
                                        break;
                                    }
                                }
                            }
                            lastvalue = null;
                            previtem  = current;
                            continue;
                        }



                        if (opstr == "||" || opstr == "|" || opstr == "or")
                        {
                            if (state)
                            {
                                lastvalue = true;
                                if (opstr != "|")
                                {
                                    if (this.IsObject())
                                    {
                                        var exp = cr.Result.First <IDictionary <string, object> >();
                                        exp.Add(waitkey, true);
                                    }
                                    else
                                    {
                                        cr.Result.AddObject(waitkey, true);
                                    }
                                    return(cr);
                                }
                            }
                            else
                            {
                                lastvalue = false;
                            }
                        }
                        else
                        {
                            if (!state)
                            {
                                lastvalue = false;
                                if (opstr != "&")
                                {
                                    if (this.IsObject())
                                    {
                                        var exp = cr.Result.First <IDictionary <string, object> >();
                                        exp.Add(waitkey, false);
                                    }
                                    else
                                    {
                                        cr.Result.AddObject(waitkey, false);
                                    }
                                    return(cr);
                                }
                            }
                            else
                            {
                                lastvalue = true;
                            }
                        }
                        xoperator = current;
                    }
                    else
                    {
                        xoperator = current;
                    }

                    previtem = current;
                    continue;
                }
                else
                {
                    if (xoperator != null)
                    {
                        if (ComputeActions.PriotiryStop.Contains(xoperator.Value.ToString()))
                        {
                            if (waitop2 != "")
                            {
                                lastvalue  = ComputeActions.OperatorResult(waitvalue2, lastvalue, waitop2);
                                waitvalue2 = null;
                                waitop2    = "";
                            }
                            if (waitop != "")
                            {
                                lastvalue = ComputeActions.OperatorResult(waitvalue, lastvalue, waitop);
                                waitvalue = null;
                                waitop    = "";
                            }
                        }

                        if (next != null && next.IsParItem())
                        {
                            if (xoperator.Value.ToString() == ".")
                            {
                                if (currentitemvalue != null && !string.IsNullOrEmpty(currentitemvalue.ToString()))
                                {
                                    lastvalue = ComputeActions.GetProp(currentitemvalue.ToString(), lastvalue);
                                }
                            }
                            else
                            {
                                if (waitop == "")
                                {
                                    waitop    = xoperator.Value.ToString();
                                    waititem  = current;
                                    waitvalue = lastvalue;
                                }
                                else if (waitop2 == "")
                                {
                                    waitop2    = xoperator.Value.ToString();
                                    waititem2  = current;
                                    waitvalue2 = lastvalue;
                                }
                                lastvalue = null;
                            }
                            xoperator = null;
                            previtem  = current;
                            continue;
                        }
                        if (xoperator.Value.ToString() == ".")
                        {
                            lastvalue = ComputeActions.GetProp(currentitemvalue.ToString(), lastvalue);
                        }
                        else if (nextop != "." && ((xoperator.Value.ToString() != "+" && xoperator.Value.ToString() != "-") || nextop == "" || (ComputeActions.PriotiryStop.Contains(nextop))))
                        {
                            var opresult = ComputeActions.OperatorResult(lastvalue, currentitemvalue, xoperator.Value.ToString());
                            lastvalue = opresult;
                        }
                        else
                        {
                            if (waitop == "")
                            {
                                waitop    = xoperator.Value.ToString();
                                waititem  = current;
                                waitvalue = lastvalue;
                                lastvalue = currentitemvalue;
                            }
                            else if (waitop2 == "")
                            {
                                waitop2    = xoperator.Value.ToString();
                                waititem2  = current;
                                waitvalue2 = lastvalue;
                                lastvalue  = currentitemvalue;
                            }

                            continue;
                        }
                    }
                    else
                    {
                        lastvalue = currentitemvalue;
                    }
                }

                previtem = current;
            }
            if (waitop2 != "")
            {
                lastvalue  = ComputeActions.OperatorResult(waitvalue2, lastvalue, waitop2);
                waitvalue2 = null;
                waitop2    = "";
            }
            if (waitop != "")
            {
                lastvalue = ComputeActions.OperatorResult(waitvalue, lastvalue, waitop);
                waitvalue = null;
                waitop    = "";
            }
            if (this.IsObject())
            {
                var exp = cr.Result.First <IDictionary <string, object> >();
                exp.Add(waitkey, lastvalue);
            }
            else
            {
                cr.Result.AddObject(waitkey, lastvalue);
            }
            return(cr);
        }
예제 #30
0
 public override void CheckParam()
 {
     ParamUtil.CheckKeyParam(DataId, Group);
 }