Ejemplo n.º 1
0
        protected void BindList()
        {
            DataTable m_dt  = new DataTable();
            int       total = 0;

            switch (tab)
            {
            case 0:
                DropDownList1.DataSource     = AppEnum.GetCashReturnReason();
                DropDownList1.DataTextField  = "value";
                DropDownList1.DataValueField = "key";
                DropDownList1.DataBind();
                break;

            case 1:
                m_dt = ORD_ReturnCashBll.GetInstance().GetList(pagesize, pageindex, GetSession().CustomerEntity.SysNo, AppConst.IntNull, AppConst.IntNull, AppConst.IntNull, "", ref total);
                m_dt.Columns.Add("content");
                m_dt.Columns.Add("target");
                for (int i = 0; i < m_dt.Rows.Count; i++)
                {
                    if ((m_dt.Rows[i]["producttype"].ToString() == ((int)AppEnum.CashOrderType.consultget).ToString() || m_dt.Rows[i]["producttype"].ToString() == ((int)AppEnum.CashOrderType.consultpay).ToString()) &&
                        m_dt.Rows[i]["productsysno"] != null && m_dt.Rows[i]["productsysno"].ToString() != "")
                    {
                        try
                        {
                            DataTable tmp_dt = QA_OrderBll.GetInstance().GetOrderDetail(int.Parse(m_dt.Rows[i]["productsysno"].ToString()));
                            if (tmp_dt.Rows.Count > 0)
                            {
                                m_dt.Rows[i]["content"] = AppEnum.GetCashOrderType(int.Parse(m_dt.Rows[i]["producttype"].ToString()));
                                if (m_dt.Rows[i]["producttype"].ToString() == ((int)AppEnum.CashOrderType.consultget).ToString())
                                {
                                    m_dt.Rows[i]["target"] = tmp_dt.Rows[0]["questuname"].ToString();
                                }
                                else if (m_dt.Rows[i]["producttype"].ToString() == ((int)AppEnum.CashOrderType.consultpay).ToString())
                                {
                                    m_dt.Rows[i]["target"] = tmp_dt.Rows[0]["orderuname"].ToString();
                                }
                            }
                        }
                        catch { }
                    }
                }
                Repeater2.DataSource = m_dt;
                Repeater2.DataBind();
                break;
            }

            Pager1.url         = "MyAccount.aspx?tab=" + tab + "&pn=";
            Pager1.totalrecord = total;
            if (total % AppConst.PageSize == 0)
            {
                this.Pager1.total = total / pagesize;
            }
            else
            {
                this.Pager1.total = total / pagesize + 1;
            }
            this.Pager1.index    = pageindex;
            this.Pager1.numlenth = 3;
        }
Ejemplo n.º 2
0
        public bool SetPaySucc(ORD_CashMod m_mod)
        {
            TransactionOptions options = new TransactionOptions();

            options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
            options.Timeout        = TransactionManager.DefaultTimeout;

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options))
            {
                m_mod.CurrentID = "";
                m_mod.PayTime   = DateTime.Now;
                m_mod.Status    = (int)AppEnum.CashOrderStatus.succed;
                ORD_CashBll.GetInstance().Update(m_mod);
                switch (m_mod.ProductType)
                {
                case (int)AppEnum.CashOrderType.consultpay:    //咨询订单
                    QA_OrderMod m_order = QA_OrderBll.GetInstance().GetModel(m_mod.ProductSysNo);
                    m_order.Status = (int)AppEnum.ConsultOrderStatus.payed;
                    QA_OrderBll.GetInstance().Update(m_order);

                    //生成收款单
                    if (m_mod.ProductType == (int)AppEnum.CashOrderType.consultpay)
                    {
                        ORD_CashMod rec_order = new ORD_CashMod();
                        QA_OrderMod tmp_order = QA_OrderBll.GetInstance().GetModel(m_mod.ProductSysNo);
                        rec_order.CustomerSysNo = tmp_order.CustomerSysNo;
                        rec_order.CurrentID     = "";
                        rec_order.Discount      = 1 - AppConst.ConsultDiscount;

                        rec_order.PayAmount    = m_mod.Price * rec_order.Discount;
                        rec_order.PayType      = m_mod.PayType;
                        rec_order.Price        = m_mod.Price;
                        rec_order.ProductSysNo = m_mod.SysNo;
                        rec_order.Status       = (int)AppEnum.CashOrderStatus.confirming;
                        rec_order.ProductType  = (int)AppEnum.CashOrderType.consultget;
                        rec_order.TS           = DateTime.Now;

                        rec_order.OrderID = "C" + m_mod.ProductType.ToString("0") + DateTime.Now.ToString("yyyyMMdd") + m_mod.ProductSysNo + CommonTools.ThrowRandom(0, 99999).ToString("00000");
                        rec_order.SysNo   = ORD_CashBll.GetInstance().Add(rec_order);
                    }
                    //修改咨询购买数
                    QA_QuestionMod m_quest = new QA_QuestionMod();
                    m_quest = QA_QuestionBll.GetInstance().GetModel(m_order.QuestionSysNo);
                    m_quest.BuyCount++;
                    QA_QuestionBll.GetInstance().Update(m_quest);
                    break;
                }
                scope.Complete();
                return(true);
            }
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            WebForMain.Master.Main m_master = (WebForMain.Master.Main)Master;
            m_master.SetTab(1);
            Login(Request.Url.ToString());
            if (Request.QueryString["id"] != null)
            {
                try
                {
                    SysNo     = int.Parse(Request.QueryString["id"]);
                    m_qustion = QA_QuestionBll.GetInstance().GetModel(SysNo);
                    //DataBind();
                }
                catch
                {
                    ShowError("");
                }
            }
            else if (Page.RouteData.Values["id"] != null && Page.RouteData.Values["id"].ToString() != "")
            {
                try
                {
                    SysNo     = int.Parse(Page.RouteData.Values["id"].ToString());
                    m_qustion = QA_QuestionBll.GetInstance().GetModel(SysNo);
                    //DataBind();
                }
                catch
                {
                    ShowError("");
                }
            }
            else
            {
                if (Request.QueryString["order"] != null)
                {
                    try
                    {
                        order     = int.Parse(Request.QueryString["order"]);
                        old_order = QA_OrderBll.GetInstance().GetModel(order);
                        SysNo     = old_order.QuestionSysNo;
                        m_qustion = QA_QuestionBll.GetInstance().GetModel(SysNo);
                        //DataBind();
                    }
                    catch
                    {
                        ShowError("");
                    }
                }
                else if (Page.RouteData.Values["order"] != null && Page.RouteData.Values["order"].ToString() != "")
                {
                    try
                    {
                        order     = int.Parse(Page.RouteData.Values["order"].ToString());
                        old_order = QA_OrderBll.GetInstance().GetModel(order);
                        SysNo     = old_order.QuestionSysNo;
                        m_qustion = QA_QuestionBll.GetInstance().GetModel(SysNo);
                        //DataBind();
                    }
                    catch
                    {
                        ShowError("");
                    }
                }
                else
                {
                    ShowError("");
                }
            }

            if (m_qustion.CateSysNo != 17)//不是付费咨询则弹出
            {
                ShowError("");
            }

            if (!IsPostBack)
            {
                BindData();
            }

            //Page.ClientScript.RegisterStartupScript(this.GetType(), "SetDocument", "SetDocument();", true);
        }
