📄 orders.ascx.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 + -