You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

92 lines
3.3 KiB

using System;
using TSingSoft.Web.Pages;
using TSingSoft.WebControls2;
using System.Web.UI;
using BWP.B3DogAuth;
using BWP.B3Frameworks;
using BWP.Web;
using BWP.Web.Utils;
using Forks.EnterpriseServices.BusinessInterfaces;
namespace Bwp.Web.Pages {
class DogLoginUserList : ListPage<DogLoginUser> {
protected override void CreateDFBrowseGridColumns(DFBrowseGrid grid) {
AddDFBrowseGridColumn(grid, "ID");
AddDFBrowseGridColumn(grid, "User_Name");
AddDFBrowseGridColumn(grid, "Remark");
AddDFBrowseGridColumn(grid, "Stopped");
grid.AllowDeletion = CheckDefaultRole("删除");
}
protected override void InitGridToolbar(HLayoutPanel toolbar) {
AddInputControls(toolbar );
}
private IDogLoginUserBL bl = BIFactory.Create<IDogLoginUserBL>();
void AddInputControls(HLayoutPanel hPanel) {
if (!CheckDefaultRole("新建"))
return;
var dfContainer = new DFContainer<DogLoginUser>();
hPanel.Add(new LiteralControl("序号:"));
DFTextBox idInput = hPanel.Add(dfContainer.Add(InputCreator.DFTextBox, "ID"));
hPanel.Add(new LiteralControl("用户:"));
DFChoiceBox userInput = hPanel.Add(dfContainer.Add(InputCreator.DFChoiceBox("Wpf_Users", "User_Name"), "User_ID"));
hPanel.Add(new LiteralControl("备注:"));
DFTextBox remarkInput = hPanel.Add(dfContainer.Add(InputCreator.DFTextBoxFromRemark, "Remark"));
TSButton button = new TSButton("新建");
hPanel.Add(button);
button.Click += delegate(object sender, EventArgs e) {
dfContainer.DFObject = new DogLoginUser();
dfContainer.GetFromUI();
bl.Insert(dfContainer.DFObject);
idInput.Text = string.Empty;
userInput.Value = string.Empty;
userInput.DisplayValue = string.Empty;
remarkInput.Text = string.Empty;
StartQuery();
};
}
protected override void AddQueryControls(VLayoutPanel vPanel) {
var tablePanel = new TableLayoutPanel(8, 2);
vPanel.Add(tablePanel);
int row = 0;
const int labelWidth = 4;
tablePanel.Add(0, 1, row, row + 1, new DFLabel(mDFInfo.Fields["ID"], labelWidth));
tablePanel.Add(1, 2, row, row + 1, mQueryContainer.Add(new DFTextBox(mDFInfo.Fields["ID"]), "ID"));
tablePanel.Add(2, 3, row, row + 1, new DFLabel(mDFInfo.Fields["User_Name"], 4));
tablePanel.Add(3, 4, row, row + 1, mQueryContainer.Add(new DFTextBox(mDFInfo.Fields["User_Name"]), "User_Name"));
tablePanel.Add(4, 5, row, row + 1, new SimpleLabel("是否停用", 4));
DFBoolComboBox boolComboBox;
tablePanel.Add(5, 6, row, row + 1, boolComboBox = mQueryContainer.Add(QueryCreator.DFBoolComboBox(mDFInfo.Fields["Stopped"]), "Stopped"));
boolComboBox.Value = false;
tablePanel.Add(6, 7, row, row + 1, new DFLabel(mDFInfo.Fields["Remark"], 4));
tablePanel.Add(7,8, row, row + 1, mQueryContainer.Add(new DFTextBox(mDFInfo.Fields["Remark"]), "Remark"));
}
protected bool CheckDefaultRole(string lastRoleName, bool notExistsAsTrue = false) {
string fullRoleName = PluginName + "." + LogicName + "." + lastRoleName;
return CurrentUser.EIsInRole(fullRoleName, notExistsAsTrue);
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!IsPostBack)
{
StartQuery();
}
}
}
}