349 lines
11 KiB
C#
349 lines
11 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using BLL;
|
|
|
|
namespace FineUIPro.Web.BaseInfo
|
|
{
|
|
public partial class RewardAndPunishManager : PageBase
|
|
{
|
|
#region 加载
|
|
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
////权限按钮方法
|
|
this.GetButtonPower();
|
|
Funs.DropDownPageSize(this.ddlPageSize);
|
|
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
|
// 绑定表格
|
|
BindGrid();
|
|
}
|
|
}
|
|
|
|
#region 获取按钮权限
|
|
|
|
/// <summary>
|
|
/// 获取按钮权限
|
|
/// </summary>
|
|
/// <param name="button"></param>
|
|
/// <returns></returns>
|
|
private void GetButtonPower()
|
|
{
|
|
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId,
|
|
BLL.Const.RewardAndPunishManagerMenuId);
|
|
if (buttonList.Count() > 0)
|
|
{
|
|
if (buttonList.Contains(BLL.Const.BtnAdd))
|
|
{
|
|
this.btnNew.Hidden = false;
|
|
}
|
|
|
|
if (buttonList.Contains(BLL.Const.BtnModify))
|
|
{
|
|
this.btnMenuEdit.Hidden = false;
|
|
}
|
|
|
|
if (buttonList.Contains(BLL.Const.BtnDelete))
|
|
{
|
|
this.btnDelete.Hidden = false;
|
|
this.btnMenuDelete.Hidden = false;
|
|
}
|
|
|
|
if (buttonList.Contains(BLL.Const.BtnSave))
|
|
{
|
|
this.btnSave.Hidden = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 绑定数据
|
|
/// </summary>
|
|
private void BindGrid()
|
|
{
|
|
var q = from x in Funs.DB.Sys_Const
|
|
where x.GroupId == "RewardType" || x.GroupId == "PunishType"
|
|
orderby x.SortIndex
|
|
select new
|
|
{
|
|
ID = x.ID,
|
|
ConstText = x.ConstText,
|
|
Remark = x.Remark,
|
|
GroupName = x.GroupId == "RewardType" ? "奖励" : "处罚"
|
|
};
|
|
Grid1.RecordCount = q.Count();
|
|
// 2.获取当前分页数据
|
|
var table = GetPagedDataTable(Grid1.PageIndex, Grid1.PageSize);
|
|
Grid1.DataSource = table;
|
|
Grid1.DataBind();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分页
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private List<dynamic> GetPagedDataTable(int pageIndex, int pageSize)
|
|
{
|
|
var source =
|
|
(from x in Funs.DB.Sys_Const
|
|
where x.GroupId == "RewardType" || x.GroupId == "PunishType"
|
|
orderby x.SortIndex
|
|
select new
|
|
{
|
|
ID = x.ID,
|
|
ConstText = x.ConstText,
|
|
Remark = x.Remark,
|
|
GroupName = x.GroupId == "RewardType" ? "奖励" : "处罚"
|
|
}).ToList();
|
|
|
|
List<dynamic> paged = new List<dynamic>();
|
|
|
|
int rowbegin = pageIndex * pageSize;
|
|
int rowend = (pageIndex + 1) * pageSize;
|
|
if (rowend > source.Count())
|
|
{
|
|
rowend = source.Count();
|
|
}
|
|
|
|
for (int i = rowbegin; i < rowend; i++)
|
|
{
|
|
paged.Add(source[i]);
|
|
}
|
|
|
|
return paged;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 改变索引事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
|
{
|
|
Grid1.PageIndex = e.NewPageIndex;
|
|
BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分页下拉选择
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
|
|
BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 过滤表头
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_FilterChange(object sender, EventArgs e)
|
|
{
|
|
BindGrid();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 删除
|
|
|
|
/// <summary>
|
|
/// 删除
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnDelete_Click(object sender, EventArgs e)
|
|
{
|
|
var trainLevel = Funs.DB.Sys_Const.FirstOrDefault(x => x.ID == hfFormID.Text);
|
|
if (trainLevel != null)
|
|
{
|
|
Funs.DB.Sys_Const.DeleteOnSubmit(trainLevel);
|
|
Funs.DB.SubmitChanges();
|
|
// 重新绑定表格,并模拟点击[新增按钮]
|
|
BindGrid();
|
|
PageContext.RegisterStartupScript("onNewButtonClick();");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 右键删除事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuDelete_Click(object sender, EventArgs e)
|
|
{
|
|
this.DeleteData();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除方法
|
|
/// </summary>
|
|
private void DeleteData()
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length > 0)
|
|
{
|
|
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
|
{
|
|
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
|
var model = Funs.DB.Sys_Const.FirstOrDefault(x => x.ID == rowID);
|
|
if (model != null)
|
|
{
|
|
Funs.DB.Sys_Const.DeleteOnSubmit(model);
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
BindGrid();
|
|
PageContext.RegisterStartupScript("onNewButtonClick();");
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 编辑
|
|
|
|
/// <summary>
|
|
/// 右键编辑事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuEdit_Click(object sender, EventArgs e)
|
|
{
|
|
this.EditData();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 编辑数据方法
|
|
/// </summary>
|
|
private void EditData()
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
|
|
string Id = Grid1.SelectedRowID;
|
|
var model = Funs.DB.Sys_Const.FirstOrDefault(x => x.ID == Id);
|
|
if (model != null)
|
|
{
|
|
this.txtTrainLevelName.Text = model.ConstText;
|
|
if (model.GroupId == "RewardType")
|
|
{
|
|
this.rblIsType.SelectedValue = "奖励";
|
|
}
|
|
else
|
|
{
|
|
this.rblIsType.SelectedValue = "处罚";
|
|
}
|
|
|
|
this.txtRemark.Text = model.Remark;
|
|
hfFormID.Text = Id;
|
|
this.btnDelete.Enabled = true;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 保存
|
|
|
|
/// <summary>
|
|
/// 保存按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
string strRowID = hfFormID.Text;
|
|
var model = new Model.Sys_Const
|
|
{
|
|
ConstText = this.txtTrainLevelName.Text.Trim(),
|
|
Remark = txtRemark.Text.Trim()
|
|
};
|
|
|
|
if (!string.IsNullOrEmpty(this.rblIsType.SelectedValue))
|
|
{
|
|
if (this.rblIsType.SelectedValue == "奖励")
|
|
{
|
|
model.GroupId = "RewardType";
|
|
}
|
|
else
|
|
{
|
|
model.GroupId = "PunishType";
|
|
}
|
|
}
|
|
|
|
|
|
if (string.IsNullOrEmpty(strRowID))
|
|
{
|
|
model.ID = SQLHelper.GetNewID(typeof(Model.Base_TrainLevel));
|
|
model.SortIndex = Funs.DB.Sys_Const.Where(x => x.GroupId == "RewardType" || x.GroupId == "PunishType")
|
|
.ToList().Count + 1;
|
|
|
|
if (!string.IsNullOrEmpty(this.rblIsType.SelectedValue))
|
|
{
|
|
if (this.rblIsType.SelectedValue == "奖励")
|
|
{
|
|
model.ConstValue = (Funs.DB.Sys_Const.Where(x => x.GroupId == "RewardType")
|
|
.ToList().Count + 1).ToString();
|
|
}
|
|
else
|
|
{
|
|
model.ConstValue = (Funs.DB.Sys_Const.Where(x => x.GroupId == "PunishType")
|
|
.ToList().Count + 1).ToString();
|
|
}
|
|
}
|
|
|
|
Funs.DB.Sys_Const.InsertOnSubmit(model);
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
else
|
|
{
|
|
model.ID = strRowID;
|
|
var newmodel = Funs.DB.Sys_Const.FirstOrDefault(x => x.ID == model.ID);
|
|
newmodel.ConstText = model.ConstText;
|
|
newmodel.Remark = model.Remark;
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
|
|
this.SimpleForm1.Reset();
|
|
// 重新绑定表格,并点击当前编辑或者新增的行
|
|
BindGrid();
|
|
PageContext.RegisterStartupScript(String.Format("F('{0}').selectRow('{1}');", Grid1.ClientID, model.ID));
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 验证名称是否存在
|
|
|
|
/// <summary>
|
|
/// 验证部门名称、编号是否存在
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void TextBox_TextChanged(object sender, EventArgs e)
|
|
{
|
|
var q = Funs.DB.Sys_Const.FirstOrDefault(x =>
|
|
(x.GroupId == "RewardType" || x.GroupId == "PunishType") &&
|
|
x.ConstText == this.txtTrainLevelName.Text.Trim() &&
|
|
(x.ID != hfFormID.Text || (hfFormID.Text == null && x.ID != null)));
|
|
if (q != null)
|
|
{
|
|
ShowNotify("输入的奖罚类别名称已存在!", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |