226 lines
7.5 KiB
C#
226 lines
7.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Model;
|
|
using BLL;
|
|
using System.Collections;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace BLL
|
|
{
|
|
public class Project_UserService
|
|
{
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
/// <summary>
|
|
/// 记录数
|
|
|
|
/// </summary>
|
|
public static int count
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 定义变量
|
|
/// </summary>
|
|
public static IQueryable<Model.View_Common_Project_UserList> qq = from x in db.View_Common_Project_UserList orderby x.UserCode select x;
|
|
|
|
/// <summary>
|
|
/// 获取分页列表
|
|
/// </summary>
|
|
/// <param name="searchItem"></param>
|
|
/// <param name="searchValue"></param>
|
|
/// <param name="startRowIndex"></param>
|
|
/// <param name="maximumRows"></param>
|
|
/// <returns></returns>
|
|
public static IEnumerable getListData(string projectId, string searchItem, string searchValue, int startRowIndex, int maximumRows)
|
|
{
|
|
IQueryable<Model.View_Common_Project_UserList> q = qq;
|
|
q = q.Where(e => e.ProjectId == projectId);
|
|
|
|
if (!string.IsNullOrEmpty(searchValue))
|
|
{
|
|
if (searchItem == BLL.Const.UserName)
|
|
{
|
|
q = q.Where(e => e.UserName.Contains(searchValue));
|
|
}
|
|
}
|
|
|
|
count = q.Count();
|
|
if (count == 0)
|
|
{
|
|
return new object[] { "" };
|
|
}
|
|
|
|
return from x in q.Skip(startRowIndex).Take(maximumRows)
|
|
select new
|
|
{
|
|
x.ProjectUserId,
|
|
x.UnitType,
|
|
x.UnitName,
|
|
x.UserName,
|
|
x.UserCode,
|
|
x.Account,
|
|
x.RoleName,
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取列表数
|
|
/// </summary>
|
|
/// <param name="EDU_Code"></param>
|
|
/// <param name="EDU_Name"></param>
|
|
/// <param name="unitId"></param>
|
|
/// <returns></returns>
|
|
public static int GetListCount(string projectId, string searchItem, string searchValue)
|
|
{
|
|
return count;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键Id删除一个项目参与用户信息
|
|
/// </summary>
|
|
/// <param name="projectUerId">主键id</param>
|
|
public static void DeleteProject_UserByProjectUserId(string projectUerId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
var projectUser = db.Project_User.FirstOrDefault(x => x.ProjectUserId == projectUerId);
|
|
if (projectUser != null)
|
|
{
|
|
db.Project_User.DeleteOnSubmit(projectUser);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目id和用户id获取用户是否在项目中
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="unitId"></param>
|
|
/// <returns></returns>
|
|
public static Model.Project_User GetProject_UserByProjectIdUserId(string projectId, string userId)
|
|
{
|
|
var pUser = Funs.DB.Project_User.FirstOrDefault(x => x.ProjectId == projectId && x.UserId == userId);
|
|
return pUser;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目Id删除一个项目参与单位信息
|
|
/// </summary>
|
|
/// <param name="projectId">项目id</param>
|
|
/// <param name="type">是否分包类型</param>
|
|
public static void DeleteProject_UserByProjectId(string projectId, string unitId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
var pUser = from x in db.Project_User
|
|
join y in db.Sys_User on x.UserId equals y.UserId
|
|
where x.ProjectId == projectId && y.UnitId == unitId select x;
|
|
if (pUser.Count() > 0)
|
|
{
|
|
db.Project_User.DeleteAllOnSubmit(pUser);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加单位信息
|
|
/// </summary>
|
|
/// <param name="unit"></param>
|
|
public static void AddProject_User(Model.Project_User user)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.Project_User newuser = new Project_User();
|
|
newuser.ProjectUserId = SQLHelper.GetNewID(typeof(Model.Project_User)); ;
|
|
newuser.UserId = user.UserId;
|
|
newuser.ProjectId = user.ProjectId;
|
|
newuser.RoleId = user.RoleId;
|
|
newuser.IsPost = user.IsPost;
|
|
db.Project_User.InsertOnSubmit(newuser);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据用户主键获取角色主键
|
|
/// </summary>
|
|
/// <param name="userId">用户主键</param>
|
|
/// <returns>角色主键</returns>
|
|
public static string GetProjectRoleIdByUserId(string projectId, string userId)
|
|
{
|
|
string roleId = string.Empty;
|
|
Model.Project_User m = Funs.DB.Project_User.FirstOrDefault(e => e.UserId == userId && e.ProjectId == projectId);
|
|
if (m != null)
|
|
{
|
|
roleId = m.RoleId;
|
|
}
|
|
|
|
return roleId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据用户主键获取角色名称
|
|
/// </summary>
|
|
/// <param name="userId">用户主键</param>
|
|
/// <returns>角色主键</returns>
|
|
public static string GetProjectRoleNameByUserId(string projectId, string userId)
|
|
{
|
|
string roleName = string.Empty;
|
|
Model.Project_User m = Funs.DB.Project_User.FirstOrDefault(e => e.UserId == userId && e.ProjectId == projectId);
|
|
if (m != null)
|
|
{
|
|
var role = BLL.Sys_RoleService.GetRole(m.RoleId);
|
|
if (role != null)
|
|
{
|
|
roleName = role.RoleName;
|
|
}
|
|
}
|
|
|
|
return roleName;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取项目 单位下用户
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="userId"></param>
|
|
/// <returns></returns>
|
|
public static List<Sys_User> GetUserByProjectIdUnitId(string projectId, string unitId)
|
|
{
|
|
|
|
var users = from x in Funs.DB.Sys_User
|
|
join y in Funs.DB.Project_User on x.UserId equals y.UserId
|
|
where y.ProjectId == projectId && x.UnitId == unitId
|
|
select x;
|
|
return users.ToList();
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目id获取项目人员信息
|
|
/// </summary>
|
|
/// <param name="unitName"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.Project_User> GetProjectUserByProjectId(string projectId)
|
|
{
|
|
return (from x in Funs.DB.Project_User where x.ProjectId == projectId select x).ToList();
|
|
}
|
|
|
|
public static string GetStrProjectIds(string userId)
|
|
{
|
|
var projects = from x in Funs.DB.Project_User where x.UserId == userId select x.ProjectId;
|
|
string projectIds = string.Empty;
|
|
if (projects.Count() > 0)
|
|
{
|
|
foreach (var project in projects.Distinct())
|
|
{
|
|
projectIds += project + ",";
|
|
}
|
|
}
|
|
return projectIds;
|
|
}
|
|
|
|
}
|
|
}
|