using LeaRun.Application.Entity.BaseManage;
using LeaRun.Application.IService.AuthorizeManage;
using LeaRun.Application.IService.BaseManage;
using LeaRun.Application.Service.AuthorizeManage;
using LeaRun.Data;
using LeaRun.Data.Repository;
using LeaRun.Util;
using LeaRun.Util.Extension;
using LeaRun.Util.WebControl;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Text;
namespace LeaRun.Application.Service.BaseManage
{
///
/// 版 本
/// Copyright (c) 2013-2016 上海力软信息技术有限公司
/// 创建人:佘赐雄
/// 日 期:2015.11.4 14:31
/// 描 述:职位管理
///
public class JobService : RepositoryFactory, IJobService
{
private IAuthorizeService iauthorizeservice = new AuthorizeService();
#region 获取数据
///
/// 职位列表
///
///
public IEnumerable GetList()
{
var expression = LinqExtensions.True();
expression = expression.And(t => t.Category == 3).And(t => t.EnabledMark == 1).And(t => t.DeleteMark == 0);
return this.BaseRepository().IQueryable(expression).OrderByDescending(t => t.CreateDate).ToList();
}
///
/// 职位列表
///
/// 分页
/// 查询参数
///
public IEnumerable GetPageList(Pagination pagination, string queryJson)
{
var expression = LinqExtensions.True();
var queryParam = queryJson.ToJObject();
//机构主键
if (!queryParam["organizeId"].IsEmpty())
{
string organizeId = queryParam["organizeId"].ToString();
expression = expression.And(t => t.OrganizeId.Equals(organizeId));
}
//查询条件
if (!queryParam["condition"].IsEmpty() && !queryParam["keyword"].IsEmpty())
{
string condition = queryParam["condition"].ToString();
string keyword = queryParam["keyword"].ToString();
switch (condition)
{
case "EnCode": //职位编号
expression = expression.And(t => t.EnCode.Contains(keyword));
break;
case "FullName": //职位名称
expression = expression.And(t => t.FullName.Contains(keyword));
break;
default:
break;
}
}
expression = expression.And(t => t.Category == 3);
return this.BaseRepository().FindList(expression, pagination);
}
///
/// 职位实体
///
/// 主键值
///
public RoleEntity GetEntity(string keyValue)
{
return this.BaseRepository().FindEntity(keyValue);
}
#endregion
#region 验证数据
///
/// 职位编号不能重复
///
/// 编号
/// 主键
///
public bool ExistEnCode(string enCode, string keyValue)
{
var expression = LinqExtensions.True();
expression = expression.And(t => t.EnCode == enCode).And(t => t.Category == 3);
if (!string.IsNullOrEmpty(keyValue))
{
expression = expression.And(t => t.RoleId != keyValue);
}
return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
}
///
/// 职位名称不能重复
///
/// 名称
/// 主键
///
public bool ExistFullName(string fullName, string keyValue)
{
var expression = LinqExtensions.True();
expression = expression.And(t => t.FullName == fullName).And(t => t.Category == 3);
if (!string.IsNullOrEmpty(keyValue))
{
expression = expression.And(t => t.RoleId != keyValue);
}
return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
}
#endregion
#region 提交数据
///
/// 删除职位
///
/// 主键
public void RemoveForm(string keyValue)
{
this.BaseRepository().Delete(keyValue);
}
///
/// 保存职位表单(新增、修改)
///
/// 主键值
/// 职位实体
///
public void SaveForm(string keyValue, RoleEntity jobEntity)
{
if (!string.IsNullOrEmpty(keyValue))
{
jobEntity.Modify(keyValue);
this.BaseRepository().Update(jobEntity);
}
else
{
jobEntity.Create();
jobEntity.Category = 3;
this.BaseRepository().Insert(jobEntity);
}
}
#endregion
}
}