using Edu.AOP.CustomerAttribute;
using Edu.Model.ViewModel.System;
using Edu.Model.ViewModel.User;
using Edu.Repository.System;
using Edu.Repository.User;
using System.Collections.Generic;
using VT.FW.DB;
namespace Edu.Module.User
{
///
/// 岗位处理类
///
public class PostModule
{
///
/// 岗位仓储层对象
///
private readonly RB_PostRepository postRepository = new RB_PostRepository();
///
/// 岗位权限仓储层对象
///
private readonly RB_Post_RoleRepository postRoleRepository = new RB_Post_RoleRepository();
///
/// 获取岗位分页列表
///
///
///
///
///
///
public List GetPostPageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Post_ViewModel query)
{
var list = postRepository.GetPostPageListRepository(pageIndex, pageSize, out rowsCount, query);
return list;
}
///
/// 获取岗位列表
///
///
///
public List GetPostListModule(RB_Post_ViewModel query)
{
return postRepository.GetPostListRepository(query);
}
///
/// 根据部门编号获取岗位列表
///
///
///
public List GetDeptPostListModule(RB_Post_ViewModel query)
{
return postRepository.GetDeptPostListRepository(query);
}
///
/// 新增修改岗位
///
///
///
[TransactionCallHandler]
public virtual bool SetPostModule(RB_Post_ViewModel extModel)
{
bool flag;
if (extModel.PostId > 0)
{
Dictionary fileds = new Dictionary()
{
{nameof(RB_Post_ViewModel.PostName),extModel.PostName },
{nameof(RB_Post_ViewModel.UpdateBy),extModel.UpdateBy },
{nameof(RB_Post_ViewModel.UpdateTime),extModel.UpdateTime },
};
flag = postRepository.Update(fileds, new WhereHelper(nameof(RB_Post_ViewModel.PostId), extModel.PostId));
}
else
{
var newId = postRepository.Insert(extModel);
extModel.PostId = newId;
flag = newId > 0;
}
postRoleRepository.DeleteOne(new WhereHelper(nameof(RB_Post_Role_ViewModel.PostId), extModel.PostId));
if (extModel.PostRoleList != null && extModel.PostRoleList.Count > 0)
{
foreach (var item in extModel.PostRoleList)
{
item.Id = 0;
item.PostId = extModel.PostId;
flag = postRoleRepository.Insert(item) > 0;
}
}
return flag;
}
///
/// 根据岗位编号获取部门岗位
///
///
///
public RB_Post_ViewModel GetPostModule(object PostId)
{
var model= postRepository.GetEntity(PostId);
if (model != null && model.PostId > 0)
{
var postRoleList= postRoleRepository.GetPostRoleListRepository(new RB_Post_Role_ViewModel() { PostId = model.PostId });
model.PostRoleList = postRoleList ?? new List();
}
return model;
}
///
/// 修改岗位状态
///
/// 岗位编号
/// 状态
///
public bool RemovePostModule(int PostId, int Status)
{
Dictionary fileds = new Dictionary()
{
{nameof(RB_Post_ViewModel.Status),Status }
};
return postRepository.Update(fileds, new WhereHelper(nameof(RB_Post_ViewModel.PostId), PostId));
}
}
}