using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using centralController.model;
using DevComponents.DotNetBar;
using DevComponents.DotNetBar.Controls;
using Terminal;
namespace centralController
{
public partial class FormPaymentScheme : DevComponents.DotNetBar.OfficeForm
{
public FormPaymentScheme()
{
InitializeComponent();
}
private void Form_paymentScheme_Load(object sender, EventArgs e)
{
if (PaymentScheme.ins == null)
{
PaymentScheme.ins = PaymentScheme.GetCurrentPaymentScheme(1);
MessageBox.Show("无法获得收费策略,请稍后重试", "警告");
Close();
}
else
{
displayScheme();
SetReadOnly(true);
}
}
///
/// 显示计费策略
///
private void displayScheme()
{
cb_schemeSwitch.SelectedIndex = PaymentScheme.ins.schemeType - 1;
tbx_freeTime.Text = PaymentScheme.ins.freeTime.ToString();
tbx_firstChargeTime.Text = PaymentScheme.ins.firstChargeTime.ToString();
tbx_firstCharge.Text = PaymentScheme.ins.firstCharge.ToString();
tbx_intervalCharge.Text = PaymentScheme.ins.intervalCharge.ToString();
tbx_upperBound.Text = PaymentScheme.ins.upperBound.ToString();
tbx_eachCharge.Text = PaymentScheme.ins.eachCharge.ToString();
tbx_overnightCharge.Text = PaymentScheme.ins.overnightCharge.ToString();
tbx_startChargeTime.Text = PaymentScheme.ins.startChargeTime;
tbx_endChargeTime.Text = PaymentScheme.ins.endChargeTime;
tbx_peakCharge.Text = PaymentScheme.ins.chargeStandard.ToString();
tbx_monthCard.Text = PaymentScheme.ins.monthCardCharge.ToString();
tbx_seasonCard.Text = PaymentScheme.ins.seasonCardCharge.ToString();
tbx_halfYearCard.Text = PaymentScheme.ins.halfYearCardCharge.ToString();
tbx_yearCard.Text = PaymentScheme.ins.yearCardCharge.ToString();
tbx_bookCharge.Text = PaymentScheme.ins.bookCharge.ToString();
}
///
/// 设置textboxX只读属性
///
///
private void SetReadOnly(bool isReadOnly)
{
try
{
Control.ControlCollection gp_paymentCC = gp_paymentScheme.Controls;
for (int i = 0; i < gp_paymentCC.Count; i++)
{
if (gp_paymentCC[i].GetType().Equals(typeof(TextBoxX)))
{
((TextBoxX)gp_paymentCC[i]).ReadOnly = isReadOnly;
}
}
}
catch (Exception ex) { Console.WriteLine("启动修改按钮异常,panel1"); }
try
{
Control.ControlCollection gp_vipCC = gp_VIPScheme.Controls;
for (int i = 0; i < gp_vipCC.Count; i++)
{
if (gp_vipCC[i].GetType().Equals(typeof(TextBoxX)))
{
((TextBoxX)gp_vipCC[i]).ReadOnly = isReadOnly;
}
}
}
catch (Exception ex) { Console.WriteLine("启动修改按钮异常,panel2"); }
cb_schemeSwitch.Enabled = !isReadOnly;
}
///
/// 允许修改计费策略参数
///
///
///
private void btnx_enableModify_Click(object sender, EventArgs e)
{
SetReadOnly(false);
}
///
/// 将修改结果写入数据库
///
///
///
private void btnx_confirmModification_Click(object sender, EventArgs e)
{
try
{
PaymentScheme ps = new PaymentScheme()
{
schemeType = cb_schemeSwitch.SelectedIndex + 1,
freeTime = int.Parse(tbx_freeTime.Text),
firstChargeTime = int.Parse(tbx_firstChargeTime.Text),
firstCharge = int.Parse(tbx_firstCharge.Text),
intervalCharge = int.Parse(tbx_intervalCharge.Text),
upperBound = int.Parse(tbx_upperBound.Text),
eachCharge = int.Parse(tbx_eachCharge.Text),
overnightCharge = int.Parse(tbx_overnightCharge.Text),
startChargeTime = tbx_startChargeTime.Text,
endChargeTime = tbx_endChargeTime.Text,
chargeStandard = int.Parse(tbx_peakCharge.Text),
monthCardCharge = int.Parse(tbx_monthCard.Text),
seasonCardCharge = int.Parse(tbx_seasonCard.Text),
halfYearCardCharge = int.Parse(tbx_halfYearCard.Text),
yearCardCharge = int.Parse(tbx_yearCard.Text),
bookCharge = int.Parse(tbx_bookCharge.Text),
};
bool result = PaymentScheme.SetPaymentScheme(ps);
if (result)
{
PaymentScheme.ins = PaymentScheme.GetCurrentPaymentScheme(1);
displayScheme();
SetReadOnly(true);
MessageBox.Show("成功更新收费策略", "提示");
}
else
{
MessageBox.Show("收费策略修改失败,请检查后重试", "提示");
}
}
catch (Exception ex) { MessageBox.Show("收费策略修改失败,请检查后重试", "提示"); }
}
///
/// 取消修改,显示原参数并将参数设为只读
///
///
///
private void btnx_cancelModify_Click(object sender, EventArgs e)
{
displayScheme();
SetReadOnly(true);
}
}
}