Basf_FCL/FCL/FineUIPro.Web/SysManage/UpdatePassword.aspx.cs

282 lines
9.3 KiB
C#

using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.common.SysManage
{
public partial class UpdatePassword : PageBase
{
#region
protected void Page_Load(object sender, EventArgs e)
{
// 表头过滤
FilterDataRowItem = FilterDataRowItemImplement;
if (!IsPostBack)
{
if (this.CurrUser.Account != BLL.Const.Gly)
{
this.txtAccount.Hidden = true;
}
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = "SELECT u.UserId,u.Account,u.UserCode,u.UserName,u.RoleId,r.RoleName,u.DepartId,dep.DepartName,(CASE WHEN u.IsPost IS NOT NULL THEN 'On duty' ELSE 'Not on duty' END) AS IsPost "
+ @" FROM Sys_User u"
+ @" LEFT JOIN dbo.Sys_Role AS r ON r.RoleId = u.RoleId"
+ @" LEFT JOIN dbo.Base_Depart AS dep ON dep.DepartId = u.DepartId WHERE 1=1 ";
//string strWhere = " where Account = @Account";
List<SqlParameter> listStr = new List<SqlParameter>();
if (this.CurrUser.Account != BLL.Const.Gly)
{
//strSql += strWhere;
strSql += " AND u.Account = @Account";
listStr.Add(new SqlParameter("@Account", this.CurrUser.Account));
}
else
{
if (!string.IsNullOrEmpty(this.txtAccount.Text.Trim()))
{
strSql += " AND u.Account LIKE @Account";
listStr.Add(new SqlParameter("@Account", "%" + this.txtAccount.Text.Trim() + "%"));
}
}
//SqlParameter[] parameter = new SqlParameter[]
//{
// new SqlParameter("@Account",this.CurrUser.Account),
//};
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 过滤表头
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 根据表头信息过滤列表数据
/// </summary>
/// <param name="sourceObj"></param>
/// <param name="fillteredOperator"></param>
/// <param name="fillteredObj"></param>
/// <param name="column"></param>
/// <returns></returns>
private bool FilterDataRowItemImplement(object sourceObj, string fillteredOperator, object fillteredObj, string column)
{
bool valid = false;
if (column == "UserName")
{
string sourceValue = sourceObj.ToString();
string fillteredValue = fillteredObj.ToString();
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
{
valid = true;
}
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
{
valid = true;
}
}
if (column == "UnitName")
{
string sourceValue = sourceObj.ToString();
string fillteredValue = fillteredObj.ToString();
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
{
valid = true;
}
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
{
valid = true;
}
}
if (column == "IsPost")
{
string sourceValue = sourceObj.ToString();
string fillteredValue = fillteredObj.ToString();
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
{
valid = true;
}
}
return valid;
}
#endregion
#region
/// <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_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 批量删除数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnRefresh_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var user = BLL.Sys_UserService.GetUsersByUserId(rowID);
if (user != null)
{
string password = BLL.Sys_UserService.GetEncryptionPassword(user.Account.ToLower());
if (user.UserId == BLL.Const.GlyId)
{
password = Sys_UserService.EncryptionPassword(BLL.Const.glyPassWord);
}
BLL.Sys_UserService.UpdatePassword(rowID, password);
}
}
BindGrid();
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Reset Password");
ShowNotify("The password has been reset to the original password!");
}
else
{
ShowNotify("Please select at least one line!");
}
}
/// <summary>
/// 右键重置密码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuRefresh_Click(object sender, EventArgs e)
{
this.btnRefresh_Click(null,null);
}
#endregion
#region
/// <summary>
/// 编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnEdit_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("Please select at least one line!");
return;
}
string Id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("UpdatePasswordEdit.aspx?userId={0}", Id, "编辑 - ")));
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnEdit_Click(null, null);
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
btnEdit_Click(null, null);
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Text_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
#endregion
}
}