using BLL;
using System;
using System.Linq;
namespace FineUIPro.Web.ProjectData
{
public partial class ProjectUserSave : PageBase
{
///
/// 定义项
///
public string ProjectUserId
{
get
{
return (string)ViewState["ProjectUserId"];
}
set
{
ViewState["ProjectUserId"] = value;
}
}
///
/// 加载页面
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
///角色下拉框
BLL.RoleService.InitRoleDropDownList(this.drpRole, string.Empty, false, true);
BLL.ConstValue.InitConstValueDropDownList(this.drpIsPost, ConstValue.Group_0001, false);
BLL.WorkPostService.InitWorkPostDropDownList(this.drpWorkPost, true);
gvUnitWork.DataSource = (from x in Funs.DB.WBS_UnitWork where x.SuperUnitWork == null && x.ProjectId == this.CurrUser.LoginProjectId select x);
gvUnitWork.DataBind();
this.ProjectUserId = Request.QueryString["ProjectUserId"];
if (!String.IsNullOrEmpty(this.ProjectUserId))
{
var projectUser = BLL.SitePerson_PersonService.GetSitePersonById(this.ProjectUserId);
if (projectUser != null)
{
var project = BLL.ProjectService.GetProjectByProjectId(projectUser.ProjectId);
if (project != null)
{
this.lbProjectName.Text = project.ProjectName;
}
var unit = BLL.UnitService.GetUnitByUnitId(projectUser.UnitId);
if (unit != null)
{
this.lbUnitName.Text = unit.UnitName;
}
var User = BLL.Person_PersonsService.GetPerson_PersonsById(projectUser.PersonId);
if (User != null)
{
this.lbUserCode.Text = User.JobNum;
this.lbUserName.Text = User.PersonName;
}
if (!string.IsNullOrEmpty(projectUser.WorkAreaId))
{
txtUnitWork.Values = projectUser.WorkAreaId.Split(',');
}
if (projectUser.States == Const.State_1)
{
this.drpIsPost.SelectedValue = Const._True;
}
if (!string.IsNullOrEmpty(projectUser.RoleIds))
{
this.drpRole.SelectedValueArray = projectUser.RoleIds.Split(',');
}
if (!string.IsNullOrEmpty(projectUser.WorkPostId))
{
this.drpWorkPost.SelectedValue = projectUser.WorkPostId;
}
}
}
}
}
///
/// 保存数据
///
///
///
protected void btnSave_Click(object sender, EventArgs e)
{
var newProjectUser = BLL.SitePerson_PersonService.GetSitePersonById(this.ProjectUserId);
if (newProjectUser != null)
{
///角色
string roleIds = string.Empty;
foreach (var item in this.drpRole.SelectedValueArray)
{
var role = BLL.RoleService.GetRoleByRoleId(item);
if (role != null)
{
if (string.IsNullOrEmpty(roleIds))
{
roleIds = role.RoleId;
}
else
{
roleIds += "," + role.RoleId;
}
}
}
newProjectUser.RoleIds = roleIds;
if (!string.IsNullOrWhiteSpace(String.Join(",", this.txtUnitWork.Values)))
{
newProjectUser.WorkAreaId = string.Join(",", txtUnitWork.Values);
}
BLL.SitePerson_PersonService.UpdateSitePerson(newProjectUser);
///离岗 -todo
Model.Sys_RoleItem roleItem = BLL.RoleItemService.GeRoleItemByUserIdAndProjectId(newProjectUser.PersonId, newProjectUser.ProjectId);
if (roleItem != null)
{
roleItem.RoleId = newProjectUser.RoleIds;
//if (newProjectUser.States == Const) //离岗
//{
// roleItem.OutDate = DateTime.Now;
//}
roleItem.RoleId = newProjectUser.RoleIds;
BLL.RoleItemService.UpdateRoleItem(roleItem);
}
//更新用户的项目id和项目角色
var user = BLL.Person_PersonsService.GetPerson_PersonsById(newProjectUser.PersonId);
if (user != null)
{
user.CurrentProjectId = newProjectUser.ProjectId;
user.CurrentProjectRoleId = newProjectUser.RoleIds;
if (this.drpWorkPost.SelectedValue != BLL.Const._Null)
{
user.CurrentProjectWorkPostId = this.drpWorkPost.SelectedValue;
}
BLL.Person_PersonsService.UpdatePerson_User(user);
}
BLL.LogService.AddSys_Log(this.CurrUser, this.lbUserCode.Text, newProjectUser.PersonId, BLL.Const.ProjectUserMenuId, BLL.Const.BtnModify);
ShowNotify("保存数据成功!", MessageBoxIcon.Success);
// 2. 关闭本窗体,然后回发父窗体
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}
}