protected override XResp Execute() { var c = DB.x_collect.FirstOrDefault(o => o.coop_id == coopid && o.user_id == us.id); var r = new XResp() { msg = "" }; if (c == null) { c = new x_collect() { coop_id = coopid, time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), user_id = us.id }; DB.x_collect.InsertOnSubmit(c); r.msg = c.id + ""; } else { DB.x_collect.DeleteOnSubmit(c); } SubmitDBChanges(); return(r); }
protected override XResp Execute() { var r = new XResp(); var ods = DB.x_order.Where(o => o.iscancel == false && o.isclosing == false && o.isrefund == false && o.status == 4 && o.sign_time >= DateTime.Now.AddDays(-cfg.refdays)).Take(5); if (ods.Count() == 0) { return(r); } foreach (var o in ods) { o.isclosing = true; allotBonus(o.x_user.invter, 1, o.yf_amount.Value); var log = new x_lottery_log() { amount = o.yf_amount.Value * cfg.brate, ctime = DateTime.Now, oamount = o.yf_amount, rate = cfg.brate }; o.x_lottery_log.Add(log); cfg.pool_lott += o.yf_amount.Value * cfg.brate; cfg.pool_fund += o.yf_amount.Value * cfg.mrate; cfg.od_count++; cfg.od_amount += o.yf_amount.Value; } Config.SaveConfig(cfg); SubmitDBChanges(); return(new XResp()); }
protected override XResp Execute() { var rsp = new XResp(); var lot = DB.x_lottery.FirstOrDefault(o => (o.ltime == null && o.runtp == 1) || o.runtp == 2); if (lot == null) { return(rsp); } var rules = lot.rules.Split(','); var match = 0; foreach (var rule in rules) { var r = rule.Split('-'); if (r[0] == "1" && (lot.ltime == null || lot.ltime.Value.Date <= DateTime.Now.AddDays(-int.Parse(r[1])).Date)) { match = 1; break; } if (r[0] == "2" && cfg.od_count >= int.Parse(r[1])) { match = 2; break; } if (r[0] == "3" && cfg.od_amount >= int.Parse(r[1])) { match = 3; break; } } if (match == 0) { return(rsp); } RunLot(lot, match); cfg.od_amount = 0; cfg.od_count = 0; Config.SaveConfig(cfg); return(rsp); }
public void ProcessRequest(HttpContext c) { var v = c.Request.QueryString["v"].ToLower().Replace("/", "."); var t = int.Parse(c.Request.QueryString["t"]); var data = (byte[])null; XFace face = null; var assb = Assembly.Load("X.App"); try { face = assb.CreateInstance(String.Format("X.App.{0}.{1}", (t == 1 ? "Views" : "Apis"), v)) as XFace; if (face == null) { throw new XExcep((t == 1 ? "0x0001" : "0x0002"), v); } face.Init(c); data = face.GetResponse(); } catch (XExcep fe) { var rsp = new XResp(fe.ErrCode, fe.ErrMsg); if (t == 1) { var view = assb.CreateInstance("X.App.Views.com.err") as Views.View; var html = "<html><head><meta http-equiv=\"Content-Type]\" content=\"text/html;charset=utf-8\" /></head><body>{body}</body></html>"; if (view == null) { data = Encoding.UTF8.GetBytes(html.Replace("{body}", Serialize.ToJson(rsp))); } else { view.Init(c); view.dict.Add("rsp", rsp); view.dict.Add("backurl", Secret.ToBase64(c.Request.RawUrl)); data = view.GetResponse(); } } else { data = Encoding.UTF8.GetBytes(Serialize.ToJson(rsp)); } if (fe.ErrCode != "0x0001") { Loger.Error(Serialize.ToJson(rsp)); } } catch (Exception ex) { if (ex is ThreadAbortException) { return; } var resp = new XResp(Guid.NewGuid().ToString(), ex.Message); data = Encoding.UTF8.GetBytes(Serialize.ToJson(resp) + "\r\n" + Serialize.ToJson(ex)); Loger.Fatal(GetType(), ex); } if (data != null) { c.Response.Clear(); c.Response.HeaderEncoding = Encoding.UTF8; c.Response.ContentEncoding = Encoding.UTF8; c.Response.OutputStream.Write(data, 0, data.Length); c.Response.End(); } }