using LeaRun.Application.Entity.DemoManage; using LeaRun.Application.IService.DemoManage; using LeaRun.Data.Repository; using LeaRun.Util.WebControl; using System; using System.Collections.Generic; using System.Linq; using LeaRun.Util; using LeaRun.Util.Extension; namespace LeaRun.Application.Service.DemoManage { /// /// 版 本 6.1 /// Copyright (c) 2013-2016 上海力软信息技术有限公司 /// 创 建:超级管理员 /// 日 期:2016-12-06 17:29 /// 描 述:OfficeRk /// public class OfficeRkService : RepositoryFactory, OfficeRkIService { #region 获取数据 /// /// 获取列表 /// /// 分页 /// 查询参数 /// 返回分页列表 public IEnumerable GetPageList(Pagination pagination, string queryJson) { var expression = LinqExtensions.True(); var queryParam = queryJson.ToJObject(); //查询条件 if (!queryParam["condition"].IsEmpty() && !queryParam["keyword"].IsEmpty()) { string condition = queryParam["condition"].ToString(); string keyword = queryParam["keyword"].ToString(); switch (condition) { case "GysName": //供应商名称 expression = expression.And(t => t.GysName.Contains(keyword)); break; case "SellerName": //销售人员 expression = expression.And(t => t.SellerName.Contains(keyword)); break; default: break; } } return this.BaseRepository().FindList(expression,pagination); } /// /// 获取实体 /// /// 主键值 /// public OfficeRkEntity GetEntity(string keyValue) { return this.BaseRepository().FindEntity(keyValue); } /// /// 获取子表详细信息 /// /// 主键值 /// public IEnumerable GetDetails(string keyValue) { return this.BaseRepository().FindList("select * from OfficeRkEntry where OrderId='" + keyValue + "'"); } #endregion #region 提交数据 /// /// 删除数据 /// /// 主键 public void RemoveForm(string keyValue) { IRepository db = new RepositoryFactory().BaseRepository().BeginTrans(); try { db.Delete(keyValue); db.Delete(t => t.RkEntryId.Equals(keyValue)); db.Commit(); } catch (Exception) { db.Rollback(); throw; } } /// /// 保存表单(新增、修改) /// /// 主键值 /// 实体对象 /// public void SaveForm(string keyValue, OfficeRkEntity entity,List entryList) { IRepository db = this.BaseRepository().BeginTrans(); try { if (!string.IsNullOrEmpty(keyValue)) { //主表 entity.Modify(keyValue); db.Update(entity); //明细 db.Delete(t => t.OrderId.Equals(keyValue)); foreach (OfficeRkEntryEntity item in entryList) { item.Create(); item.OrderId = entity.OrderId; db.Insert(item); } } else { //主表 entity.Create(); db.Insert(entity); //明细 foreach (OfficeRkEntryEntity item in entryList) { item.Create(); item.OrderId = entity.OrderId; db.Insert(item); } } db.Commit(); } catch (Exception) { db.Rollback(); throw; } } #endregion } }