Browse Source

Added project column

pull/13804/head
Salih 4 years ago
parent
commit
8cc3ece256
  1. 2
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Documents/DocumentDto.cs
  2. 3
      modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMapperProfile.cs
  3. 1
      modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml
  4. 4
      modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js
  5. 2
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/DocumentWithoutContent.cs
  6. 45
      modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Documents/EFCoreDocumentRepository.cs
  7. 47
      modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Documents/MongoDocumentRepository.cs

2
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Documents/DocumentDto.cs

@ -8,6 +8,8 @@ namespace Volo.Docs.Admin.Documents
public class DocumentDto : EntityDto<Guid>
{
public virtual Guid ProjectId { get; set; }
public virtual string ProjectName { get; set; }
public virtual string Name { get; set; }

3
modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMapperProfile.cs

@ -1,4 +1,5 @@
using AutoMapper;
using Volo.Abp.AutoMapper;
using Volo.Docs.Admin.Documents;
using Volo.Docs.Admin.Projects;
using Volo.Docs.Documents;
@ -11,7 +12,7 @@ namespace Volo.Docs.Admin
public DocsAdminApplicationAutoMapperProfile()
{
CreateMap<Project, ProjectDto>();
CreateMap<Document, DocumentDto>();
CreateMap<Document, DocumentDto>().Ignore(x => x.ProjectName);
CreateMap<DocumentWithoutContent, DocumentDto>();
}
}

1
modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml

@ -183,6 +183,7 @@
<thead>
<tr>
<th>@L["Actions"]</th>
<th>@L["ProjectName"]</th>
<th>@L["Name"]</th>
<th>@L["Version"]</th>
<th>@L["LanguageCode"]</th>

4
modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js

@ -79,6 +79,10 @@ $(function () {
],
},
},
{
target: 0,
data: 'projectName',
},
{
target: 1,
data: 'name',

2
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/DocumentWithoutContent.cs

@ -7,6 +7,8 @@ namespace Volo.Docs.Documents
public Guid Id { get; set; }
public virtual Guid ProjectId { get; set; }
public virtual string ProjectName { get; set; }
public virtual string Name { get; set; }

45
modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Documents/EFCoreDocumentRepository.cs

@ -67,23 +67,21 @@ namespace Volo.Docs.Documents
int skipCount = 0,
CancellationToken cancellationToken = default)
{
var query = ApplyFilterForGetAll(
var query =await ApplyFilterForGetAll(
await GetDbSetAsync(),
projectId: projectId,
name: name,
version: version,
languageCode: languageCode,
format: format,
fileName: fileName,
format: format,
creationTimeMin: creationTimeMin,
creationTimeMax: creationTimeMax,
lastUpdatedTimeMin: lastUpdatedTimeMin,
lastUpdatedTimeMax: lastUpdatedTimeMax,
lastSignificantUpdateTimeMin: lastSignificantUpdateTimeMin,
lastSignificantUpdateTimeMax: lastSignificantUpdateTimeMax,
lastCachedTimeMin: lastCachedTimeMin,
lastCachedTimeMax: lastCachedTimeMax
);
lastCachedTimeMin: lastCachedTimeMin, lastCachedTimeMax: lastCachedTimeMax);
query = query.OrderBy(string.IsNullOrWhiteSpace(sorting) ? nameof(Document.Name) : sorting);
return await query.PageBy(skipCount, maxResultCount).ToListAsync(GetCancellationToken(cancellationToken));
@ -109,23 +107,21 @@ namespace Volo.Docs.Documents
int skipCount = 0,
CancellationToken cancellationToken = default)
{
var query = ApplyFilterForGetAll(
var query = await ApplyFilterForGetAll(
await GetDbSetAsync(),
projectId: projectId,
name: name,
version: version,
languageCode: languageCode,
format: format,
fileName: fileName,
format: format,
creationTimeMin: creationTimeMin,
creationTimeMax: creationTimeMax,
lastUpdatedTimeMin: lastUpdatedTimeMin,
lastUpdatedTimeMax: lastUpdatedTimeMax,
lastSignificantUpdateTimeMin: lastSignificantUpdateTimeMin,
lastSignificantUpdateTimeMax: lastSignificantUpdateTimeMax,
lastCachedTimeMin: lastCachedTimeMin,
lastCachedTimeMax: lastCachedTimeMax
);
lastCachedTimeMin: lastCachedTimeMin, lastCachedTimeMax: lastCachedTimeMax);
return await query.LongCountAsync(GetCancellationToken(cancellationToken));
}
@ -153,7 +149,7 @@ namespace Volo.Docs.Documents
return await (await GetDbSetAsync()).Where(x => x.Id == id).SingleAsync(cancellationToken: GetCancellationToken(cancellationToken));
}
protected virtual IQueryable<DocumentWithoutContent> ApplyFilterForGetAll(
protected virtual async Task<IQueryable<DocumentWithoutContent>> ApplyFilterForGetAll(
IQueryable<Document> query,
Guid? projectId,
string name,
@ -200,19 +196,24 @@ namespace Volo.Docs.Documents
d => d.LastCachedTime.Date >= lastCachedTimeMin.Value.Date)
.WhereIf(lastCachedTimeMax.HasValue,
d => d.LastCachedTime.Date <= lastCachedTimeMax.Value.Date)
.Join( (await GetDbContextAsync()).Projects,
d => d.ProjectId,
p => p.Id,
(d, p) => new { d, p })
.Select(x => new DocumentWithoutContent
{
Id = x.Id,
ProjectId = x.ProjectId,
Name = x.Name,
Version = x.Version,
LanguageCode = x.LanguageCode,
FileName = x.FileName,
Format = x.Format,
CreationTime = x.CreationTime,
LastUpdatedTime = x.LastUpdatedTime,
LastSignificantUpdateTime = x.LastSignificantUpdateTime,
LastCachedTime = x.LastCachedTime
Id = x.d.Id,
ProjectId = x.d.ProjectId,
ProjectName = x.p.Name,
Name = x.d.Name,
Version = x.d.Version,
LanguageCode = x.d.LanguageCode,
FileName = x.d.FileName,
Format = x.d.Format,
CreationTime = x.d.CreationTime,
LastUpdatedTime = x.d.LastUpdatedTime,
LastSignificantUpdateTime = x.d.LastSignificantUpdateTime,
LastCachedTime = x.d.LastCachedTime
});
}
}

