📄 exchangevalid.cs
字号:
namespace PowerEasy.WebSite.Admin.User
{
using PowerEasy.Accessories;
using PowerEasy.Common;
using PowerEasy.Components;
using PowerEasy.Controls;
using PowerEasy.Enumerations;
using PowerEasy.Model.Accessories;
using PowerEasy.Model.UserManage;
using PowerEasy.UserManage;
using PowerEasy.Web.UI;
using PowerEasy.WebSite.Controls;
using System;
using System.Web.UI.WebControls;
public class ExchangeValid : AdminPage
{
protected DropDownList DropValidUnit;
protected Button EBtnSubmit;
protected HiddenField HdnUsersId;
protected Label LblTitle;
protected Label LblValid;
protected RadioButton RadValidType;
protected RadioButton RadValidType2;
protected ShowUserInfo showUserInfo;
protected ExtendedSiteMapPath SmpNavigator;
protected TextBox TxtMoney;
protected TextBox TxtValidNum;
protected RegularExpressionValidator ValeMoney;
protected PowerEasy.Controls.RequiredFieldValidator ValrMoney;
private static DateTime? CalculationDate(double days, int validNum, UserInfo userInfo)
{
if ((days - validNum) > 0.0)
{
userInfo.EndTime = new DateTime?(userInfo.EndTime.Value.AddDays((double) validNum));
}
else
{
userInfo.EndTime = new DateTime?(DateTime.MaxValue);
}
return userInfo.EndTime;
}
protected void EBtnSubmit_Click(object sender, EventArgs e)
{
int userId = DataConverter.CLng(this.HdnUsersId.Value);
decimal balance = DataConverter.CDecimal(this.TxtMoney.Text);
int months = DataConverter.CLng(this.TxtValidNum.Text.Trim());
int validUnit = DataConverter.CLng(this.DropValidUnit.SelectedValue);
if (this.RadValidType.Checked && ((months <= 0) || (months > 0x270f)))
{
AdminPage.WriteErrMsg("<li>指定期限必须为数字并且必须大于0小于9999!</li>");
}
UserInfo userById = Users.GetUserById(userId);
if (userById.IsNull)
{
AdminPage.WriteErrMsg("<li>该会员不存在!</li>");
}
if (userById.Balance < balance)
{
AdminPage.WriteErrMsg("<li>该会员的余额不足此次兑换!</li>");
}
if (this.RadValidType.Checked)
{
if (!userById.EndTime.HasValue)
{
switch (validUnit)
{
case 1:
userById.EndTime = new DateTime?(DateTime.Now.AddDays((double) months));
goto Label_0150;
case 2:
userById.EndTime = new DateTime?(DateTime.Now.AddMonths(months));
goto Label_0150;
case 3:
userById.EndTime = new DateTime?(DateTime.Now.AddYears(months));
goto Label_0150;
}
}
else
{
SetValid(months, validUnit, userById);
}
}
else
{
userById.EndTime = new DateTime?(DateTime.MaxValue);
}
Label_0150:
userById.Balance -= balance;
if (Users.Update(userById))
{
this.SaveBankrollItemInfo(balance, userById);
this.SaveUserValid(balance, months, userById);
AdminPage.WriteSuccessMsg("<li>会员有效期兑换成功!</li>", "UserShow.aspx?UserID=" + userId.ToString());
}
else
{
AdminPage.WriteErrMsg("<li>会员有效期兑换失败!</li>");
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!base.IsPostBack)
{
this.HdnUsersId.Value = BasePage.RequestInt32("UserID").ToString();
}
}
private void SaveBankrollItemInfo(decimal balance, UserInfo userInfo)
{
BankrollItemInfo bankrollItemInfo = new BankrollItemInfo();
bankrollItemInfo.UserName = userInfo.UserName;
bankrollItemInfo.MoneyType = 4;
bankrollItemInfo.CurrencyType = 3;
bankrollItemInfo.DateAndTime = new DateTime?(DateTime.Now);
bankrollItemInfo.Inputer = PEContext.Current.Admin.AdminName;
bankrollItemInfo.Bank = "";
bankrollItemInfo.ClientName = "";
bankrollItemInfo.IP = PEContext.Current.UserHostAddress;
bankrollItemInfo.LogTime = new DateTime?(DateTime.Now);
bankrollItemInfo.Money = decimal.op_UnaryNegation(balance);
bankrollItemInfo.Remark = string.Concat(new object[] { "消费", balance, "资金,有效期截至日期为", userInfo.EndTime.Value.ToString() });
bankrollItemInfo.Status = BankrollItemStatus.Confirm;
BankrollItem.Add(bankrollItemInfo);
}
private void SaveUserValid(decimal balance, int validNum, UserInfo userInfo)
{
UserValidLogInfo userValidLogInfo = new UserValidLogInfo();
userValidLogInfo.Inputer = PEContext.Current.Admin.AdminName;
userValidLogInfo.IP = PEContext.Current.UserHostAddress;
userValidLogInfo.UserName = userInfo.UserName;
userValidLogInfo.LogTime = DateTime.Now;
userValidLogInfo.Remark = string.Concat(new object[] { "消费", balance, "资金,有效期截至日期为", userInfo.EndTime.Value.ToString() });
userValidLogInfo.IncomePayout = 1;
userValidLogInfo.ValidNum = validNum;
UserValidLog.Add(userValidLogInfo);
}
private static void SetValid(int validNum, int validUnit, UserInfo userInfo)
{
TimeSpan span = (TimeSpan) (DateTime.MaxValue - userInfo.EndTime.Value);
switch (validUnit)
{
case 1:
userInfo.EndTime = CalculationDate(span.TotalDays, validNum, userInfo);
return;
case 2:
userInfo.EndTime = CalculationDate(span.TotalDays * 30.0, validNum, userInfo);
return;
case 3:
userInfo.EndTime = CalculationDate(span.TotalDays * 365.0, validNum, userInfo);
return;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -