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
}
}