Exemple #1
0
        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)));
            }
        }
Exemple #2
0
        public async Task <IActionResult> GetList([FromBody] JobsGetListRequest request)
        {
            var data = await _JobsManager.GetJobs(request);

            return(Result(data));
        }