DataBaseBackupService.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using LeaRun.Application.Entity.SystemManage;
  2. using LeaRun.Application.IService.SystemManage;
  3. using LeaRun.Data.Repository;
  4. using LeaRun.Util.Extension;
  5. using LeaRun.Util;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. namespace LeaRun.Application.Service.SystemManage
  9. {
  10. /// <summary>
  11. /// 版 本 6.1
  12. /// Copyright (c) 2013-2016 上海力软信息技术有限公司
  13. /// 创建人:佘赐雄
  14. /// 日 期:2015.11.25 11:02
  15. /// 描 述:数据库备份
  16. /// </summary>
  17. public class DataBaseBackupService : RepositoryFactory<DataBaseBackupEntity>, IDataBaseBackupService
  18. {
  19. #region 获取数据
  20. /// <summary>
  21. /// 库备份列表
  22. /// </summary>
  23. /// <param name="dataBaseLinkId">连接库Id</param>
  24. /// <param name="queryJson">查询参数</param>
  25. /// <returns></returns>
  26. public IEnumerable<DataBaseBackupEntity> GetList(string dataBaseLinkId, string queryJson)
  27. {
  28. var expression = LinqExtensions.True<DataBaseBackupEntity>();
  29. if (!string.IsNullOrEmpty(dataBaseLinkId))
  30. {
  31. expression = expression.And(t => t.DatabaseLinkId == dataBaseLinkId);
  32. }
  33. var queryParam = queryJson.ToJObject();
  34. //查询条件
  35. if (!queryParam["condition"].IsEmpty() && !queryParam["keyword"].IsEmpty())
  36. {
  37. string condition = queryParam["condition"].ToString();
  38. string keyword = queryParam["keyword"].ToString();
  39. switch (condition)
  40. {
  41. case "EnCode": //计划编号
  42. expression = expression.And(t => t.EnCode.Contains(keyword));
  43. break;
  44. case "FullName": //计划名称
  45. expression = expression.And(t => t.FullName.Contains(keyword));
  46. break;
  47. default:
  48. break;
  49. }
  50. }
  51. return this.BaseRepository().IQueryable(expression).OrderByDescending(t => t.CreateDate).ToList();
  52. }
  53. /// <summary>
  54. /// 库备份文件路径列表
  55. /// </summary>
  56. /// <param name="databaseBackupId">计划Id</param>
  57. /// <returns></returns>
  58. public IEnumerable<DataBaseBackupEntity> GetPathList(string databaseBackupId)
  59. {
  60. return this.BaseRepository().IQueryable(t => t.ParentId == databaseBackupId).OrderByDescending(t => t.CreateDate).ToList();
  61. }
  62. /// <summary>
  63. /// 库备份实体
  64. /// </summary>
  65. /// <param name="keyValue">主键值</param>
  66. /// <returns></returns>
  67. public DataBaseBackupEntity GetEntity(string keyValue)
  68. {
  69. return this.BaseRepository().FindEntity(keyValue);
  70. }
  71. #endregion
  72. #region 提交数据
  73. /// <summary>
  74. /// 删除库备份
  75. /// </summary>
  76. /// <param name="keyValue">主键</param>
  77. public void RemoveForm(string keyValue)
  78. {
  79. this.BaseRepository().Delete(keyValue);
  80. }
  81. /// <summary>
  82. /// 保存库备份表单(新增、修改)
  83. /// </summary>
  84. /// <param name="keyValue">主键值</param>
  85. /// <param name="dataBaseBackupEntity">库备份实体</param>
  86. /// <returns></returns>
  87. public void SaveForm(string keyValue, DataBaseBackupEntity dataBaseBackupEntity)
  88. {
  89. if (!string.IsNullOrEmpty(keyValue))
  90. {
  91. dataBaseBackupEntity.Modify(keyValue);
  92. this.BaseRepository().Update(dataBaseBackupEntity);
  93. }
  94. else
  95. {
  96. dataBaseBackupEntity.Create();
  97. this.BaseRepository().Insert(dataBaseBackupEntity);
  98. }
  99. }
  100. #endregion
  101. }
  102. }