Пример #1
0
    public string upload()
    {
        Random rnd      = new Random();
        string tiem     = DateTime.Now.ToString("yyyyMMdd");
        var    filepath = "";

        if (txt.HasFile)
        {
            string imageName      = txt.FileName;
            string extension_txt  = Path.GetExtension(imageName);
            bool   extension_type = extension_txt.Equals(".txt");
            if (extension_type)
            {
                int    num      = rnd.Next(5000, 10000);
                string path_txt = "file/TxT/" + tiem;
                DmFramework.IO.FileHelper.EnsureDirectory(System.Web.HttpContext.Current.Server.MapPath("../../" + path_txt));
                try
                {
                    txt.SaveAs(System.Web.HttpContext.Current.Server.MapPath("../../" + path_txt + "/" + num.ToString() + extension_txt));
                    HmTrace.WriteDebug("上传成功");
                }
                catch (Exception ex)
                {
                    HmTrace.WriteDebug(ex.Message);
                }
                filepath = path_txt + "/" + num.ToString() + extension_txt;
            }
        }
        return(filepath);
    }
Пример #2
0
    protected override void OnPreLoad(EventArgs e)
    {
        base.OnPreLoad(e);

        IManageUser user = ManageProvider.Provider.Current;

        if (user == null)
        {
            Response.Redirect("../Login.aspx");
        }

        ICommonManageProvider provider = CommonManageProvider.Provider;
        IMenu root = null;

        if (provider != null)
        {
            root = provider.MenuRoot;
        }

        IAdministrator admin = user as IAdministrator;

        if (Request["act"] == "logout")
        {
            admin.Logout();
            HmTrace.WriteWarn("我来了这里5555");
            if (string.IsNullOrEmpty(Request["tohome"]))
            {
                // 再跳一次,除去Url中的尾巴
                if (!String.IsNullOrEmpty(Request.Url.Query))
                {
                    Response.Redirect("Default.aspx");
                }
                return;
            }
            else
            {
                Response.Redirect("~/");
                return;
            }
        }

        if (root != null)
        {
            root.CheckMenuName("Admin", "管理平台")
            .CheckMenuName(@"Admin\Sys", "系统管理")
            .CheckMenuName(@"Admin\Advance", "高级设置");

            IMenu menu = root.FindByPath(@"Admin");
            if (menu != null && String.Equals(menu.Url, "../Admin/Default.aspx", StringComparison.OrdinalIgnoreCase))
            {
                menu.Url = "../Admin/Main.aspx";
                menu.Save();
            }
        }
    }
Пример #3
0
        /// <summary>
        /// Application main entry point.
        /// </summary>
        /// <param name="args">Command line argumnets.</param>
        public static void Main(String[] args)
        {
            try
            {
                HmTrace.UseService();

                AuctionAgent.ServiceMain();
            }
            catch (Exception ex)
            {
                HmTrace.WriteException(ex);
            }
        }
Пример #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Int32 ID      = Convert.ToInt32(Request.QueryString["ID"]);
        Int32 addTime = Convert.ToInt32(Request.QueryString["timeAdd"]);

        //更新竞投时间
        try
        {
            Auction auction = Auction.FindByID(ID);
            if (auction.AuctionSatus != 3 && auction.EndTime <= DateTime.Now && auction.MinPrice <= auction.BiddingPriceNow)
            {
                auction.AuctionSatus = 3;
            }
            auction.EndTime          = auction.EndTime.AddSeconds(addTime);
            auction.BiddingPriceNow += auction.EveryAddPrice;
            auction.WinningBidder    = member.Current.ID;
            auction.UpdateTime       = DateTime.Now;
            auction.BidCount        += 1;
            auction.Update();
            //花费积分 竞投
            member.Current.point = member.Current.point - auction.EveryNeedPoint;
            member.Current.Update();
            AuctionHistory history = new AuctionHistory();
            history.MemberID  = member.Current.ID;
            history.AuctionID = auction.ID;
            history.BidDate   = DateTime.Now;
            history.BidEyuan  = auction.BiddingPriceNow;
            history.Insert();
            PointHistory pointhistory = new PointHistory();
            pointhistory.UseTime           = DateTime.Now;
            pointhistory.MemberId          = member.Current.ID;
            pointhistory.Point             = -1 * auction.EveryNeedPoint;
            pointhistory.ItemName          = "参与竞投";
            pointhistory.CurrentPointCount = member.Current.point;
            pointhistory.Save();
            msgStr = "success";
        }
        catch (Exception ex)
        {
            msgStr = "fail";
            HmTrace.WriteException(ex.Message);
            //Response.Write(ex.Message);
        }
        Response.Write(msgStr);
    }
Пример #5
0
 private void save()
 {
     try
     {
         if (!txt.HasFile)
         {
             return;
         }
         var hst = load(upload());
         EntityList <member> membervirtuals = hst;
         if (membervirtuals != null)
         {
             membervirtuals.Save();
         }
     }
     catch (Exception ex)
     {
         HmTrace.WriteDebug(ex.Message);
     }
 }
Пример #6
0
    protected void Button3_Click(object sender, EventArgs e)
    {
        if (!FileUpload1.HasFile)
        {
            return;
        }

        String xml = Encoding.UTF8.GetString(FileUpload1.FileBytes);

        try
        {
            MethodInfoX.Create(EntityType, "Import").Invoke(null, xml);

            gv.DataBind();
        }
        catch (Exception ex)
        {
            WebHelper.Alert(ex.Message);

            HmTrace.WriteLine(ex.ToString());
        }
    }
Пример #7
0
    bool VerifyIPN()
    {
        string         strFormValues = Request.Form.ToString();
        string         strNewValue;
        string         strResponse;
        string         serverURL = "https://www.sandbox.paypal.com/cgi-bin/webscr";
        HttpWebRequest req       = (HttpWebRequest)WebRequest.Create(serverURL);

        req.Method      = "POST";
        req.ContentType = "application/x-www-form-urlencoded";
        strNewValue     = strFormValues + "&cmd=_notify-validate";
        HmTrace.WriteInfo("IPN验证" + strFormValues);
        req.ContentLength = strNewValue.Length;
        StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);

        stOut.Write(strNewValue);
        stOut.Close();
        StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream());

        strResponse = stIn.ReadToEnd();
        stIn.Close();
        return(strResponse == "VERIFIED");
    }
Пример #8
0
 protected void button1_Click(object sender, EventArgs e)
 {
     try
     {
         string account     = Request.Form["Account1"];
         string password    = Request.Form["Password1"];
         member loginMember = member.Login(account, password);
         if (loginMember != null)
         {
             loginMember.lastLoginDate = System.DateTime.Now;
             if (loginMember.Update() != 1)
             {
                 Response.Write("error");
             }
             else
             {
                 Response.Redirect("../Jesto/member_coupon.aspx");
             }
         }
     }
     catch (ThreadAbortException) { }
     catch (Exception ex)
     {
         String msg = "帳號或者密碼錯誤!";
         msg += "," + ex.Message;
         if (ex is EntityException)
         {
             msg += "," + ex.Message;
         }
         else
         {
             HmTrace.WriteException(ex);
         }
         errorMsg = msg;
     }
 }
Пример #9
0
    protected void LoginBt_Click(object sender, EventArgs e)
    {
        try
        {
            String account = AcccountName.Text;
            ManageProvider.Provider.Login(account, Password.Text);

            //if (ManageProvider.Provider.Current != null)
            //{
            //    //检查当前登录的帐号是否绑定了指定的帐号,如果没有绑定指定的帐号即退出
            //    if (!ManageProvider.Provider.Current.IsAdmin)
            //    {
            //        Administrator a = ManageProvider.Provider.Current as Administrator;
            //        //if (!a.CheckAccount()) WebHelper.AlertAndRedirect("该帐号没有绑定用户信息!", "Default.aspx");
            //    }
            //    Response.Redirect("Default.aspx");
            //}

            Response.Redirect("Default.aspx");
        }
        catch (ThreadAbortException) { }
        catch (Exception ex)
        {
            String msg = "帐号或密码错误";
            msg += "," + ex.Message;
            if (ex is EntityException)
            {
                msg += "," + ex.Message;
            }
            else
            {
                HmTrace.WriteException(ex);
            }
            errorMessage.Text = msg;
        }
    }
Пример #10
0
        /// <summary>核心工作方法。调度线程会定期调用该方法</summary>
        /// <param name="index">线程序号</param>
        /// <returns>是否立即开始下一步工作。某些任务能达到满负荷,线程可以不做等待</returns>
        public override Boolean Work(Int32 index)
        {
            if (index == 0)
            {
                lock (m_lock)
                {
                    if (m_virtualMembers != null)
                    {
                        var temp = m_virtualMembers;
                        m_virtualMembers = null;
                        temp.Clear();
                        temp = null;
                    }
                    HmTrace.WriteLine("开始载入虚拟会员信息");
                    m_virtualMembers = member.FindAll(member._.isVirtualMember.Equal(true), null, null, 0, 0);
                    m_canDoWork      = (m_virtualMembers != null && m_virtualMembers.Count > 0);
                    if (m_canDoWork)
                    {
                        HmTrace.WriteLine("载入{0}个虚拟会员", m_virtualMembers.Count);
                    }
                    else
                    {
                        HmTrace.WriteLine("载入虚拟会员信息失败!");
                    }
                }
            }
            else if (index == 1)
            {
                lock (m_lock)
                {
                    if (m_canDoWork)
                    {
                        var eop = Auction.Meta.Factory;
                        eop.BeginTransaction();

                        try
                        {
                            ////foreach (var item in m_virtualMembers)
                            //{
                            //  HmTrace.WriteLine("ID: {0} NickName: {1} Name: {2} Email: {3} WorkIndex: {4} MemberIndex: {5}",item.id, item.NickName, item.Name, item.Email, index, idx);
                            //}

                            var auction        = new Auction();;
                            var auctionHistory = new AuctionHistory();
                            //var auctionList = auction.Find("(DateDiff('s', Now(),CDate(end_time)) >= 0) or (bidding_eyuan < min_eyuan)");
                            var exp = Auction._.AuctionSatus != 3;
                            //exp &= Auction._.BiddingPriceNow < Auction._.MinPrice;
                            var auctionList = Auction.FindAll(exp, null, null, 0, 0);
                            if (auctionList != null && auctionList.Count > 0)
                            {
                                HmTrace.WriteLine("有{0}个竞投产品需要处理!", auctionList.Count);
                                member virtualMember = new member();
                                foreach (var item in auctionList)
                                {
                                    #region 竞投状态
                                    //竞投结束,赋值竞投状态,计算竞投成功者竞投次数
                                    // HmTrace.WriteWarn("EndTime:" + item.EndTime + "BiddingPriceNow:" + item.BiddingPriceNow + "MinPrice:" + item.MinPrice + "AuctionSatus:" + item.AuctionSatus);
                                    if (item.EndTime < DateTime.Now && item.BiddingPriceNow >= item.MinPrice && item.AuctionSatus != 3)
                                    {
                                        try
                                        {
                                            var list = AuctionHistory.FindAllByAuctionIDandMemberID(item.ID, item.WinningBidder);
                                            if (list != null)
                                            {
                                                item.WinnerBidCount = list.Count;
                                                item.AuctionSatus   = 3;
                                                item.Save();
                                                HmTrace.WriteDebug(item.ProductName + "竞投已经结束");
                                            }
                                        }
                                        catch (Exception ex) { HmTrace.WriteDebug(ex.Message); }
                                    }
                                    //竞投结束,赋值竞投状态,计算竞投成功者竞投次数
                                    // HmTrace.WriteWarn("EndTime:" + item.EndTime + "BiddingPriceNow:" + item.BiddingPriceNow + "MinPrice:" + item.MinPrice + "AuctionSatus:" + item.AuctionSatus);
                                    if (item.StarTime <= DateTime.Now && item.EndTime > DateTime.Now && item.BiddingPriceNow < item.MinPrice && item.AuctionSatus == 1)
                                    {
                                        try
                                        {
                                            item.AuctionSatus = 2;
                                            item.Save();
                                            HmTrace.WriteDebug(item.ProductName + "竞投现在开始");
                                        }
                                        catch (Exception ex) { HmTrace.WriteDebug(ex.Message); }
                                    }
                                    #endregion
                                    ///随机取虚拟会员
                                    for (; ;)
                                    {
                                        Int32 idx = m_random.Next(0, m_virtualMembers.Count - 1);
                                        virtualMember = m_virtualMembers[idx];
                                        if (item.member != null)
                                        {
                                            ///此会员是否是中标者
                                            if (item.member.nickName != virtualMember.nickName)
                                            {
                                                break;
                                            }
                                        }
                                        else
                                        {
                                            break;
                                        }
                                    }

                                    HmTrace.WriteLine("{0}参与竞投!", virtualMember.nickName);
                                    if (item.BiddingPriceNow < item.MinPrice)
                                    {
                                        HmTrace.WriteLine("开始竞投!");
                                        if (item.EndTime < DateTime.Now)
                                        {
                                            item.EndTime = DateTime.Now.AddSeconds(2);
                                        }
                                        Double seconds = (Double)DateTimeHelper.DateDiff(DateTime.Now, item.EndTime, DateTimeHelper.BackType.GetSeconds);
                                        //HmTrace.WriteLine("Index: {0} Intervals: {1} endtime: {2}", index, Intervals[index], item.end_time);
                                        var addtime = m_random.Next(0, 25);
                                        if (seconds > Intervals[index] + addtime)
                                        {
                                            HmTrace.WriteLine("竞投商品[编号:{0} 名称:{1} 开始时间:{2:yyyy-MM-dd HH:mm:ss} 竞投限期小时:{3}] 还差{4}秒钟才可以进行机器人竞投!",
                                                              item.ProductNo, item.ProductName, item.StarTime, 0, seconds);
                                        }
                                        else
                                        {
                                            var historyInfo = new AuctionHistory();
                                            historyInfo.AuctionID = item.ID;
                                            historyInfo.MemberID  = virtualMember.ID;
                                            historyInfo.BidEyuan  = item.BiddingPriceNow + item.EveryAddPrice;
                                            historyInfo.BidDate   = DateTime.Now;
                                            historyInfo.Save();

                                            var   addTimeInfo = item.TimeAddRange;
                                            Int32 addTimeMin;
                                            Int32 addTimeMax;
                                            Int32 addTimeValue;
                                            if (addTimeInfo.Contains("-"))
                                            {
                                                var     timeValues = addTimeInfo.Split('-');
                                                Boolean result     = Int32.TryParse(timeValues[0], out addTimeMin);
                                                if (!result)
                                                {
                                                    addTimeMin = 40;
                                                }
                                                result = Int32.TryParse(timeValues[1], out addTimeMax);
                                                if (!result)
                                                {
                                                    addTimeMax = 70;
                                                }
                                                addTimeValue = m_random.Next(addTimeMin, addTimeMax);
                                            }
                                            else
                                            {
                                                Boolean result = Int32.TryParse(addTimeInfo, out addTimeValue);
                                                if (!result)
                                                {
                                                    addTimeValue = 40;
                                                }
                                            }

                                            HmTrace.WriteLine("机器人自动竞价[商品ID:{0} 商品编号:{1} 商品名称:{2} 机器人ID:{3} 机器人账号{4} 竞价:{5}]!",
                                                              item.ID, item.ProductNo, item.ProductName, virtualMember.ID, virtualMember.nickName, historyInfo.BidEyuan);

                                            //String setValue = "[bidding_eyuan] = {0}, [bid_count] = {1}, [winning_bidder] = '{2}',[update_date] = #{3}#".FormatWith(
                                            //    historyInfo.bid_eyuan, item.bid_count + 1, virtualMember.NickName, DateTime.Now);
                                            //String sql = String.Format("UPDATE {0} SET {1} WHERE {2} = '{3}' ", "[db_e_auction]", setValue, "id", item.id.ToString());
                                            //HmTrace.WriteSQL(sql);
                                            //Database db = DatabaseFactory.CreateDatabase();
                                            //DbCommand command = db.GetSqlStringCommand(sql);
                                            //Boolean result = (db.ExecuteNonQuery(command) > 0);
                                            HmTrace.WriteLine("自动延迟竞价商品[ID:{0} 编号:{1} 名称:{2}]结束时间{3}秒。", item.ID, item.ProductNo, item.ProductName, addTimeValue);
                                            var endTime = item.EndTime;
                                            item.EndTime         = endTime.AddSeconds((Double)addTimeValue);
                                            item.BiddingPriceNow = historyInfo.BidEyuan;
                                            item.BidCount       += 1;
                                            item.WinningBidder   = virtualMember.ID;
                                            item.UpdateTime      = DateTime.Now;
                                            item.Update();
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            HmTrace.WriteException(ex);
                            eop.Rollback();
                        }
                        finally
                        {
                            eop.Commit();
                        }
                    }
                }
            }
            return(false);
        }
Пример #11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (VerifyIPN())
        {
            string ppTx             = Request.Form["txn_id"].ToString();
            string ppreceiver_email = Request.Form["receiver_email"].ToString();
            string ppmc_gross       = Request.Form["mc_gross"].ToString();
            string ppmc_currency    = Request.Form["mc_currency"].ToString();
            string pppayment_status = Request.Form["payment_status"].ToString();
            string pppitem_name     = Request.Form["item_name"].ToString();
            HmTrace.WriteInfo("No.:" + ppTx);
            HmTrace.WriteInfo("Email:" + ppreceiver_email);
            HmTrace.WriteInfo("gross:" + ppmc_gross);
            HmTrace.WriteInfo("currency:" + ppmc_currency);
            HmTrace.WriteInfo("status:" + pppayment_status);
            HmTrace.WriteInfo("item_name:" + pppitem_name);

            try
            {
                Order order = Order.FindByItemName(pppitem_name);
                if (order != null)
                {
                    order.McCurrency    = ppmc_currency;
                    order.McGross       = Convert.ToDecimal(ppmc_gross);
                    order.OrderNo       = ppTx;
                    order.PaymentStatus = pppayment_status;
                    order.ReceiverEmail = ppreceiver_email;
                    order.Save();
                    if (pppayment_status == "Completed")
                    {
                        member ordermember = member.FindByID(order.MemberId);
                        if (ordermember != null)
                        {
                            var newpoint = PointType.FindByGross(Convert.ToDecimal(ppmc_gross)).Point;
                            HmTrace.WriteInfo("会员:" + order.memberName + "新增积分:" + newpoint);
                            ordermember.point = ordermember.point + newpoint;
                            ordermember.Save();
                            PointHistory pointhistory = new PointHistory();
                            pointhistory.UseTime           = DateTime.Now;
                            pointhistory.MemberId          = ordermember.ID;
                            pointhistory.Point             = newpoint;
                            pointhistory.ItemName          = "购买积分";
                            pointhistory.CurrentPointCount = ordermember.point;
                            pointhistory.Save();
                            HmTrace.WriteInfo("会员:" + order.memberName + "积分:" + ordermember.point);
                        }
                        else
                        {
                            HmTrace.WriteInfo("" + Convert.ToDecimal(ppmc_gross) + "");
                        }
                    }
                }
                else
                {
                    HmTrace.WriteInfo("找不到此itemName");
                }
            }
            catch (Exception ex)
            {
                HmTrace.WriteDebug(ex.Message);
            }
        }
    }