Ejemplo n.º 4
0
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            Login(Request.Url.ToString());
            if (order == 0)
            {
                #region 判断输入项
                decimal price = 0;
                try
                {
                    price = decimal.Parse(TextBox3.Text.Trim());
                    pricetip.InnerHtml = "";
                }
                catch
                {
                    pricetip.InnerHtml = "<samp>预计消费金额只可填写数字,请重新输入</samp>";
                }

                int words = 0;
                try
                {
                    words = int.Parse(TextBox2.Text.Trim());
                    wordstip.InnerHtml = "";
                }
                catch
                {
                    wordstip.InnerHtml = "<samp>最少字数只可填写数字,请重新输入</samp>";
                }
                #endregion

                QA_AnswerMod m_answer = new QA_AnswerMod();
                m_answer.Award   = 0;
                m_answer.Context = "";
                if (GetSession().CustomerEntity == null || GetSession().CustomerEntity.SysNo == AppConst.IntNull)
                {
                    m_answer.CustomerSysNo = 0;
                }
                else
                {
                    m_answer.CustomerSysNo = GetSession().CustomerEntity.SysNo;
                }
                m_answer.DR            = (int)AppEnum.State.normal;
                m_answer.Hate          = 0;
                m_answer.Love          = 0;
                m_answer.QuestionSysNo = SysNo;
                m_answer.Title         = "";
                m_answer.TS            = DateTime.Now;

                QA_OrderMod m_order = new QA_OrderMod();
                m_order.CustomerSysNo = m_answer.CustomerSysNo;
                m_order.Description   = txtDescription.Text.Trim();
                m_order.Price         = price;
                m_order.QuestionSysNo = m_answer.QuestionSysNo;
                m_order.Score         = AppConst.IntNull;
                m_order.Status        = (int)AppEnum.ConsultOrderStatus.beforepay;
                m_order.Trial         = txtTrial.Text.Trim();
                m_order.TS            = DateTime.Now;
                m_order.Words         = words;

                try
                {
                    QA_OrderBll.GetInstance().SetOrder(m_order, m_answer);
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "ok", "alert('报价发布成功!');location.href='" + AppConfig.HomeUrl() + "Quest/Consult/" + SysNo + "'", true);
                }
                catch (Exception ex)
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "nook", "alert('系统故障,发布失败!');", true);
                }
            }
            else
            {
                QA_AnswerMod m_answer = QA_AnswerBll.GetInstance().GetModel(old_order.AnswerSysNo);
                m_answer.Context = txtContext.Text;
                old_order.Status = (int)AppEnum.ConsultOrderStatus.beforeconfirm;
                try
                {
                    QA_AnswerBll.GetInstance().Update(m_answer);
                    QA_OrderBll.GetInstance().Update(old_order);
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "ok", "alert('解答提交成功!');location.href='" + AppConfig.HomeUrl() + "Quest/Consult/" + SysNo + "'", true);
                }
                catch (Exception ex)
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "nook", "alert('系统故障,提交失败!');", true);
                }
            }
        }
