public async Task <ApiResponse <PagedResult <JobsListItem> > > GetJobs(JobsGetListRequest request) { using (var scope = GlobalServices.Container.BeginLifetimeScope()) { var repository = scope.Resolve <ICloudSpeedRepository>(); var paramMap = request.ToParamMapDTO(); var total = await repository.CountFileJobs(paramMap); var entities = await repository.GetFileJobs(paramMap, request.Skip, request.Limit); var result = entities.Select(entity => new JobsListItem { Id = entity.Id, Cid = entity.Cid, JobId = entity.JobId, Status = entity.Status.ToString(), Error = entity.Error, Created = entity.Created, Updated = entity.Updated, }).ToList().AsEnumerable(); foreach (var item in result) { var fileCid = await repository.GetFileCidsByCid(item.Cid); var fileName = await repository.GetFileName(fileCid.Id); var path = _uploadSetting.GetStoragePath(fileCid.Id); var mimeType = fileName.GetMimeType(); item.FileName = fileName; item.Format = mimeType; item.FileSize = new FileInfo(path).ToFileSize(); } return(ApiResponse.Ok(request.ToPagedResult(result, total))); } }
public async Task <IActionResult> GetList([FromBody] JobsGetListRequest request) { var data = await _JobsManager.GetJobs(request); return(Result(data)); }