📄 refundui.cs
字号:
namespace PowerEasy.WebSite.Admin.Shop
{
using PowerEasy.Accessories;
using PowerEasy.Common;
using PowerEasy.Components;
using PowerEasy.Controls;
using PowerEasy.ExtendedControls;
using PowerEasy.Model.Accessories;
using PowerEasy.Model.Shop;
using PowerEasy.Shop;
using PowerEasy.Web.UI;
using PowerEasy.WebSite.Controls;
using PowerEasy.WebSite.Controls.Shop;
using System;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
public class RefundUI : AdminPage
{
protected Button BtnReturn;
protected ExtendedButton BtnSaveRefund;
protected DatePicker DpkRefundDate;
protected HiddenField HdnAdminName;
protected HiddenField HdnClientId;
protected HiddenField HdnOrderId;
protected Label LblClientName;
protected Label LblMoneyReceipt;
protected Label LblMoneyTotal;
protected Label LblOrderNum;
protected Label LblUserName;
protected RadioButtonList RadlRefundType;
protected SendMessageOfOrder SendMessageOfOrder1;
protected ScriptManager SmgeRefund;
protected ExtendedSiteMapPath SmpNavigator;
protected TextBox TxtHandlingCharge;
protected TextBox TxtMoney;
protected TextBox TxtRemark;
protected System.Web.UI.UpdatePanel UpdatePanel1;
protected System.Web.UI.UpdatePanel UpnlLimitNum;
protected PowerEasy.Controls.RequiredFieldValidator ValrMoney;
protected PowerEasy.Controls.RequiredFieldValidator ValrRefundDate;
protected DateValidator VdateRefundDate;
protected MoneyValidator VmoneyMoney;
protected void BtnReturn_Click(object sender, EventArgs e)
{
BasePage.ResponseRedirect("OrderManage.aspx?OrderID=" + BasePage.RequestInt32("OrderID"));
}
protected void BtnSaveRefund_Click(object sender, EventArgs e)
{
if (base.IsValid)
{
decimal num = DataConverter.CDecimal(this.TxtMoney.Text);
decimal num2 = DataConverter.CDecimal(this.TxtHandlingCharge.Text);
if (num2 < 0M)
{
num2 = 0M;
num = DataConverter.CDecimal(this.LblMoneyReceipt.Text);
}
int orderId = DataConverter.CLng(this.HdnOrderId.Value);
if (num <= 0M)
{
AdminPage.WriteErrMsg("请输入退款金额!", "");
}
else if ((num2 + num) > DataConverter.CDecimal(this.LblMoneyReceipt.Text))
{
AdminPage.WriteErrMsg("退款金额跟手续费的总和不能大于订单已付款!", "");
}
else
{
RefundInfo refundInfo = new RefundInfo();
refundInfo.OrderId = orderId;
refundInfo.Money = num;
refundInfo.HandlingCharge = num2;
refundInfo.RefundType = DataConverter.CLng(this.RadlRefundType.SelectedValue);
if (Refund.Add(refundInfo))
{
if (refundInfo.RefundType == 1)
{
BankrollItemInfo bankrollItemInfo = new BankrollItemInfo();
bankrollItemInfo.ClientId = DataConverter.CLng(this.HdnClientId.Value);
bankrollItemInfo.UserName = this.LblUserName.Text;
bankrollItemInfo.CurrencyType = 1;
bankrollItemInfo.Inputer = this.HdnAdminName.Value;
bankrollItemInfo.LogTime = new DateTime?(DateTime.Now);
bankrollItemInfo.DateAndTime = new DateTime?(this.DpkRefundDate.Date);
bankrollItemInfo.Money = refundInfo.Money;
bankrollItemInfo.MoneyType = 4;
bankrollItemInfo.OrderId = refundInfo.OrderId;
bankrollItemInfo.Remark = this.TxtRemark.Text;
BankrollItem.Add(bankrollItemInfo);
}
StringBuilder builder = new StringBuilder();
StringBuilder builder2 = new StringBuilder();
if (this.SendMessageOfOrder1.NeedSendMessage)
{
OrderInfo orderById = Order.GetOrderById(orderId);
string userName = "";
string email = "";
StringBuilder builder3 = new StringBuilder();
ShowOrderDetail detail = (ShowOrderDetail) this.Page.LoadControl("~/Controls/ShowOrderDetail.ascx");
detail.ShowInfo(orderById);
builder3.Append(detail.OrderDetailHtml);
string orderDetail = builder3.ToString();
if (!orderById.IsNull)
{
userName = orderById.UserName;
email = orderById.Email;
}
if (this.SendMessageOfOrder1.SendMessageToUser)
{
AbstractMessageOfOrder order = new MessageOfOrder(this.HdnAdminName.Value, userName);
order.Implementor = new OrderRefund(orderById, orderDetail);
order.Send();
builder.Append(order.SuccessMsgList);
builder2.Append(order.ErrMsgList);
}
if (this.SendMessageOfOrder1.SendEmailToUser)
{
AbstractMessageOfOrder order2 = new EmailOfOrder(userName);
order2.Implementor = new OrderRefund(orderById, orderDetail);
order2.Send();
builder.Append(order2.SuccessMsgList);
builder2.Append(order2.ErrMsgList);
}
if (this.SendMessageOfOrder1.SendEmailToContacter)
{
AbstractMessageOfOrder order3 = new EmailOfOrder(SendType.SendToContacter, email);
order3.Implementor = new OrderRefund(orderById, orderDetail);
order3.Send();
builder.Append(order3.SuccessMsgList);
builder2.Append(order3.ErrMsgList);
}
if (this.SendMessageOfOrder1.SendSmsToUser)
{
AbstractMessageOfOrder order4 = new SmsOfOrder("管理员ID:" + PEContext.Current.Admin.AdministratorInfo.AdminId, SendType.SendToUser, orderById);
order4.Implementor = new OrderRefund(orderById, string.Empty);
order4.Send();
builder.Append(order4.SuccessMsgList);
builder2.Append(order4.ErrMsgList);
}
if (this.SendMessageOfOrder1.SendSmsToContacter)
{
AbstractMessageOfOrder order5 = new SmsOfOrder("管理员ID:" + PEContext.Current.Admin.AdministratorInfo.AdminId, SendType.SendToContacter, orderById);
order5.Implementor = new OrderRefund(orderById, string.Empty);
order5.Send();
builder.Append(order5.SuccessMsgList);
builder2.Append(order5.ErrMsgList);
}
}
string str4 = builder2.ToString();
string str5 = builder.ToString();
if (!string.IsNullOrEmpty(str4))
{
AdminPage.WriteErrMsg(str4, "OrderManage.aspx?OrderID=" + orderId);
}
else
{
AdminPage.WriteSuccessMsg("保存退款信息成功!" + str5, "OrderManage.aspx?OrderID=" + orderId);
}
}
else
{
AdminPage.WriteErrMsg("保存退款信息失败!", "");
}
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!base.IsPostBack)
{
int orderId = BasePage.RequestInt32("OrderID");
if (orderId == 0)
{
AdminPage.WriteErrMsg("请指定订单ID", "OrderList.aspx");
}
else
{
RefundInfo byOrderId = Refund.GetByOrderId(orderId, false);
if (!byOrderId.IsNull)
{
this.HdnAdminName.Value = PEContext.Current.Admin.AdminName;
this.LblClientName.Text = byOrderId.ClientName;
this.HdnClientId.Value = byOrderId.ClientId.ToString();
this.LblUserName.Text = byOrderId.UserName;
this.LblOrderNum.Text = byOrderId.OrderNum;
this.HdnOrderId.Value = Convert.ToString(orderId);
this.LblMoneyTotal.Text = byOrderId.MoneyTotal.ToString("0.00");
this.LblMoneyReceipt.Text = byOrderId.MoneyReceipt.ToString("0.00");
this.TxtMoney.Text = (byOrderId.MoneyTotal - byOrderId.MoneyReceipt).ToString("0.00");
this.DpkRefundDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
this.TxtMoney.Text = byOrderId.MoneyReceipt.ToString("0.00");
this.TxtRemark.Text = "订单退款金额,订单号:" + byOrderId.OrderNum;
this.ViewState["Email"] = byOrderId.Email;
}
else
{
AdminPage.WriteErrMsg("找不到指定的订单或者此订单并未付款!", "OrderList.aspx");
}
}
}
}
protected void RadlRefundType_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.RadlRefundType.SelectedValue == "1")
{
this.TxtRemark.Text = "订单退款金额,订单号:" + this.LblOrderNum.Text;
}
else
{
this.TxtRemark.Text = "订单退款金额,退款方式采用其它方式,订单号:" + this.LblOrderNum.Text;
}
}
protected void TxtHandlingCharge_TextChanged(object sender, EventArgs e)
{
this.TxtMoney.Text = Convert.ToString((decimal) (DataConverter.CDecimal(this.LblMoneyReceipt.Text) - DataConverter.CDecimal(this.TxtHandlingCharge.Text)));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -