DataBaseBackupService.cs 4.0 KB

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