Browse Source

create AuditLogExcelFile

pull/22982/head
SALİH ÖZKARA 8 months ago
parent
commit
b39cfc3a54
  1. 9
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/AuditLogExcelFileConsts.cs
  2. 27
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AuditLogExcelFile.cs
  3. 15
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/IAuditLogExcelFileRepository.cs
  4. 2
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContext.cs
  5. 7
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContextModelBuilderExtensions.cs
  6. 1
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingEntityFrameworkCoreModule.cs
  7. 26
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogExcelFileRepository.cs
  8. 2
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/IAuditLoggingDbContext.cs
  9. 5
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbContextExtensions.cs
  10. 1
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbModule.cs
  11. 2
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoDbContext.cs
  12. 2
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/IAuditLoggingMongoDbContext.cs
  13. 23
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogExcelFileRepository.cs

9
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/AuditLogExcelFileConsts.cs

@ -0,0 +1,9 @@
namespace Volo.Abp.AuditLogging;
public static class AuditLogExcelFileConsts
{
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxFileNameLength { get; set; } = 256;
}

27
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AuditLogExcelFile.cs

@ -0,0 +1,27 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace Volo.Abp.AuditLogging;
public class AuditLogExcelFile : CreationAuditedEntity<Guid>, IMultiTenant
{
public virtual Guid? TenantId { get; protected set; }
public virtual string FileName { get; protected set; }
protected AuditLogExcelFile()
{
}
public AuditLogExcelFile(
Guid id,
string fileName,
Guid? tenantId = null,
Guid? creatorId = null) : base(id)
{
FileName = Check.NotNullOrWhiteSpace(fileName, nameof(fileName), AuditLogExcelFileConsts.MaxFileNameLength);
TenantId = tenantId;
CreatorId = creatorId;
}
}

15
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/IAuditLogExcelFileRepository.cs

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
namespace Volo.Abp.AuditLogging;
public interface IAuditLogExcelFileRepository : IRepository<AuditLogExcelFile, Guid>
{
Task<List<AuditLogExcelFile>> GetListCreationTimeBeforeAsync(
DateTime creationTimeBefore,
int maxResultCount = 50,
CancellationToken cancellationToken = default);
}

2
modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContext.cs

@ -9,6 +9,8 @@ public class AbpAuditLoggingDbContext : AbpDbContext<AbpAuditLoggingDbContext>,
{
public DbSet<AuditLog> AuditLogs { get; set; }
public DbSet<AuditLogExcelFile> AuditLogExcelFiles { get; set; }
public AbpAuditLoggingDbContext(DbContextOptions<AbpAuditLoggingDbContext> options)
: base(options)
{

7
modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContextModelBuilderExtensions.cs

@ -103,6 +103,13 @@ public static class AbpAuditLoggingDbContextModelBuilderExtensions
b.ApplyObjectExtensionMappings();
});
builder.Entity<AuditLogExcelFile>(b =>
{
b.ToTable(AbpAuditLoggingDbProperties.DbTablePrefix + "AuditLogExcelFiles", AbpAuditLoggingDbProperties.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.FileName).HasMaxLength(AuditLogExcelFileConsts.MaxFileNameLength).HasColumnName(nameof(AuditLogExcelFile.FileName));
});
builder.TryConfigureObjectExtensions<AbpAuditLoggingDbContext>();
}
}

1
modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingEntityFrameworkCoreModule.cs

@ -13,6 +13,7 @@ public class AbpAuditLoggingEntityFrameworkCoreModule : AbpModule
context.Services.AddAbpDbContext<AbpAuditLoggingDbContext>(options =>
{
options.AddRepository<AuditLog, EfCoreAuditLogRepository>();
options.AddRepository<AuditLogExcelFile, EfCoreAuditLogExcelFileRepository>();
});
}
}

26
modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogExcelFileRepository.cs

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
namespace Volo.Abp.AuditLogging.EntityFrameworkCore;
public class EfCoreAuditLogExcelFileRepository : EfCoreRepository<IAuditLoggingDbContext, AuditLogExcelFile, Guid>, IAuditLogExcelFileRepository
{
public EfCoreAuditLogExcelFileRepository(IDbContextProvider<IAuditLoggingDbContext> dbContextProvider) : base(dbContextProvider)
{
}
public async Task<List<AuditLogExcelFile>> GetListCreationTimeBeforeAsync(
DateTime creationTimeBefore,
int maxResultCount = 50,
CancellationToken cancellationToken = default)
{
var queryable = await GetQueryableAsync();
return await queryable.Where(x => x.CreationTime < creationTimeBefore).Take(maxResultCount).ToListAsync(cancellationToken);
}
}

2
modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/IAuditLoggingDbContext.cs

@ -8,4 +8,6 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore;
public interface IAuditLoggingDbContext : IEfCoreDbContext
{
DbSet<AuditLog> AuditLogs { get; }
DbSet<AuditLogExcelFile> AuditLogExcelFiles { get; }
}

5
modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbContextExtensions.cs

@ -13,5 +13,10 @@ public static class AbpAuditLoggingMongoDbContextExtensions
{
b.CollectionName = AbpAuditLoggingDbProperties.DbTablePrefix + "AuditLogs";
});
builder.Entity<AuditLogExcelFile>(b =>
{
b.CollectionName = AbpAuditLoggingDbProperties.DbTablePrefix + "AuditLogExcelFiles";
});
}
}

1
modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbModule.cs

@ -13,6 +13,7 @@ public class AbpAuditLoggingMongoDbModule : AbpModule
context.Services.AddMongoDbContext<AuditLoggingMongoDbContext>(options =>
{
options.AddRepository<AuditLog, MongoAuditLogRepository>();
options.AddRepository<AuditLogExcelFile, MongoAuditLogExcelFileRepository>();
});
}
}

2
modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoDbContext.cs

@ -9,6 +9,8 @@ public class AuditLoggingMongoDbContext : AbpMongoDbContext, IAuditLoggingMongoD
{
public IMongoCollection<AuditLog> AuditLogs => Collection<AuditLog>();
public IMongoCollection<AuditLogExcelFile> AuditLogExcelFiles => Collection<AuditLogExcelFile>();
protected override void CreateModel(IMongoModelBuilder modelBuilder)
{
base.CreateModel(modelBuilder);

2
modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/IAuditLoggingMongoDbContext.cs

@ -8,4 +8,6 @@ namespace Volo.Abp.AuditLogging.MongoDB;
public interface IAuditLoggingMongoDbContext : IAbpMongoDbContext
{
IMongoCollection<AuditLog> AuditLogs { get; }
IMongoCollection<AuditLogExcelFile> AuditLogExcelFiles { get; }
}

23
modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogExcelFileRepository.cs

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using MongoDB.Driver.Linq;
using Volo.Abp.Domain.Repositories.MongoDB;
using Volo.Abp.MongoDB;
namespace Volo.Abp.AuditLogging.MongoDB;
public class MongoAuditLogExcelFileRepository : MongoDbRepository<IAuditLoggingMongoDbContext, AuditLogExcelFile, Guid>, IAuditLogExcelFileRepository
{
public MongoAuditLogExcelFileRepository(IMongoDbContextProvider<IAuditLoggingMongoDbContext> dbContextProvider) : base(dbContextProvider)
{
}
public async Task<List<AuditLogExcelFile>> GetListCreationTimeBeforeAsync(DateTime creationTimeBefore, int maxResultCount = 50, CancellationToken cancellationToken = default)
{
var queryable = await GetQueryableAsync();
return await queryable.Where(x => x.CreationTime < creationTimeBefore).Take(maxResultCount).ToListAsync(cancellationToken);
}
}
Loading…
Cancel
Save