47
modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Documents/MongoDocumentRepository.cs

@ -88,22 +88,21 @@ namespace Volo.Docs.Documents
{
return await
ApplyFilterForGetAll(
(await ApplyFilterForGetAll(
await GetMongoQueryableAsync(cancellationToken),
projectId: projectId,
name: name,
version: version,
languageCode: languageCode,
format: format,
fileName: fileName,
format: format,
creationTimeMin: creationTimeMin,
creationTimeMax: creationTimeMax,
lastUpdatedTimeMin: lastUpdatedTimeMin,
lastUpdatedTimeMax: lastUpdatedTimeMax,
lastSignificantUpdateTimeMin: lastSignificantUpdateTimeMin,
lastSignificantUpdateTimeMax: lastSignificantUpdateTimeMax,
lastCachedTimeMin: lastCachedTimeMin,
lastCachedTimeMax: lastCachedTimeMax)
lastCachedTimeMin: lastCachedTimeMin, lastCachedTimeMax: lastCachedTimeMax))
.OrderBy(string.IsNullOrWhiteSpace(sorting) ? "name asc" : sorting).As<IMongoQueryable<DocumentWithoutContent>>()
.PageBy<DocumentWithoutContent, IMongoQueryable<DocumentWithoutContent>>(skipCount, maxResultCount)
.ToListAsync(GetCancellationToken(cancellationToken));
@ -132,22 +131,21 @@ namespace Volo.Docs.Documents
return await
ApplyFilterForGetAll(
(await ApplyFilterForGetAll(
await GetMongoQueryableAsync(cancellationToken),
projectId: projectId,
name: name,
version: version,
languageCode: languageCode,
format: format,
fileName: fileName,
format: format,
creationTimeMin: creationTimeMin,
creationTimeMax: creationTimeMax,
lastUpdatedTimeMin: lastUpdatedTimeMin,
lastUpdatedTimeMax: lastUpdatedTimeMax,
lastSignificantUpdateTimeMin: lastSignificantUpdateTimeMin,
lastSignificantUpdateTimeMax: lastSignificantUpdateTimeMax,
lastCachedTimeMin: lastCachedTimeMin,
lastCachedTimeMax: lastCachedTimeMax)
lastCachedTimeMin: lastCachedTimeMin, lastCachedTimeMax: lastCachedTimeMax))
.OrderBy(string.IsNullOrWhiteSpace(sorting) ? "name asc" : sorting).As<IMongoQueryable<Document>>()
.PageBy<Document, IMongoQueryable<Document>>(skipCount, maxResultCount)
.LongCountAsync(GetCancellationToken(cancellationToken));
@ -158,7 +156,7 @@ namespace Volo.Docs.Documents
return await (await GetMongoQueryableAsync(cancellationToken)).Where(x => x.Id == id).SingleAsync(GetCancellationToken(cancellationToken));
}
protected virtual IMongoQueryable<DocumentWithoutContent> ApplyFilterForGetAll(
protected virtual async Task<IMongoQueryable<DocumentWithoutContent>> ApplyFilterForGetAll(
IMongoQueryable<Document> query,
Guid? projectId,
string name,
@ -240,20 +238,25 @@ namespace Volo.Docs.Documents
{
query = query.Where(d => d.LastCachedTime.Date <= lastCachedTimeMax.Value.Date);
}
return query.Select(x => new DocumentWithoutContent
var join = query.Join(
(await GetDbContextAsync(cancellationToken)).Projects,
d => d.ProjectId,
p => p.Id,
(d, p) => new { Document = d, Project = p });
return join.Select(x => new DocumentWithoutContent
{
Id = x.Id,
ProjectId = x.ProjectId,
Name = x.Name,
Version = x.Version,
LanguageCode = x.LanguageCode,
FileName = x.FileName,
Format = x.Format,
CreationTime = x.CreationTime,
LastUpdatedTime = x.LastUpdatedTime,
LastSignificantUpdateTime = x.LastSignificantUpdateTime,
LastCachedTime = x.LastCachedTime
Id = x.Document.Id,
ProjectId = x.Document.ProjectId,
ProjectName = x.Project.Name,
Name = x.Document.Name,
Version = x.Document.Version,
LanguageCode = x.Document.LanguageCode,
FileName = x.Document.FileName,
Format = x.Document.Format,
CreationTime = x.Document.CreationTime,
LastUpdatedTime = x.Document.LastUpdatedTime,
LastSignificantUpdateTime = x.Document.LastSignificantUpdateTime,
LastCachedTime = x.Document.LastCachedTime
});
}
}

Loading…
Cancel
Save