Ejemplo n.º 5
0
        protected void BindList()
        {
            DataTable m_dt  = new DataTable();
            int       total = 0;

            switch (tab)
            {
            case 0:
                ltrPoint.Text = GetSession().CustomerEntity.Point.ToString();

                m_dt = ORD_PointBll.GetInstance().GetList(pagesize, pageindex, GetSession().CustomerEntity.SysNo, AppConst.IntNull, AppConst.IntNull, AppConst.IntNull, "", ref total);
                m_dt.Columns.Add("content");
                for (int i = 0; i < m_dt.Rows.Count; i++)
                {
                    m_dt.Rows[i]["content"] = AppEnum.GetPointOrderType(int.Parse(m_dt.Rows[i]["type"].ToString()));
                    if (m_dt.Rows[i]["type"].ToString() == ((int)AppEnum.PointOrderType.appconsume).ToString())
                    {
                        m_dt.Rows[i]["content"] += "应用-" + AppEnum.GetApps(int.Parse(m_dt.Rows[i]["productsysno"].ToString()));
                    }
                    else if (m_dt.Rows[i]["type"].ToString() == ((int)AppEnum.PointOrderType.questaward).ToString())
                    {
                        m_dt.Rows[i]["content"] = "悬赏-" + "<a href='" + AppConfig.HomeUrl() + "Quest/Question/" + m_dt.Rows[i]["productsysno"].ToString() + "' target='_blank'>" + CommonTools.CutStr(m_dt.Rows[i]["content"].ToString(), 10) + "</a>";
                    }
                }
                Repeater1.DataSource = m_dt;
                Repeater1.DataBind();
                break;

            case 1:
                ltrCash.Text = GetSession().CustomerEntity.Credit.ToString();

                m_dt = ORD_CashBll.GetInstance().GetList(pagesize, pageindex, GetSession().CustomerEntity.SysNo, AppConst.IntNull, AppConst.IntNull, AppConst.IntNull, "", ref total);
                m_dt.Columns.Add("content");
                m_dt.Columns.Add("target");
                for (int i = 0; i < m_dt.Rows.Count; i++)
                {
                    if ((m_dt.Rows[i]["producttype"].ToString() == ((int)AppEnum.CashOrderType.consultget).ToString() || m_dt.Rows[i]["producttype"].ToString() == ((int)AppEnum.CashOrderType.consultpay).ToString()) &&
                        m_dt.Rows[i]["productsysno"] != null && m_dt.Rows[i]["productsysno"].ToString() != "")
                    {
                        try
                        {
                            DataTable tmp_dt = QA_OrderBll.GetInstance().GetOrderDetail(int.Parse(m_dt.Rows[i]["productsysno"].ToString()));
                            if (tmp_dt.Rows.Count > 0)
                            {
                                m_dt.Rows[i]["content"] = AppEnum.GetCashOrderType(int.Parse(m_dt.Rows[i]["producttype"].ToString()));
                                if (m_dt.Rows[i]["producttype"].ToString() == ((int)AppEnum.CashOrderType.consultget).ToString())
                                {
                                    m_dt.Rows[i]["target"] = tmp_dt.Rows[0]["questuname"].ToString();
                                }
                                else if (m_dt.Rows[i]["producttype"].ToString() == ((int)AppEnum.CashOrderType.consultpay).ToString())
                                {
                                    m_dt.Rows[i]["target"] = tmp_dt.Rows[0]["orderuname"].ToString();
                                }
                            }
                        }
                        catch { }
                    }
                }
                Repeater2.DataSource = m_dt;
                Repeater2.DataBind();
                break;
            }

            Pager1.url         = "MyAccount.aspx?tab=" + tab + "&pn=";
            Pager1.totalrecord = total;
            if (total % AppConst.PageSize == 0)
            {
                this.Pager1.total = total / pagesize;
            }
            else
            {
                this.Pager1.total = total / pagesize + 1;
            }
            this.Pager1.index    = pageindex;
            this.Pager1.numlenth = 3;
        }
