|
- using System;
- using System.Linq;
- using Permission.Entity.Disk;
- using Permission.Entity.System;
- using Permission.Infrastructure.Repositories;
- using Permission.Service.DTO.ApiModels;
- using Permission.Service.IServices;
- using Permission.Utils.Validate;
-
- namespace Permission.Service.Services
- {
- public class DiskFolderService : IDiskFolderService
- {
- private readonly IBaseRepository<DiskFolder> _diskFolderRepository;
- private readonly IBaseRepository<DiskFile> _diskFileRepository;
- private readonly IBaseRepository<SysUser> _sysUserRepository;
-
- public DiskFolderService(IBaseRepository<DiskFolder> diskFolderRepository, IBaseRepository<SysUser> sysUserRepository, IBaseRepository<DiskFile> diskFileRepository)
- {
- this._diskFolderRepository = diskFolderRepository;
- this._sysUserRepository = sysUserRepository;
- this._diskFileRepository = diskFileRepository;
- }
-
- public bool AddModel(DiskFolder model)
- {
- try
- {
- model.GuidId = Guid.NewGuid().ToString();
- model.IsEnabled =true;
- model.DeleteMark = false;
- model.CreateTime = DateTime.Now;
- model.CreateUser = "admin";
- var res = _diskFolderRepository.Save(model);
- return res;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
-
- #region api
-
- public bool SaveFolderApi(DiskFolder model)
- {
- try
- {
- model.GuidId = Guid.NewGuid().ToString();
- model.FolderType = "0";
- model.FolderLevel = 0;
- model.FolderLength = 0;
- model.IsEnabled = true;
- model.DeleteMark = false;
- model.CreateTime = DateTime.Now;
- model.CreateUser = "admin";
- var res = _diskFolderRepository.Save(model);
- return res;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
-
- public bool EditFolderApi(int folderid, string newfoldername, int userid)
- {
- try
- {
- var file = _diskFolderRepository.Get(folderid);
- var username = _sysUserRepository.Get(userid).Account;
- file.FolderName = newfoldername;
- file.ModifyTime = DateTime.Now;
- file.ModifyUser = username;
- var res = _diskFolderRepository.Update(file);
- return res;
- }
- catch (Exception ex)
- {
- throw ex;
- };
- }
-
- public bool DeleteFolderApi(int folderid)
- {
- try
- {
- var folder = _diskFolderRepository.Get(folderid);
- var filelist =
- _diskFileRepository.LoadAll(
- f => f.UserId == folder.UserId && f.IsEnabled == true && f.DeleteMark == false&&f.FolderId== folder.Id).ToList();
- if (filelist.Any())
- {
- foreach (var file in filelist)
- {
- file.DeleteMark = true;
- folder.ModifyTime = DateTime.Now;
- _diskFileRepository.Update(file);
- }
- }
- folder.DeleteMark = true;
- folder.ModifyTime = DateTime.Now;
- var res = _diskFolderRepository.Update(folder);
- return res;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
-
- #endregion
-
-
- }
- }
|