using LeaRun.Application.Entity.SystemManage;
using LeaRun.Application.IService.SystemManage;
using LeaRun.Data.Repository;
using LeaRun.Util.Extension;
using LeaRun.Util;
using System.Collections.Generic;
using System.Linq;
namespace LeaRun.Application.Service.SystemManage
{
///
/// 版 本 6.1
/// Copyright (c) 2013-2016 上海力软信息技术有限公司
/// 创建人:佘赐雄
/// 日 期:2015.11.25 11:02
/// 描 述:数据库备份
///
public class DataBaseBackupService : RepositoryFactory, IDataBaseBackupService
{
#region 获取数据
///
/// 库备份列表
///
/// 连接库Id
/// 查询参数
///
public IEnumerable GetList(string dataBaseLinkId, string queryJson)
{
var expression = LinqExtensions.True();
if (!string.IsNullOrEmpty(dataBaseLinkId))
{
expression = expression.And(t => t.DatabaseLinkId == dataBaseLinkId);
}
var queryParam = queryJson.ToJObject();
//查询条件
if (!queryParam["condition"].IsEmpty() && !queryParam["keyword"].IsEmpty())
{
string condition = queryParam["condition"].ToString();
string keyword = queryParam["keyword"].ToString();
switch (condition)
{
case "EnCode": //计划编号
expression = expression.And(t => t.EnCode.Contains(keyword));
break;
case "FullName": //计划名称
expression = expression.And(t => t.FullName.Contains(keyword));
break;
default:
break;
}
}
return this.BaseRepository().IQueryable(expression).OrderByDescending(t => t.CreateDate).ToList();
}
///
/// 库备份文件路径列表
///
/// 计划Id
///
public IEnumerable GetPathList(string databaseBackupId)
{
return this.BaseRepository().IQueryable(t => t.ParentId == databaseBackupId).OrderByDescending(t => t.CreateDate).ToList();
}
///
/// 库备份实体
///
/// 主键值
///
public DataBaseBackupEntity GetEntity(string keyValue)
{
return this.BaseRepository().FindEntity(keyValue);
}
#endregion
#region 提交数据
///
/// 删除库备份
///
/// 主键
public void RemoveForm(string keyValue)
{
this.BaseRepository().Delete(keyValue);
}
///
/// 保存库备份表单(新增、修改)
///
/// 主键值
/// 库备份实体
///
public void SaveForm(string keyValue, DataBaseBackupEntity dataBaseBackupEntity)
{
if (!string.IsNullOrEmpty(keyValue))
{
dataBaseBackupEntity.Modify(keyValue);
this.BaseRepository().Update(dataBaseBackupEntity);
}
else
{
dataBaseBackupEntity.Create();
this.BaseRepository().Insert(dataBaseBackupEntity);
}
}
#endregion
}
}