Ejemplo n.º 6
0
        protected void BindList()
        {
            DataTable tmpdt = QA_AnswerBll.GetInstance().GetSimpleListByQuest(SysNo);

            tmpdt.Columns.Add("isorder");
            #region 绑定报价列表
            if (GetSession().CustomerEntity.SysNo == m_qustion.CustomerSysNo)
            {
                myprice.Visible = false;
            }

            DataTable m_dt1 = QA_OrderBll.GetInstance().GetListByQuest(SysNo);
            m_dt1.Columns.Add("color");
            m_dt1.Columns.Add("floor");
            for (int i = 0; i < m_dt1.Rows.Count; i++)
            {
                switch (int.Parse(m_dt1.Rows[i]["status"].ToString()))
                {
                case 1:
                    m_dt1.Rows[i]["color"] = "#000";
                    break;

                case 2:
                case 3:
                case 4:
                    m_dt1.Rows[i]["color"] = "#008c03";
                    break;

                case 0:
                case 5:
                    m_dt1.Rows[i]["color"] = "#f00";
                    break;
                }
                //若已有报价单且未购买则不允许发布第二个价单
                if (m_dt1.Rows[i]["CustomerSysNo"].ToString() == GetSession().CustomerEntity.SysNo.ToString() && int.Parse(m_dt1.Rows[i]["status"].ToString()) == 1)
                {
                    myprice.Visible = false;
                }
                #region 设置锚点
                for (int j = 0; j < tmpdt.Rows.Count; j++)
                {
                    if (tmpdt.Rows[j]["SysNo"].ToString() == m_dt1.Rows[i]["answersysno"].ToString())
                    {
                        if (j >= pagesize)
                        {
                            Regex r = new Regex(@"pn\d+?&");
                            m_dt1.Rows[i]["floor"] = r.Replace(Request.Url.ToString(), "") + "&pn=" + j / pageindex + "#f" + (j % pageindex).ToString();
                        }
                        else
                        {
                            m_dt1.Rows[i]["floor"] = "#f" + j.ToString();
                        }
                        tmpdt.Rows[j]["isorder"] = "1";
                        break;
                    }
                }
                #endregion
            }

            Repeater2.DataSource = m_dt1;
            Repeater2.DataBind();

            #endregion
            #region 绑定回答列表
            int total = 0;
            if (m_qustion.CustomerSysNo == AppConst.IntNull)
            {
                m_qustion = QA_QuestionBll.GetInstance().GetModel(SysNo);
            }
            DataTable m_dt = QA_AnswerBll.GetInstance().GetListByQuestForConsult(pagesize, pageindex, SysNo, ref total);
            m_dt.Columns.Add("hide");
            //m_dt.Columns.Add("hide1");
            //m_dt.Columns.Add("orderlink");
            for (int i = 0; i < m_dt.Rows.Count; i++)
            {
                if (GetSession().CustomerEntity.SysNo == m_qustion.CustomerSysNo || GetSession().CustomerEntity.SysNo == int.Parse(m_dt.Rows[i]["CustomerSysNo"].ToString()))
                {
                    m_dt.Rows[i]["hide"] = "display:none;";
                }
                else
                {
                    m_dt.Rows[i]["trial"]   = "";
                    m_dt.Rows[i]["Context"] = "";
                    m_dt.Rows[i]["hide"]    = "";
                }
            }
            Repeater1.DataSource = m_dt;
            Repeater1.DataBind();
            Pager1.url         = AppConfig.HomeUrl() + "Quest/Consult/" + SysNo + "/";
            Pager1.totalrecord = total;
            if (total % AppConst.PageSize == 0)
            {
                this.Pager1.total = total / pagesize;
            }
            else
            {
                this.Pager1.total = total / pagesize + 1;
            }
            this.Pager1.index    = pageindex;
            this.Pager1.numlenth = 3;
            if (IsPostBack)
            {
                UpdatePanel1.Update();
            }
            #endregion
        }
Ejemplo n.º 7
0
        protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            Login(Request.Url.ToString());
            if (e.CommandName == "Love")
            {
                if (!CheckCommentCookies(int.Parse(e.CommandArgument.ToString())))
                {
                    QA_AnswerMod m_answer = QA_AnswerBll.GetInstance().GetModel(int.Parse(e.CommandArgument.ToString()));
                    m_answer.Love++;
                    QA_AnswerBll.GetInstance().Update(m_answer);
                    SetCommentCookies(int.Parse(e.CommandArgument.ToString()));
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "addlove", "alert('您对该回答表示了赞同!');", true);
                    BindList();
                }
                else
                {
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "addlove", "alert('您已对该回答发表了看法!');", true);
                }
            }
            else if (e.CommandName == "Hate")
            {
                if (!CheckCommentCookies(int.Parse(e.CommandArgument.ToString())))
                {
                    QA_AnswerMod m_answer = QA_AnswerBll.GetInstance().GetModel(int.Parse(e.CommandArgument.ToString()));
                    m_answer.Hate++;
                    QA_AnswerBll.GetInstance().Update(m_answer);
                    SetCommentCookies(int.Parse(e.CommandArgument.ToString()));
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "addhate", "alert('您对该回答表示了不赞同!');", true);
                    BindList();
                }
                else
                {
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "addlove", "alert('您已对该回答发表了看法!');", true);
                }
            }
            //else if (e.CommandName == "Award")
            //{
            //    QA_QuestionMod m_quest = QA_QuestionBll.GetInstance().GetModel(SysNo);
            //    int usedAward = QA_AnswerBll.GetInstance().GetUsedAward(SysNo);
            //    ltrMax.Text = "该问题的总悬赏积分为:" + (m_quest.Award - usedAward).ToString();
            //    HiddenField1.Value = e.CommandArgument.ToString();
            //    ModalPopupExtender1.Show();
            //}
            else if (e.CommandName == "Reply")
            {
                if (((TextBox)e.Item.FindControl("txtRe")).Text.Trim() == "")
                {
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "addComment", "alert('请输入您的回复信息!');", true);
                    return;
                }
                try
                {
                    QA_CommentMod m_comment = new QA_CommentMod();
                    m_comment.AnswerSysNo   = int.Parse(e.CommandArgument.ToString());
                    m_comment.Context       = AppCmn.CommonTools.SystemInputFilter(((TextBox)e.Item.FindControl("txtRe")).Text.Trim());
                    m_comment.DR            = (int)AppEnum.State.normal;
                    m_comment.QuestionSysNo = SysNo;
                    m_comment.TS            = DateTime.Now;
                    m_comment.CustomerSysNo = GetSession().CustomerEntity.SysNo;
                    QA_CommentBll.GetInstance().AddComment(m_comment);
                    RefreshSession();
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "addComment", "alert('发表看法成功!');", true);
                }
                catch
                {
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "addComment", "alert('系统故障,请联系管理员');", true);
                }
                BindList();
            }
            else if (e.CommandName == "Del")
            {
                QA_AnswerMod m_answer = QA_AnswerBll.GetInstance().GetModel(int.Parse(e.CommandArgument.ToString()));
                m_answer.DR = (int)AppEnum.State.deleted;
                QA_AnswerBll.GetInstance().Update(m_answer);
                ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "addhate", "alert('成功删除该回答!');", true);
                BindList();
            }
            else if (e.CommandName == "buy")
            {
                //生成订单
                QA_OrderMod m_order = QA_OrderBll.GetInstance().GetModel(int.Parse(e.CommandArgument.ToString()));
                ORD_CashMod m_mod   = new ORD_CashMod();
                m_mod.CustomerSysNo = GetSession().CustomerEntity.SysNo;
                m_mod.CurrentID     = "";
                m_mod.Discount      = 0;

                m_mod.PayAmount    = m_order.Price;
                m_mod.PayType      = AppConst.IntNull;
                m_mod.Price        = m_order.Price;
                m_mod.ProductSysNo = m_order.SysNo;
                m_mod.Status       = (int)AppEnum.CashOrderStatus.beforepay;
                m_mod.ProductType  = (int)AppEnum.CashOrderType.consultpay;;
                m_mod.TS           = DateTime.Now;

                m_mod.OrderID = "C" + m_mod.ProductType.ToString("0") + m_mod.TS.ToString("yyyyMMdd") + m_mod.ProductSysNo + CommonTools.ThrowRandom(0, 99999).ToString("00000");
                m_mod.SysNo   = ORD_CashBll.GetInstance().Add(m_mod);
                //m_qustion.BuyCount++;//支付成功后修改订单购买数
                QA_QuestionBll.GetInstance().Update(m_qustion);

                Response.Redirect(AppConfig.HomeUrl() + "Order/ConsultOrder.aspx?order=" + m_mod.SysNo);
            }
            else if (e.CommandName == "score")
            {
                string score = ((HiddenField)e.Item.FindControl("HiddenField3")).Value;
                if (score == "")
                {
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "score", "alert('请先选择评价!');", true);
                    return;
                }
                else
                {
                    QA_OrderMod m_order = QA_OrderBll.GetInstance().GetModel(int.Parse(e.CommandArgument.ToString()));
                    m_order.Score  = int.Parse(score);
                    m_order.Status = (int)AppEnum.ConsultOrderStatus.confirmed;
                    QA_OrderBll.GetInstance().Update(m_order);
                    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "score", "alert('已评价成功!');", true);
                    BindList();
                }
            }
        }