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