using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Web.Mvc; using Abp.Application.Services.Dto; using Abp.Auditing; using Abp.Authorization; using Abp.Domain.Repositories; using Abp.Runtime.Caching; using WePlatform.BaseInfo; using WePlatform.BaseSystem.AttachFile.Dto; using WePlatform.CommonManager.AttachFiles; using IwbZero.AppServiceBase; using WePlatform.Configuration; namespace WePlatform.BaseSystem.AttachFile { [AbpAuthorize] public class AttachFilesAppService : IwbAsyncCrudAppService , IAttachFilesAppService { public AttachFilesAppService( ICacheManager cacheManager, IRepository repository) : base(repository, "AttachNo") { CacheManager = cacheManager; } protected override bool KeyIsAuto { get; set; } = true; #region GetSelect [DisableAuditing] public override async Task> GetSelectList() { var list = await Repository.GetAllListAsync(); var sList = new List { new SelectListItem { Text = @"请选择...", Value = "", Selected = true } }; foreach (var l in list) { sList.Add(new SelectListItem { Text = l.AttachNo, Value = l.FileTitle }); } return sList; } [DisableAuditing] public override async Task GetSelectStr() { var list = await Repository.GetAllListAsync(); string str = ""; foreach (var l in list) { str += $""; } return str; } [DisableAuditing] public async Task> GetTableSelectList(string tableName, string colName) { var list = await Repository.GetAllListAsync(a => a.TableName == tableName && a.ColumnName == colName); var sList = new List { new SelectListItem { Text = @"请选择...", Value = "", Selected = true } }; foreach (var l in list) { sList.Add(new SelectListItem { Text = l.AttachNo, Value = l.FileTitle }); } return sList; } [DisableAuditing] public async Task GetTableSelectStr(string tableName, string colName) { var list = await Repository.GetAllListAsync(a => a.TableName == tableName && a.ColumnName == colName); string str = ""; foreach (var l in list) { str += $""; } return str; } #endregion #region CURD /// /// 上传附件 /// /// /// [DisableAuditing] public Task FileUpload(AttachFileCreateDto input) { return AttachFileManager.FileUpload(input); } /// /// 查询附件 /// /// /// public async Task> QueryAttaches(QueryAttachDto input) { var entities = await Repository.GetAllListAsync(a => a.TableName == input.TableName && a.ColumnName == input.ColName && a.SourceKey == input.Key); return entities.Select(MapToEntityDto).ToList(); } /// /// 查询附件 /// /// /// public async Task QueryAttach(QueryAttachDto input) { var entity = await Repository.FirstOrDefaultAsync(a => a.TableName == input.TableName && a.ColumnName == input.ColName && a.SourceKey == input.Key); return MapToEntityDto(entity); } [DisableAuditing] public override async Task> GetAll(IwbPagedRequestDto input) { CheckGetAllPermission(); var query = CreateFilteredQuery(input); query = ApplyFilter(query, input); var totalCount = await AsyncQueryableExecuter.CountAsync(query); query = ApplySorting(query, input); query = ApplyPaging(query, input); var entities = await AsyncQueryableExecuter.ToListAsync(query); var dtos = new PagedResultDto( totalCount, entities.Select(MapToEntityDto).ToList() ); return dtos; } #endregion } }