飞星
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

116 行
3.7 KiB

  1. using System;
  2. using System.Linq;
  3. using Permission.Entity.Disk;
  4. using Permission.Entity.System;
  5. using Permission.Infrastructure.Repositories;
  6. using Permission.Service.DTO.ApiModels;
  7. using Permission.Service.IServices;
  8. using Permission.Utils.Validate;
  9. namespace Permission.Service.Services
  10. {
  11. public class DiskFolderService : IDiskFolderService
  12. {
  13. private readonly IBaseRepository<DiskFolder> _diskFolderRepository;
  14. private readonly IBaseRepository<DiskFile> _diskFileRepository;
  15. private readonly IBaseRepository<SysUser> _sysUserRepository;
  16. public DiskFolderService(IBaseRepository<DiskFolder> diskFolderRepository, IBaseRepository<SysUser> sysUserRepository, IBaseRepository<DiskFile> diskFileRepository)
  17. {
  18. this._diskFolderRepository = diskFolderRepository;
  19. this._sysUserRepository = sysUserRepository;
  20. this._diskFileRepository = diskFileRepository;
  21. }
  22. public bool AddModel(DiskFolder model)
  23. {
  24. try
  25. {
  26. model.GuidId = Guid.NewGuid().ToString();
  27. model.IsEnabled =true;
  28. model.DeleteMark = false;
  29. model.CreateTime = DateTime.Now;
  30. model.CreateUser = "admin";
  31. var res = _diskFolderRepository.Save(model);
  32. return res;
  33. }
  34. catch (Exception ex)
  35. {
  36. throw ex;
  37. }
  38. }
  39. #region api
  40. public bool SaveFolderApi(DiskFolder model)
  41. {
  42. try
  43. {
  44. model.GuidId = Guid.NewGuid().ToString();
  45. model.FolderType = "0";
  46. model.FolderLevel = 0;
  47. model.FolderLength = 0;
  48. model.IsEnabled = true;
  49. model.DeleteMark = false;
  50. model.CreateTime = DateTime.Now;
  51. model.CreateUser = "admin";
  52. var res = _diskFolderRepository.Save(model);
  53. return res;
  54. }
  55. catch (Exception ex)
  56. {
  57. throw ex;
  58. }
  59. }
  60. public bool EditFolderApi(int folderid, string newfoldername, int userid)
  61. {
  62. try
  63. {
  64. var file = _diskFolderRepository.Get(folderid);
  65. var username = _sysUserRepository.Get(userid).Account;
  66. file.FolderName = newfoldername;
  67. file.ModifyTime = DateTime.Now;
  68. file.ModifyUser = username;
  69. var res = _diskFolderRepository.Update(file);
  70. return res;
  71. }
  72. catch (Exception ex)
  73. {
  74. throw ex;
  75. };
  76. }
  77. public bool DeleteFolderApi(int folderid)
  78. {
  79. try
  80. {
  81. var folder = _diskFolderRepository.Get(folderid);
  82. var filelist =
  83. _diskFileRepository.LoadAll(
  84. f => f.UserId == folder.UserId && f.IsEnabled == true && f.DeleteMark == false&&f.FolderId== folder.Id).ToList();
  85. if (filelist.Any())
  86. {
  87. foreach (var file in filelist)
  88. {
  89. file.DeleteMark = true;
  90. folder.ModifyTime = DateTime.Now;
  91. _diskFileRepository.Update(file);
  92. }
  93. }
  94. folder.DeleteMark = true;
  95. folder.ModifyTime = DateTime.Now;
  96. var res = _diskFolderRepository.Update(folder);
  97. return res;
  98. }
  99. catch (Exception ex)
  100. {
  101. throw ex;
  102. }
  103. }
  104. #endregion
  105. }
  106. }