using Lottomat.Application.Entity.SystemManage;
using Lottomat.Application.IService.SystemManage;
using Lottomat.Data.Repository;
using Lottomat.Util.Extension;
using System.Collections.Generic;
using System.Linq;
namespace Lottomat.Application.Service.SystemManage
{
///
/// 版 本 1.0
/// Copyright (c) 2016-2017
/// 创建人:赵轶
/// 日 期:2015.11.17 9:56
/// 描 述:数据字典分类
///
public class DataItemService : RepositoryFactory, IDataItemService
{
#region 获取数据
///
/// 分类列表
///
///
public IEnumerable GetList()
{
return this.BaseRepository().IQueryable().OrderBy(t => t.CreateDate).ToList();
}
///
/// 分类实体
///
/// 主键值
///
public DataItemEntity GetEntity(string keyValue)
{
return this.BaseRepository().FindEntity(keyValue);
}
///
/// 根据分类编号获取实体对象
///
/// 编号
///
public DataItemEntity GetEntityByCode(string ItemCode)
{
var expression = LinqExtensions.True();
if (!string.IsNullOrEmpty(ItemCode))
{
string[] codeArr = ItemCode.Split("|".ToArray());
expression = expression.And(t => codeArr.Contains(t.ItemCode));
}
return this.BaseRepository().FindEntity(expression);
}
#endregion
#region 验证数据
///
/// 分类编号不能重复
///
/// 编号
/// 主键
///
public bool ExistItemCode(string itemCode, string keyValue)
{
var expression = LinqExtensions.True();
expression = expression.And(t => t.ItemCode == itemCode);
if (!string.IsNullOrEmpty(keyValue))
{
expression = expression.And(t => t.ItemId != keyValue);
}
return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
}
///
/// 分类名称不能重复
///
/// 名称
/// 主键
///
public bool ExistItemName(string itemName, string keyValue)
{
var expression = LinqExtensions.True();
expression = expression.And(t => t.ItemName == itemName);
if (!string.IsNullOrEmpty(keyValue))
{
expression = expression.And(t => t.ItemId != keyValue);
}
return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
}
///
/// 根据ItemName 查询
///
///
///
public DataItemEntity GetByItemName(string ItemName)
{
var expression = LinqExtensions.True();
expression = expression.And(t => t.ItemName == ItemName);
List list=this.BaseRepository().IQueryable(expression).ToList();
if (list.Count>0)
{
return list[0];
}
return null;
}
#endregion
#region 提交数据
///
/// 删除分类
///
/// 主键
public void RemoveForm(string keyValue)
{
this.BaseRepository().Delete(keyValue);
}
///
/// 保存分类表单(新增、修改)
///
/// 主键值
/// 分类实体
///
public void SaveForm(string keyValue, DataItemEntity dataItemEntity)
{
if (!string.IsNullOrEmpty(keyValue))
{
dataItemEntity.Modify(keyValue);
this.BaseRepository().Update(dataItemEntity);
}
else
{
dataItemEntity.Create();
this.BaseRepository().Insert(dataItemEntity);
}
}
#endregion
}
}