标签:
标准的服务接口通常包含
已财务记录为例的示例代码:
/// <summary> /// 财务记录 /// </summary> public interface IBillService : IDynamicService { /// <summary> /// 添加或更新财务记录 /// </summary> /// <param name="entity"></param> /// <returns></returns> void AddOrUpdate(Bill entity); /// <summary> /// 批量添加或更新财务记录 /// </summary> /// <param name="soucre"></param> /// <returns></returns> void AddOrUpdate(IEnumerable<Bill> soucre); /// <summary> /// 获取一条财务记录 /// </summary> /// <param name="id">c财务记录ID</param> /// <returns></returns> Bill GetSingle(long? id); /// <summary> /// 获取财务记录列表 /// </summary> /// <param name="predicate">查询条件</param> /// <returns></returns> List<Bill> GetList(Expression<Func<Bill, bool>> predicate = null); /// <summary> /// 获取分页记录的财务记录 /// </summary> /// <param name="query">查询条件</param> /// <param name="predicate">查询条件</param> /// <returns></returns> PagedList<Bill> GetPagedList(QueryModel query, Expression<Func<Bill, bool>> predicate = null); /// <summary> /// 删除财务记录 /// </summary> /// <param name="id"></param> /// <returns></returns> void Delete(long? id); }
public class BillService : ServiceBase, IBillService { public void AddOrUpdate(IEnumerable<Bill> soucre) { if (soucre == null) throw new ArgumentNullException(nameof(soucre)); foreach (var item in soucre) { AddOrUpdate(item); } } public void AddOrUpdate(Bill entity) { if (entity.Id > 0) { Repository<BillRepository>().UpdateSingle(entity); } else { Repository<BillRepository>().AddSingle(entity); } } public void Delete(long? id) { Repository<BillRepository>().Delete(r=>r.Id==id); } public List<Bill> GetList(Expression<Func<Bill, bool>> predicate = null) { throw new NotImplementedException(); } public PagedList<Bill> GetPagedList(QueryModel query, Expression<Func<Bill, bool>> predicate = null) { return Repository<BillRepository>().ReadMany(query, predicate); } public Bill GetSingle(long? id) { return Repository<BillRepository>().ReadSingle(e => e.Id == id); } }
注意实现:
标签:
原文地址:http://www.cnblogs.com/zkcloud/p/5575554.html