using LeaRun.Application.Entity.SystemManage;
using LeaRun.Application.IService.SystemManage;
using LeaRun.Data.Repository;
using LeaRun.Util.Extension;
using System.Collections.Generic;
using System.Linq;
namespace LeaRun.Application.Service.SystemManage
{
///
/// 版 本 6.1
/// Copyright (c) 2013-2016 上海力软信息技术有限公司
/// 创建人:佘赐雄
/// 日 期:2015.11.12 16:40
/// 描 述:区域管理
///
public class AreaService : RepositoryFactory, IAreaService
{
#region 获取数据
///
/// 区域列表
///
///
public IEnumerable GetList()
{
return this.BaseRepository().IQueryable(t => t.Layer != 4).OrderBy(t => t.CreateDate).ToList();
}
///
/// 区域列表
///
/// 节点Id
/// 关键字查询
///
public IEnumerable GetList(string parentId, string keyword)
{
var expression = LinqExtensions.True();
if (!string.IsNullOrEmpty(parentId))
{
expression = expression.And(t => t.ParentId == parentId);
}
if (!string.IsNullOrEmpty(keyword))
{
expression = expression.And(t => t.AreaCode.Contains(keyword));
expression = expression.Or(t => t.AreaName.Contains(keyword));
}
return this.BaseRepository().IQueryable(expression).OrderBy(t => t.CreateDate).ToList();
}
///
/// 区域实体
///
/// 主键值
///
public AreaEntity GetEntity(string keyValue)
{
return this.BaseRepository().FindEntity(keyValue);
}
#endregion
#region 提交数据
///
/// 删除区域
///
/// 主键
public void RemoveForm(string keyValue)
{
this.BaseRepository().Delete(keyValue);
}
///
/// 保存区域表单(新增、修改)
///
/// 主键值
/// 区域实体
///
public void SaveForm(string keyValue, AreaEntity areaEntity)
{
if (!string.IsNullOrEmpty(keyValue))
{
areaEntity.Modify(keyValue);
this.BaseRepository().Update(areaEntity);
}
else
{
areaEntity.Create();
this.BaseRepository().Insert(areaEntity);
}
}
#endregion
}
}