Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            iks = CY.UME.Core.Business.InstantlyKillingSingleton.Instance;

            ik = iks.Instantlykilling;

            if (!IsPostBack && ik != null)
            {
                BindRobot(ik.RobotId, ik.RobotNum, "");
            }

            //IList<CY.UME.Core.Business.Account> accountList = Core.Business.Account.GetRobotByEmail("killing", 100, "[Account].[Id]");
            //Label1.Text = "";
            //for (int i = 0; i < accountList.Count; i++)
            //{
            //    Label1.Text += "UPDATE Account SET [Name] = '" + accountList[i].Name + "' WHERE Id = " + accountList[i].Id + "--" + (i + 1) + "<br/>";
            //}
        }
Beispiel #2
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";

            ik = iks.Instantlykilling;

            DateTime BeginTime;

            int times = 0;
            if (context.Request.Form["Times"] == null
                || !int.TryParse(context.Request.Form["Times"].ToString(), out times))
            {
                ;
            }

            BeginTime = ik.BeginTime;

            if (ik == null || (!ik.IsEnable && ik.IsEnd))
            {
                context.Response.Write("{s:-1,n:'" + ik.AccountName + "',d:'" + ik.EndTime.ToString("yyyy-MM-dd HH:mm:ss") + "',IKList:[" + GetLastIKLog(ik.Id) + "]}");
                return;
            }

            //int state = -2;//-3时间到了 -2未开拍 -1活动已结束 0倒计时 1有人竞拍
            int count = 0;

            if (DateTime.Now < BeginTime)
            {
                TimeSpan ts = new TimeSpan(BeginTime.Ticks - DateTime.Now.Ticks);

                context.Response.Write("{s:-2,t:" + ts.TotalSeconds + "}");
            }
            else if (iks.IsEnd == false && iks.Instantlykilling.IsEnd == false)
            {
                if (DateTime.Now <= iks.Instantlykilling.EndTime && BeginTime <= DateTime.Now)//
                {// 运行时间小于等于剩余时间
                    while (true)
                    {
                        if (iks.CountDown > 0)
                        {//倒计时剩余时间大于0
                            if (times == 0 || times < iks.Num)
                            {//0倒计时
                                int TotalAction = Core.Business.InstantlyKillingLog.GetIKCountByInstansIdAndAccountId(ik.Id, iks.AccountId);
                                context.Response.Write("{s:1,e:" + iks.IsEnd.ToString().ToLower() + ",t:" + iks.CountDown + ",c:" + ik.Integral + ",n:'" + iks.Name + "',ts:" + iks.Num + ", total:" + (TotalAction * ik.Integral) + ",d:'" + iks.BidTime.ToString("HH:mm:ss") + "'}");
                                break;
                            }
                            else
                            {
                                count++;
                                if (count > 5)
                                {
                                    context.Response.Write("{s:0,t:" + iks.CountDown + "}");
                                    break;
                                }

                                System.Threading.Thread.Sleep(500);
                                continue;
                            }
                            //System.Threading.Thread.Sleep(100);// 无法访问的代码
                        }
                        else if (iks.IsEnd)
                        {//活动结束

                            CY.UME.Core.Business.InstantlyKilling EndIK = CY.UME.Core.Business.InstantlyKilling.Load(ik.Id);
                            iks.IsEnd = true;
                            EndIK.IsEnd = true;
                            EndIK.IsEnable = false;
                            EndIK.AccountId = iks.AccountId;
                            EndIK.AccountName = iks.Name;
                            //EndIK.EndTime = DateTime.Now;
                            EndIK.Save();

                            CY.UME.Core.Business.InstantlyKillingSingleton.EndCountDownTiming();

                            context.Response.Write("{s:-1,n:'" + ik.AccountName + "',IKList:[" + GetLastIKLog(ik.Id) + "]}");
                            return;
                        }
                        else if (DateTime.Now < ik.BeginTime)
                        {//当前时间小于开始时间,活动还没有开始
                            TimeSpan ts = new TimeSpan(BeginTime.Ticks - DateTime.Now.Ticks);

                            context.Response.Write("{s:-2,t:" + CY.Utility.Common.ConvertUtility.ConvertToLong(ts.TotalSeconds, 0) + "}");
                            return;
                        }
                        else
                        {//机器人的时间到了后,也没有人继续拍了。

                            CY.UME.Core.Business.InstantlyKilling EndIK = CY.UME.Core.Business.InstantlyKilling.Load(ik.Id);
                            iks.IsEnd = true;
                            EndIK.IsEnd = true;
                            EndIK.IsEnable = false;
                            EndIK.AccountId = iks.AccountId;
                            EndIK.AccountName = iks.Name;
                            //EndIK.EndTime = DateTime.Now;
                            EndIK.Save();

                            CY.UME.Core.Business.InstantlyKillingSingleton.EndCountDownTiming();
                            string EndTime = CY.UME.Core.Business.InstantlyKillingLog.GetLastIKLog(ik.Id).AddSeconds(ik.Seconds).ToString("yyyy-MM-dd HH:mm:ss");
                            context.Response.Write("{s:-1,i:" + EndIK.AccountId + ",n:'" + EndIK.AccountName + "',c:" + ik.Integral + ",d:'" + EndTime + "'}");
                            return;
                        }
                    }
                }
                else
                {// 时间到了
                    CY.UME.Core.Business.InstantlyKillingSingleton.EndCountDownTiming();
                    string EndTime = CY.UME.Core.Business.InstantlyKillingLog.GetLastIKLog(ik.Id).AddSeconds(ik.Seconds).ToString("yyyy-MM-dd HH:mm:ss");
                    context.Response.Write("{s:-3,i:" + iks.AccountId + ",n:'" + iks.Name + "',c:" + ik.Integral + ",d:'" + EndTime + "'}");
                    return;
                }
            }
            else
            {//活动结束
                iks.IsEnd = true;

                CY.UME.Core.Business.InstantlyKillingSingleton.EndCountDownTiming();
                string EndTime = CY.UME.Core.Business.InstantlyKillingLog.GetLastIKLog(ik.Id).AddSeconds(ik.Seconds).ToString("yyyy-MM-dd HH:mm:ss");
                context.Response.Write("{s:-1,i:" + iks.AccountId + ",n:'" + iks.Name + "',c:" + ik.Integral + ",d:'" + EndTime + "',IKList:[" + GetLastIKLog(ik.Id) + "]}");
                return;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            CY.UME.Core.Business.InstantlyKillingSingleton iks = CY.UME.Core.Business.InstantlyKillingSingleton.Instance;

            NowKillingObj = iks.Instantlykilling;
        }
        private void Bind()
        {
            if (Request.QueryString["ikid"] == null)
            {
                return;
            }

            SetTitle("秒杀商品修改");
            btnAdd.Visible = false;

            long ikid = CY.Utility.Common.ConvertUtility.ConvertToLong(Request.QueryString["ikid"], -1);

            if (ikid == -1)
            {
                LblBackBtn.Text = "";
                LblMsg.Text = "参数错误。<input id=\"Button1\" type=\"button\" value=\" 单击返回 \" onclick=\"window.history.back();\" />";
                return;
            }

            btnSave.Visible = true;

            ik = CY.UME.Core.Business.InstantlyKilling.Load(ikid);

            if (ik == null)
            {
                LblMsg.Text = "该商品不存在或已删除。";
                return;
            }
            else
            {
                //ViewState["InstantlyKilling"] = Ik;
                IK_Id.Value = ik.Id.ToString();

                TxtName.Text = ik.Name;
                TxtIntegral.Text = ik.Integral.ToString();
                TxtReferencePrice.Text = ik.ReferencePrice.ToString();
                TxtBeginTime.Text = String.Format("{0:yyyy-MM-dd HH:mm:ss}", ik.BeginTime);
                TxtTotalTime.Text = ik.TotalTime.ToString();
                TxtRobotId.Text = ik.RobotId;
                TxtRobotNum.Text = ik.RobotNum.ToString();
                TxtInterfereNum.Text = String.Format("{0:yyyy-MM-dd HH:mm:ss}", ik.InterfereNum);
                TxtProductInfo.Text = ik.ProductInfo;
                ImagePath.ImageUrl = SiteUrl + "/InstantlyKilling/Img/" + ik.ImagePath;
                CHKIsEnd.Checked = ik.IsEnd;
                CHKIsEnable.Checked = ik.IsEnable;
                TxtSeconds.Text = ik.Seconds.ToString().Trim();
                TxtEndTime.Text = String.Format("{0:yyyy-MM-dd HH:mm:ss}", ik.EndTime); ;

                IsEnable = ik.IsEnable;// 后面保存和修改的时候使用
            }
        }
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            LblMsg.Text = "";
            FileName = Guid.NewGuid() + Path.GetExtension(FileImagePath.FileName);
            try
            {
                CY.UME.Core.Business.InstantlyKilling ikadd = new CY.UME.Core.Business.InstantlyKilling();

                ikadd.Name = TxtName.Text.Trim();
                ikadd.DateCreated = DateTime.Now;
                ikadd.Integral = CY.Utility.Common.ConvertUtility.ConvertToDouble(TxtIntegral.Text.Trim(), 5);
                ikadd.ReferencePrice = CY.Utility.Common.ConvertUtility.ConvertToDouble(TxtReferencePrice.Text.Trim(), 2000);
                ikadd.BeginTime = CY.Utility.Common.ConvertUtility.ConvertToDateTime(TxtBeginTime.Text.Trim());
                ikadd.TotalTime = CY.Utility.Common.ConvertUtility.ConvertToInt(TxtTotalTime.Text.Trim(), 60);
                ikadd.RobotId = TxtRobotId.Text.Trim();
                ikadd.RobotNum = CY.Utility.Common.ConvertUtility.ConvertToInt(TxtRobotNum.Text.Trim(), 30);
                ikadd.InterfereNum = CY.Utility.Common.ConvertUtility.ConvertToDateTime(TxtInterfereNum.Text.Trim());
                ikadd.ProductInfo = TxtProductInfo.Text.Trim();
                ikadd.EndTime = CY.Utility.Common.ConvertUtility.ConvertToDateTime(TxtEndTime.Text.Trim());
                ikadd.Seconds = CY.Utility.Common.ConvertUtility.ConvertToInt(TxtSeconds.Text.Trim(), 8);

                if (FileImagePath.FileName != "")
                {
                    ikadd.ImagePath = FileName;
                    UpPic();
                }
                UpImg();
                if (CHKIsEnable.Checked)
                {
                    if (CY.UME.Core.Business.InstantlyKilling.GetIKIsEnableNum(1) == 0)
                    {
                        ikadd.IsEnable = CHKIsEnable.Checked;
                    }
                    else
                    {
                        ikadd.IsEnable = false;
                        msg += "同时只能有一个倒计时开启。";
                    }
                }
                else
                {
                    ikadd.IsEnable = false;
                }

                ikadd.IsEnd = CHKIsEnable.Checked;
                ikadd.Save();

                if (CHKIsEnable.Checked && CY.UME.Core.Business.InstantlyKilling.GetIKIsEnableNum(1) == 1)
                {
                    Core.Business.InstantlyKillingSingleton.Initialize();
                }

                LblMsg.Text = "新增成功<br/>" + msg;
            }
            catch (Exception ex)
            {
                LblMsg.Text = "新增失败:" + ex.Message + "<br/>" + msg;
            }
        }
 public static void InitializeKilling()
 {
     isEnd = false;
     instantlykilling = CY.UME.Core.Business.InstantlyKilling.GetIKByEnable();
     if (instantlykilling == null)
     {
         instantlykilling = Core.Business.InstantlyKilling.GetIKLastByLogInstanceId();
         Instance.AccountId = instantlykilling.AccountId;
         Instance.Name = instantlykilling.AccountName;
     }
 }
        private void bindMessage()
        {
            CY.UME.Core.PagingInfo pagingInfo = new CY.UME.Core.PagingInfo();
            pagingInfo.CurrentPage = AspNetPager1.CurrentPageIndex;
            pagingInfo.PageSize = AspNetPager1.PageSize = SetCurrentPageSize.CurrentPageSize;

            IList<CY.UME.Core.Business.SpaceComment> LeaveList = CY.UME.Core.Business.InstantlyKilling.GetAllLeaveList(pagingInfo);
            List<LeaveMessage> LeaveMessages = new List<LeaveMessage>();
            for (int i = 0; i < LeaveList.Count; i++)
            {
                CY.UME.Core.Business.Account acc = CY.UME.Core.Business.Account.Load(LeaveList[i].AuthorId);
                if (acc != null)
                {
                    LeaveMessage lm = new LeaveMessage();
                    lm.Id = LeaveList[i].Id;
                    lm.InstanceId = LeaveList[i].InstanceId;
                    lm.AccountId = LeaveList[i].AccountId;
                    lm.AuthorId = LeaveList[i].AuthorId;
                    lm.AuthorName = acc.Name;
                    lm.Content = LeaveList[i].Content;
                    lm.IP = LeaveList[i].IP;
                    lm.DateCreated = LeaveList[i].DateCreated;
                    lm.ReferedId = LeaveList[i].ReferedId;
                    lm.IsPublic = LeaveList[i].IsPublic;

                    LeaveMessages.Add(lm);
                }
            }

            if (LeaveMessages != null && LeaveMessages.Count >= 1)
            {
                CY.UME.Core.Business.InstantlyKilling kill = new CY.UME.Core.Business.InstantlyKilling();
                AspNetPager1.RecordCount = kill.GetLevelWordsCount();
                Repeater1.DataSource = LeaveMessages;
                Repeater1.DataBind();
            }
        }