using BLL;
using System;
namespace FineUIPro.Web.TestRun.Meeting
{
public partial class MeetingInitiateEdit : PageBase
{
#region 加载
///
/// 页面加载
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string id = Request.Params["id"];
if (!string.IsNullOrEmpty(id))
{
Model.Driver_Meeting data = BLL.MeetingService.GetMeetingById(id);
if (data != null)
{
this.hdId.Text = id;
this.txtMeetingName.Text = data.MeetingName;
this.txtStartTime.Text = data.StartTime.HasValue ? string.Format("{0:yyyy-MM-dd hh:mm:ss}", data.StartTime) : "";
this.txtEndTime.Text = data.EndTime.HasValue ? string.Format("{0:yyyy-MM-dd hh:mm:ss}", data.EndTime) : "";
this.txtMeetingAddress.Text = data.MeetingAddress;
this.txtMeetingUrl.Text = data.MeetingUrl;
this.txtInitiationDate.Text = data.InitiationDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.InitiationDate) : "";
this.txtMeetingContent.Text = data.MeetingContent;
this.rblMeetingType.SelectedValue = data.MeetingType;
}
}
else
{
this.txtStartTime.Text = string.Format("{0:yyyy-MM-dd hh:mm:ss}", DateTime.Now);
this.txtEndTime.Text = string.Format("{0:yyyy-MM-dd hh:mm:ss}", DateTime.Now);
this.txtInitiationDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
}
InitMenuTree();
}
}
#endregion
#region 保存
///
/// 保存按钮
///
///
///
protected void btnSave_Click(object sender, EventArgs e)
{
SaveData(BLL.Const.BtnSave);
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
///
/// 保存数据
///
///
private void SaveData(string type)
{
string id = Request.Params["id"];
Model.Driver_Meeting newData = new Model.Driver_Meeting();
newData.MeetingName = this.txtMeetingName.Text.Trim();
newData.StartTime = Funs.GetNewDateTime(this.txtStartTime.Text.Trim());
newData.EndTime = Funs.GetNewDateTime(this.txtEndTime.Text.Trim());
newData.MeetingAddress = this.txtMeetingAddress.Text.Trim();
newData.MeetingUrl = this.txtMeetingUrl.Text.Trim();
newData.InitiationDate = Funs.GetNewDateTime(this.txtInitiationDate.Text.Trim());
newData.MeetingContent = this.txtMeetingContent.Text.Trim();
newData.MeetingType = this.rblMeetingType.SelectedValue;
newData.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(id))
{
newData.MeetingId = id;
BLL.MeetingService.UpdateMeeting(newData);
}
else
{
if (!string.IsNullOrEmpty(this.hdId.Text))
{
newData.MeetingId = this.hdId.Text.Trim();
}
else
{
newData.MeetingId = SQLHelper.GetNewID(typeof(Model.Driver_Meeting));
this.hdId.Text = newData.MeetingId;
}
BLL.MeetingService.AddMeeting(newData);
}
#region 保存参会人员
BLL.MeetingItemService.DeleteMeetingItemByMeetingId(this.hdId.Text);
TreeNode[] nodes = this.tvAttendMeetingsPerson.GetCheckedNodes();
if (nodes.Length > 0)
{
foreach (TreeNode tn in nodes)
{
if (tn.NodeID != "0")
{
Model.Driver_MeetingItem newItem = new Model.Driver_MeetingItem
{
MeetingItemId = SQLHelper.GetNewID(typeof(Model.Driver_MeetingItem)),
MeetingId = this.hdId.Text,
UserId = tn.NodeID,
};
BLL.MeetingItemService.AddMeetingItem(newItem);
}
}
}
#endregion
}
#endregion
#region 初始化树
///
/// 初始化树
///
/// 单位集合
private void InitMenuTree()
{
this.tvAttendMeetingsPerson.Nodes.Clear();
var units = BLL.UnitService.GetUnitByProjectIdList(this.CurrUser.LoginProjectId);
foreach (var item in units)
{
TreeNode rootNode = new TreeNode
{
Text = item.UnitName,
NodeID = item.UnitId,
EnableCheckBox = true,
EnableCheckEvent = true,
Expanded = true
};
this.tvAttendMeetingsPerson.Nodes.Add(rootNode);
this.BoundTree(rootNode.Nodes, rootNode.NodeID);
}
}
///
/// 遍历增加子节点
///
///
///
private void BoundTree(TreeNodeCollection nodes, string superMenuId)
{
var menus = BLL.UserService.GetUserByUnitId(this.CurrUser.LoginProjectId, superMenuId);
foreach (var item in menus)
{
TreeNode chidNode = new TreeNode
{
Text = item.Text,
NodeID = item.Value,
EnableCheckBox = true,
EnableCheckEvent = true
};
var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(this.hdId.Text.Trim());
if (items.Count > 0)
{
foreach (var i in items)
{
if (i.UserId == item.Value)
{
chidNode.Checked = true;
chidNode.Expanded = true;
chidNode.Selectable = true;
//var meeting = BLL.MeetingService.GetMeetingById(this.hdId.Text.Trim());
//if (meeting != null)
//{
// if (meeting.States == "2")
// {
// if (i.IsMeeting == true)
// {
// chidNode.Text = item.Text + "(可按时参加)";
// }
// else if (i.IsMeeting == false)
// {
// chidNode.Text = item.Text + "(因故不参加:" + i.Feedback + ")";
// }
// else
// {
// chidNode.Text = item.Text + "(暂未反馈)";
// }
// }
//}
}
}
}
nodes.Add(chidNode);
}
}
#endregion
#region 全选、全不选
///
/// 全选、全不选
///
///
///
protected void tvAttendMeetingsPerson_NodeCheck(object sender, FineUIPro.TreeCheckEventArgs e)
{
if (e.Checked)
{
this.tvAttendMeetingsPerson.CheckAllNodes(e.Node.Nodes);
SetCheckParentNode(e.Node);
}
else
{
this.tvAttendMeetingsPerson.UncheckAllNodes(e.Node.Nodes);
}
}
///
/// 选中父节点
///
///
private void SetCheckParentNode(TreeNode node)
{
if (node.ParentNode != null && node.ParentNode.NodeID != "0")
{
node.ParentNode.Checked = true;
if (node.ParentNode.ParentNode.NodeID != "0")
{
SetCheckParentNode(node.ParentNode);
}
}
}
#endregion
}
}