using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.EditorManage
{
public partial class CMEditor : PageBase
{
#region 加载页面
protected void Page_Load(object sender, EventArgs e)
{
// 表头过滤
FilterDataRowItem = FilterDataRowItemImplement;
if (!IsPostBack)
{
// 特殊控制,不需要
// GetButtonPower();//权限设置
//类型
this.drpJobType.DataTextField = "ConstText";
this.drpJobType.DataValueField = "ConstId";
this.drpJobType.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.ProjectPlanner_JobType);
this.drpJobType.DataBind();
Funs.FineUIPleaseSelectJobType(this.drpJobType);
//状态
this.drpJobStatus.DataTextField = "ConstText";
this.drpJobStatus.DataValueField = "ConstId";
this.drpJobStatus.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.ProjectPlanner_JobStatus);
this.drpJobStatus.DataBind();
Funs.FineUIPleaseSelectJobStatus(this.drpJobStatus);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.BindGrid();
}
}
///
/// BindGrid
///
private void BindGrid()
{
string strSql = @"SELECT EProjectId,ProjectControl_JobNo,ProjectControl_JobType,
ProjectControl_JobStatus,ProjectControl_JobTitle,ProjectControl_BUCode,
PM_General_Priority,PM_General_Category
FROM dbo.Editor_EProject
WHERE 1=1 ";
List listStr = new List();
if (this.CurrUser.UserId != Const.GlyId && CurrUser.RoleId!=Const.Role_PPE)
{
strSql += " AND ProjectControl_ConstManagerId=@UserId ";
listStr.Add(new SqlParameter("@UserId", this.CurrUser.UserId));
}
if (this.drpJobType.SelectedValue != BLL.Const._Null)
{
strSql += " AND ProjectControl_JobType=@JobType ";
listStr.Add(new SqlParameter("@JobType", this.drpJobType.SelectedItem.Text));
}
if (this.drpJobStatus.SelectedValue != BLL.Const._Null)
{
strSql += " AND ProjectControl_JobStatus=@Status ";
listStr.Add(new SqlParameter("@Status", this.drpJobStatus.SelectedItem.Text));
}
if (!string.IsNullOrEmpty(this.txtJobNO.Text.Trim()))
{
strSql += " AND ProjectControl_JobNo LIKE @jobNO ";
listStr.Add(new SqlParameter("@jobNO", this.txtJobNO.Text.Trim() + "%"));
}
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 过滤表头
///
/// 过滤表头
///
///
///
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
///
/// 根据表头信息过滤列表数据
///
///
///
///
///
///
private bool FilterDataRowItemImplement(object sourceObj, string fillteredOperator, object fillteredObj, string column)
{
bool valid = false;
if (column == "ProjectControl_JobNo")
{
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 == "ProjectControl_JobType")
{
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 == "ProjectControl_JobTitle")
{
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 == "ProjectControl_JobStatus")
{
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 == "ProjectControl_BUCode")
{
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 == "PM_General_Priority")
{
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 == "PM_General_Category")
{
string sourceValue = sourceObj.ToString();
string fillteredValue = fillteredObj.ToString();
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
{
valid = true;
}
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
{
valid = true;
}
}
return valid;
}
#endregion
#region 分页、排序
///
/// 分页
///
///
///
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
///
/// 分页显示条数下拉框
///
///
///
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
///
/// 排序
///
///
///
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region 关闭弹出窗口
///
/// 关闭窗口
///
///
///
protected void Window1_Close(object sender, EventArgs e)
{
BindGrid();
}
protected void Window2_Close(object sender, EventArgs e)
{
}
#endregion
#region 编辑
///
/// 编辑
///
///
///
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;
var eproject = BLL.EProjectService.GeteProjectById(Id);
if (eproject != null)
{
Window1.Title = "CM Editor(Job No. " + eproject.ProjectControl_JobNo + ")";
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CMEditorEdit.aspx?EProjectId={0}", Id, "编辑 - ")));
}
protected void btnHTD_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("Please select at least one line!");
return;
}
string Id = Grid1.SelectedRowID;
var eproject = BLL.EProjectService.GeteProjectById(Id);
if (eproject != null)
{
Window2.Title = "CM HTD(Job No. " + eproject.ProjectControl_JobNo + ")";
}
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("CMHTDEdit.aspx?EProjectId={0}", Id, "编辑 - ")));
}
///
/// Grid行双击事件
///
///
///
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnEdit_Click(null, null);
}
///
/// 右键编辑事件
///
///
///
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
btnEdit_Click(null, null);
}
#endregion
#region 查询
///查询
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region 权限设置
///
/// 菜单按钮权限
///
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.CMEditorMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnEdit.Hidden = false;
this.btnMenuEdit.Hidden = false;
this.Grid1.EnableRowDoubleClickEvent = true;
}
else
{
this.Grid1.EnableRowDoubleClickEvent = false;
}
}
}
#endregion
#region 查看
///
/// 查看
///
///
///
protected void btnMenuView_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("Please select at least one line!");
return;
}
string Id = Grid1.SelectedRowID;
var eproject = BLL.EProjectService.GeteProjectById(Id);
if (eproject != null)
{
Window1.Title = "CM Editor(Job No. " + eproject.ProjectControl_JobNo + ")";
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CMEditorEdit.aspx?EProjectId={0}&view=1", Id, "编辑 - ")));
}
#endregion
}
}