⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orders.ascx.cs

📁 如果不使用IIS,请先运行 XSP.exe,待提示已侦听 8080端口后
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using DNNLite.Entites.Modules;
using DNNLite.DesktopModules.Shop;
using DNNLite.DesktopModules.Shop.Orders;

using DNNLite.DesktopModules.OnlinePay;

using Castle.ActiveRecord;
using NHibernate.Expression;

public partial class DesktopModules_Shop_Orders : PortalModuleBase 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            dplOrderState.Items.Add(new ListItem("全部"));

            foreach (string n in Enum.GetNames(typeof(EnumOrderState)))
            {
                dplOrderState.Items.Add(
                    new ListItem( n,n)
                    );
            }
            txtStDate.Text = DateTime.Today.AddMonths(-1).ToString("yyyy-MM-dd");
            txtEdDate.Text = DateTime.Today.ToString("yyyy-MM-dd");
        }
    }

    #region 切换查询

    protected void chkAdvQuery_CheckedChanged(object sender, EventArgs e)
    {
        pnlstandquery.Visible = !chkAdvQuery.Checked;
        pnlAdvQuery.Visible = chkAdvQuery.Checked;
        //chkSimpleQuery.Checked = !chkAdvQuery.Checked;
    }
    protected void chkSimpleQuery_CheckedChanged(object sender, EventArgs e)
    {
        pnlstandquery.Visible = chkSimpleQuery.Checked;
        pnlAdvQuery.Visible = !chkSimpleQuery.Checked;
        //chkAdvQuery.Checked = !chkSimpleQuery.Checked;
    }

    #endregion

    #region 订单查询
    private void BindOrders(string stdate,string eddate,string username,string realname,
        string phone,string ordernum,string status
        )
    {
        string sql = @"select * from dnnlite_orders where 1=1 ";
        string where = "";
        if (!string.IsNullOrEmpty(stdate))
            where += string.Format(" and inputtime>='{0}' ", DateTime.Parse(stdate).ToString("yyyy-MM-dd"));
        if (!string.IsNullOrEmpty(eddate))
            where += string.Format(" and inputtime<='{0}' ", DateTime.Parse(eddate).ToString("yyyy-MM-dd"));
        if (!string.IsNullOrEmpty(username))
            where += " and UserName like '" + username.Replace("'", "''") + "%'";
        if(!string.IsNullOrEmpty(realname))
            where += " and ContacterName like '" + realname.Replace("'", "''") + "%'";
        if(!string.IsNullOrEmpty(phone))
            where += " and Phone like '" + phone.Replace("'", "''") + "%'";
        if (!string.IsNullOrEmpty(ordernum ))
            where += " and OrderNum like '%" + ordernum.Replace("'", "''") + "'";
        if (!string.IsNullOrEmpty(status))
        {
            if (status != "全部")
            {
                int st = (int)Enum.Parse(typeof(EnumOrderState), status);
                where += " and status=" + st.ToString();
            }
        }

        string order = " order by ordernum desc";

        System.Data.DataTable tb = DbService.GetTable(sql + where + order);

        grdOrders.DataSource =tb  ;
        grdOrders.DataBind();

        Session["orders"] = tb  ;

    }

    protected void grdOrders_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grdOrders.PageIndex = e.NewPageIndex;
        grdOrders.DataSource = Session["orders"];
        grdOrders.DataBind();
    }

    protected void btnQuery_Click(object sender, EventArgs e)
    {
        BindOrders(txtStDate.Text, txtEdDate.Text, txtUserName.Text, txtRealName.Text,
            txtPhone.Text, txtOrderNum.Text, dplOrderState.SelectedValue
            );
    }

    protected void btnTodayOrders_Click(object sender, EventArgs e)
    {
        BindOrders(DateTime.Today.ToString("yyyy-MM-dd"), DateTime.Today.ToString("yyyy-MM-dd"),
            null,null,null,null,null
            );
    }
    protected void btnNoPayOrders_Click(object sender, EventArgs e)
    {
        BindOrders(DateTime.Today.AddMonths(-3).ToString("yyyy-MM-dd"), DateTime.Today.ToString("yyyy-MM-dd"),
            null, null, null, null, Enum.GetName( typeof(EnumOrderState ),EnumOrderState.未付款  )
            );
    }
    protected void btnPayedOrders_Click(object sender, EventArgs e)
    {
        BindOrders(DateTime.Today.AddMonths(-3).ToString("yyyy-MM-dd"), DateTime.Today.ToString("yyyy-MM-dd"),
            null, null, null, null, Enum.GetName(typeof(EnumOrderState), EnumOrderState.已付款 )
            );
    }
    protected void btnCancelOrders_Click(object sender, EventArgs e)
    {
        BindOrders(DateTime.Today.AddMonths(-3).ToString("yyyy-MM-dd"), DateTime.Today.ToString("yyyy-MM-dd"),
            null, null, null, null, Enum.GetName(typeof(EnumOrderState), EnumOrderState.已取消 )
            );
    }

    #endregion

    protected void grdOrders_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        switch (e.CommandName)
        { 
            case "S":
                MultiView1.ActiveViewIndex = 1;
                Orders o = Orders.Find(int.Parse(e.CommandArgument.ToString()));
                BindOrder(o);
                break;
        }
    }

    private void BindOrder(Orders o)
    {
        
        hidorderid.Value = o.ID.ToString();
        litinputtime.Text = o.InputTime.ToString("yyyy-MM-dd");
        litmoneyreceipt.Text = o.MoneyReceipt.ToString("F2");
        litmoneytotal.Text = o.MoneyTotal.ToString("F2");
        litordernum.Text = o.OrderNum;
        litrealname.Text = o.ContacterName;
        litstatus.Text = Enum.GetName(typeof(EnumOrderState), o.Status);
        litusername.Text = o.UserName;
        litPaytype.Text = o.PaymentType;

        OrderItem[] om = OrderItem.FindAll(
            new EqExpression("OrderID",o.ID)
            );
        grdorderitem.DataSource = om;
        grdorderitem.DataBind();


        btnsetcancel.Enabled = false;
        btnsetnormal.Enabled = false;
        btnmoneyreceive.Enabled = false;
        btncancelreceive.Enabled = false;

        if (o.PaymentType != "在线支付" && o.Status== EnumOrderState.已付款  )
        {
            btncancelreceive.Enabled = true;
        }
        if(o.Status== EnumOrderState.未付款  )
        {
            btnmoneyreceive.Enabled = true;
        }
        if (o.Status == EnumOrderState.未付款)
        {
            btnsetcancel.Enabled = true;
        }
        if (o.Status == EnumOrderState.已取消)
        {
            btnsetnormal.Enabled  = true;
        }
    }

    protected void btnsetcancel_Click(object sender, EventArgs e)
    {
        Orders o = Orders.Find(int.Parse(hidorderid.Value));
        if (o.Status == EnumOrderState.未付款)
        {
            o.Status = EnumOrderState.已取消;
            o.UpdateAndFlush();
            BindOrder(o);
        }

    }
    protected void btnsetnormal_Click(object sender, EventArgs e)
    {
        Orders o = Orders.Find(int.Parse(hidorderid.Value));
        if (o.Status == EnumOrderState.已取消 )
        {
            o.Status = EnumOrderState.未付款 ;
            o.UpdateAndFlush();
            BindOrder(o);
        }
    }
    protected void btncancelreceive_Click(object sender, EventArgs e)
    {
        Orders o = Orders.Find(int.Parse(hidorderid.Value));
        if (o.PaymentType != "在线支付" && o.Status == EnumOrderState.已付款)
        {
            o.Status = EnumOrderState.未付款 ;
            o.MoneyReceipt = 0;
            
            o.UpdateAndFlush();
            BindOrder(o);
        }
    }
    protected void btnmoneyreceive_Click(object sender, EventArgs e)
    {
        Orders o = Orders.Find(int.Parse(hidorderid.Value));
        if (o.Status == EnumOrderState.未付款)
        {
            o.Status = EnumOrderState.已付款 ;
            o.MoneyReceipt = o.MoneyTotal-o.MoneyReceipt  ;
            o.PaymentType = "线下支付";
            o.UpdateAndFlush();
            BindOrder(o);
        }
    }
    protected void btnBack_Click(object sender, EventArgs e)
    {
        MultiView1.ActiveViewIndex = 0;
        grdOrders.DataSource = null;
        grdOrders.DataBind();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -