using CloudBuilder.Core.DatabaseAccessor; using CloudBuilder.Core.Policy; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Transactions; using CloudBuilder.Core.Service; using CloudBuilder.Master.Service; using CloudBuilder.Core.DatabaseAccessor.Entity; using Microsoft.AspNetCore.Http; using CloudBuilder.Master.Entity; using System; using CloudBuilder.Master.Data; using CloudBuilder.Master.SearchCriteria; namespace CloudBuilder.Web.Entry.Controllers.Master { [Authorize(AuthorizePolicy.PERMISSION)] [ApiController] [Route("[controller]/[action]")] public class DmsFileController : ControllerBase { private readonly IApplicationService service; private readonly IDmsFileService dmsFileService; public DmsFileController(IApplicationService service, IDmsFileService dmsFileService) { this.service = service; this.dmsFileService= dmsFileService; } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindByKey(Int64 key) { try { var result = dmsFileService.FindByKey(key); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindBySearchCriteria(DmsFileSearchCriteria criteria) { try { var result = dmsFileService.FindBySearchCriteria(criteria); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindDatasBySearchCriteria(DmsFileSearchCriteria criteria) { try { var result = dmsFileService.FindDatasBySearchCriteria(criteria); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindDeleteLogBySearchCriteria(DmsFileSearchCriteria criteria) { try { var result = dmsFileService.FindDeleteLogBySearchCriteria(criteria); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindFamilyBySearchCriteria(DmsFileSearchCriteria criteria) { try { var result = dmsFileService.FindFamilyBySearchCriteria(criteria); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindDmsFileDeleteLogByKey(Int64 key) { try { var result = dmsFileService.FindDmsFileDeleteLogByKey(key); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Print")] [HttpPost] public dynamic PrintBySearchCriteria(DmsFileSearchCriteria criteria) { try { var result = dmsFileService.PrintBySearchCriteria(criteria); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Insert")] [HttpPost] [UnitOfWork] public dynamic Insert(DmsFileEntity data) { try { var result = dmsFileService.Insert(data); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Update")] [HttpPost] [UnitOfWork] public dynamic Update(DmsFileEntity data) { try { var result = dmsFileService.Update(data); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Delete")] [HttpPost] [UnitOfWork] public dynamic Delete(Int64 key){ try { dmsFileService.Delete(key); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Insert")] [HttpPost] [UnitOfWork] public dynamic RestoreDmsFile(Int64 key){ try { dmsFileService.RestoreDmsFile(key); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Delete")] [HttpPost] [UnitOfWork] public dynamic DeleteLog(Int64 key){ try { dmsFileService.DeleteLog(key); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Insert")] [HttpPost] [UnitOfWork] public dynamic CreateDmsFolder(DmsFileEntity dmsFile) { try { var result = dmsFileService.CreateDmsFolder(dmsFile); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Insert")] [HttpPost] [UnitOfWork] public dynamic DeleteFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile){ try { dmsFileService.DeleteFamilyDmsFolder(familyDmsFile); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Insert")] [HttpPost] [UnitOfWork] public dynamic CreateFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile){ try { dmsFileService.CreateFamilyDmsFolder(familyDmsFile); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Update")] [HttpPost] [UnitOfWork] public dynamic UpdateDmsFolder(DmsFileEntity dmsFile){ try { dmsFileService.UpdateDmsFolder(dmsFile); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindDmsFolders() { try { var result = dmsFileService.FindDmsFolders(); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindDmsFolderDeleteLogs() { try { var result = dmsFileService.FindDmsFolderDeleteLogs(); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindDmsFolderData() { try { var result = dmsFileService.FindDmsFolderData(); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Update")] [HttpPost] [UnitOfWork] public dynamic MoveDmsFolder(DmsFileEntity dmsFile){ try { dmsFileService.MoveDmsFolder(dmsFile); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Insert")] [HttpPost] [UnitOfWork] public dynamic UploadFile() { try { dmsFileService.UploadFile(); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Insert")] [HttpPost] [UnitOfWork] public dynamic UploadDmsFile() { try { dmsFileService.UploadDmsFile(); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindM3u8Path(Int64 fileId) { try { var result = dmsFileService.FindM3u8Path(fileId); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindSourceVideoPath(Int64 fileId) { try { var result = dmsFileService.FindSourceVideoPath(fileId); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindDeleteLogM3u8Path(Int64 fileId) { try { var result = dmsFileService.FindDeleteLogM3u8Path(fileId); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic DownloadFile(Int64 fileId) { try { var result = dmsFileService.DownloadFile(fileId); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic DownloadFilePreview(DmsFileEntity dmsFile) { try { var result = dmsFileService.DownloadFilePreview(dmsFile); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic DownloadFileCombine(string fileName) { try { var result = dmsFileService.DownloadFileCombine(fileName); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindFamilyDmsFolders() { try { var result = dmsFileService.FindFamilyDmsFolders(); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindFamilyDmsFoldersByFamilyName(string familyName) { try { var result = dmsFileService.FindFamilyDmsFoldersByFamilyName(familyName); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindDmsFolderMapByFolderName(string folderName) { try { var result = dmsFileService.FindDmsFolderMapByFolderName(folderName); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Find")] [HttpPost] public dynamic FindFolderNameParentByFolderName(string folderName) { try { var result = dmsFileService.FindFolderNameParentByFolderName(folderName); return result; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Insert")] [HttpPost] public dynamic CreateFamilyGroupFolder(FamilyGroupFolderEntity[] familyGroupFolder){ try { dmsFileService.CreateFamilyGroupFolder(familyGroupFolder); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } [PermissionOperate(name: "DmsFile", operate: "Delete")] [HttpPost] public dynamic DeleteFamilyGroupFolder(FamilyGroupFolderEntity[] familyGroupFolder){ try { dmsFileService.DeleteFamilyGroupFolder(familyGroupFolder); return string.Empty; } catch (ValidatedException vex) { return vex; } catch (Exception ex) { return new ServiceErrorException(ex); } } } }