ZHJA_HJGL/HJGL_ZH/BLL/Common/ProjectSet/Project_UserService.cs

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;
}
}
}