Database Provider düzeltmeler

This commit is contained in:
Sedat ÖZTÜRK 2025-06-11 09:44:27 +03:00
parent c0314af796
commit 14e7282d6c
22 changed files with 35 additions and 52 deletions

View file

@ -17,6 +17,7 @@ public class TXTFileGenerator : IFileGenerator, ITransientDependency
var sb = new StringBuilder(); var sb = new StringBuilder();
table.TabloDegerleri.ForEach(row => table.TabloDegerleri.ForEach(row =>
sb.AppendLine(string.Join('\t', table.TabloSutunlari.Select(col => row.GetValueOrDefault(col.SutunAdi))))); sb.AppendLine(string.Join('\t', table.TabloSutunlari.Select(col => row.GetValueOrDefault(col.SutunAdi)))));
return Encoding.UTF8.GetBytes(sb.ToString());
return await Task.FromResult(Encoding.UTF8.GetBytes(sb.ToString()));
} }
} }

View file

@ -26,7 +26,8 @@ public class XLSFileGenerator : IFileGenerator, ITransientDependency
using var stream = new MemoryStream(); using var stream = new MemoryStream();
workbook.SaveAs(stream); workbook.SaveAs(stream);
stream.Close(); stream.Close();
return stream.ToArray();
return await Task.FromResult(stream.ToArray());
} }
private void AddSheet(XLWorkbook workbook, string sheetName, MailTemplateTableModel table) private void AddSheet(XLWorkbook workbook, string sheetName, MailTemplateTableModel table)

View file

@ -1,7 +1,6 @@
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.SettingManagement.EntityFrameworkCore; using Volo.Abp.SettingManagement.EntityFrameworkCore;

View file

@ -1,5 +1,4 @@
using Kurs.Languages; using Kurs.Languages;
using Kurs.Notifications;
using Kurs.Notifications.Application; using Kurs.Notifications.Application;
using Kurs.Settings; using Kurs.Settings;
using Volo.Abp.Account; using Volo.Abp.Account;

View file

@ -1,6 +1,4 @@
using Volo.Abp.Identity; using Volo.Abp.Threading;
using Volo.Abp.ObjectExtending;
using Volo.Abp.Threading;
namespace Kurs.Platform; namespace Kurs.Platform;

View file

@ -1,6 +1,5 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Kurs.Platform.Charts.Dto; using Kurs.Platform.Charts.Dto;

View file

@ -34,7 +34,6 @@ public class ListFormSelectAppService : PlatformAppService, IListFormSelectAppSe
private readonly string userId; private readonly string userId;
private readonly string[] roleIds; private readonly string[] roleIds;
private readonly string cultureName; private readonly string cultureName;
private readonly string cultureNameDefault;
public ListFormSelectAppService( public ListFormSelectAppService(
IRepository<ListForm, Guid> listFormRepository, IRepository<ListForm, Guid> listFormRepository,
@ -66,7 +65,6 @@ public class ListFormSelectAppService : PlatformAppService, IListFormSelectAppSe
userId = currentUser.Name; userId = currentUser.Name;
roleIds = currentUser.Roles; roleIds = currentUser.Roles;
cultureName = CultureInfo.CurrentUICulture.Name; cultureName = CultureInfo.CurrentUICulture.Name;
cultureNameDefault = PlatformConsts.DefaultLanguage;
} }
private List<dynamic> SetGroupItems( private List<dynamic> SetGroupItems(

View file

@ -1,5 +1,4 @@
using Kurs.Languages; using Kurs.Languages;
using Kurs.Notifications;
using Kurs.Notifications.Application; using Kurs.Notifications.Application;
using Kurs.Settings; using Kurs.Settings;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;

View file

@ -8,6 +8,7 @@ using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.VirtualFileSystem; using Volo.Abp.VirtualFileSystem;
using static Kurs.Settings.SettingsConsts;
namespace Kurs.Platform.DbMigrator; namespace Kurs.Platform.DbMigrator;
@ -27,7 +28,7 @@ public class PlatformDbMigratorModule : AbpModule
Configure<AbpDistributedCacheOptions>(options => { options.KeyPrefix = "Platform:"; }); Configure<AbpDistributedCacheOptions>(options => { options.KeyPrefix = "Platform:"; });
var configuration = context.Services.GetConfiguration(); var configuration = context.Services.GetConfiguration();
var connectionString = configuration.GetConnectionString(PlatformConsts.DefaultDatabaseProvider); var connectionString = configuration.GetConnectionString(DefaultDatabaseProvider);
Configure<AbpDbConnectionOptions>(options => Configure<AbpDbConnectionOptions>(options =>
{ {

View file

@ -3,6 +3,7 @@ using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using Kurs.Languages.Languages; using Kurs.Languages.Languages;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using static Kurs.Settings.SettingsConsts;
namespace Kurs.Platform; namespace Kurs.Platform;
@ -16,13 +17,6 @@ public static class PlatformConsts
public const string DefaultLanguage = LanguageCodes.En; public const string DefaultLanguage = LanguageCodes.En;
public const string React = "UI"; public const string React = "UI";
public const char MultiValueDelimiter = '|'; public const char MultiValueDelimiter = '|';
public const string DefaultDatabaseProvider = DatabaseProvider.SqlServer;
public static class DatabaseProvider
{
public const string SqlServer = "SqlServer";
public const string PostgreSql = "PostgreSql";
}
public static class Prefix public static class Prefix
{ {

View file

@ -15,6 +15,8 @@ public class PropertyTemplateContentContributor : ITemplateContentContributor, I
public virtual async Task<string> GetOrNullAsync(TemplateContentContributorContext context) public virtual async Task<string> GetOrNullAsync(TemplateContentContributorContext context)
{ {
return context.TemplateDefinition.Properties.GetValueOrDefault(PropertyContentPropertyName, null)?.ToString(); return await Task.FromResult(
context.TemplateDefinition.Properties.GetValueOrDefault(PropertyContentPropertyName, null)?.ToString()
);
} }
} }

View file

@ -16,5 +16,6 @@ public class SqlWorker : BackgroundWorkerBase
Logger.LogInformation("Executed SqlWorker..!"); Logger.LogInformation("Executed SqlWorker..!");
await Task.Yield();
} }
} }

View file

@ -2,7 +2,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Kurs.Platform.Enums; using Kurs.Platform.Enums;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using static Kurs.Platform.PlatformConsts;
namespace Kurs.Platform.Entities; namespace Kurs.Platform.Entities;

View file

@ -10,11 +10,9 @@ using Kurs.Platform.ListForms;
using Kurs.Platform.Localization; using Kurs.Platform.Localization;
using Microsoft.Extensions.Localization; using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Primitives; using Microsoft.Extensions.Primitives;
using Volo.Abp;
using Volo.Abp.ObjectMapping; using Volo.Abp.ObjectMapping;
using Volo.Abp.Settings; using Volo.Abp.Settings;
using Volo.Abp.Users; using Volo.Abp.Users;
using static Kurs.Platform.PlatformConsts;
namespace Kurs.Platform.Queries; namespace Kurs.Platform.Queries;

View file

@ -23,6 +23,7 @@ using Volo.Abp.TenantManagement;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using IdentityRole = Volo.Abp.Identity.IdentityRole; using IdentityRole = Volo.Abp.Identity.IdentityRole;
using IdentityUser = Volo.Abp.Identity.IdentityUser; using IdentityUser = Volo.Abp.Identity.IdentityUser;
using static Kurs.Settings.SettingsConsts;
namespace Kurs.Platform.Migrations; namespace Kurs.Platform.Migrations;
@ -66,7 +67,7 @@ public class DatabaseMigrationEventHandler :
IPermissionGrantRepository permissionGrantRepository, IPermissionGrantRepository permissionGrantRepository,
ITenantRepository tenantRepository) ITenantRepository tenantRepository)
{ {
DatabaseName = PlatformConsts.DefaultDatabaseProvider; DatabaseName = DefaultDatabaseProvider;
CurrentTenant = currentTenant; CurrentTenant = currentTenant;
UnitOfWorkManager = unitOfWorkManager; UnitOfWorkManager = unitOfWorkManager;

View file

@ -17,7 +17,7 @@ using Volo.Abp.PermissionManagement.EntityFrameworkCore;
using Volo.Abp.TenantManagement; using Volo.Abp.TenantManagement;
using Volo.Abp.TenantManagement.EntityFrameworkCore; using Volo.Abp.TenantManagement.EntityFrameworkCore;
using Kurs.Notifications.EntityFrameworkCore; using Kurs.Notifications.EntityFrameworkCore;
using static Kurs.Platform.PlatformConsts; using static Kurs.Settings.SettingsConsts;
namespace Kurs.Platform.EntityFrameworkCore; namespace Kurs.Platform.EntityFrameworkCore;

View file

@ -3,6 +3,7 @@ using System.IO;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design; using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using static Kurs.Settings.SettingsConsts;
namespace Kurs.Platform.EntityFrameworkCore; namespace Kurs.Platform.EntityFrameworkCore;
@ -18,15 +19,15 @@ public class PlatformDbContextFactory : IDesignTimeDbContextFactory<PlatformDbCo
var builder = new DbContextOptionsBuilder<PlatformDbContext>(); var builder = new DbContextOptionsBuilder<PlatformDbContext>();
switch (PlatformConsts.DefaultDatabaseProvider) switch (DefaultDatabaseProvider)
{ {
case PlatformConsts.DatabaseProvider.PostgreSql: case DatabaseProvider.PostgreSql:
//AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); // PGSQL //AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); // PGSQL
builder.UseNpgsql(configuration.GetConnectionString("PostgreSQL")); builder.UseNpgsql(configuration.GetConnectionString(DefaultDatabaseProvider));
break; break;
case PlatformConsts.DatabaseProvider.SqlServer: case DatabaseProvider.SqlServer:
builder.UseSqlServer(configuration.GetConnectionString("SqlServer")); builder.UseSqlServer(configuration.GetConnectionString(DefaultDatabaseProvider));
break; break;
default: default:

View file

@ -15,6 +15,7 @@ using Volo.Abp.Modularity;
using Volo.Abp.OpenIddict.EntityFrameworkCore; using Volo.Abp.OpenIddict.EntityFrameworkCore;
using Volo.Abp.PermissionManagement.EntityFrameworkCore; using Volo.Abp.PermissionManagement.EntityFrameworkCore;
using Volo.Abp.TenantManagement.EntityFrameworkCore; using Volo.Abp.TenantManagement.EntityFrameworkCore;
using static Kurs.Settings.SettingsConsts;
namespace Kurs.Platform.EntityFrameworkCore; namespace Kurs.Platform.EntityFrameworkCore;
@ -55,13 +56,13 @@ public class PlatformEntityFrameworkCoreModule : AbpModule
{ {
/* The main point to change your DBMS dynamically. */ /* The main point to change your DBMS dynamically. */
switch (PlatformConsts.DefaultDatabaseProvider) switch (DefaultDatabaseProvider)
{ {
case PlatformConsts.DatabaseProvider.SqlServer: case DatabaseProvider.SqlServer:
options.UseSqlServer(); options.UseSqlServer();
break; break;
case PlatformConsts.DatabaseProvider.PostgreSql: case DatabaseProvider.PostgreSql:
options.UseNpgsql(); options.UseNpgsql();
break; break;

View file

@ -20,7 +20,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Hangfire.PostgreSql" Version="1.20.10" /> <PackageReference Include="Hangfire.PostgreSql" Version="1.20.10" />
<PackageReference Include="Hangfire.SqlServer" Version="1.8.17" /> <PackageReference Include="Hangfire.SqlServer" Version="1.8.14" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" /> <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="9.0.0" /> <PackageReference Include="Serilog.Settings.Configuration" Version="9.0.0" />

View file

@ -16,7 +16,6 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Extensions.DependencyInjection; using Microsoft.AspNetCore.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Caching.StackExchangeRedis; using Microsoft.Extensions.Caching.StackExchangeRedis;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
@ -48,6 +47,7 @@ using Volo.Abp.Swashbuckle;
using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.UI.Navigation.Urls;
using Volo.Abp.VirtualFileSystem; using Volo.Abp.VirtualFileSystem;
using static Kurs.Platform.PlatformConsts; using static Kurs.Platform.PlatformConsts;
using static Kurs.Settings.SettingsConsts;
namespace Kurs.Platform; namespace Kurs.Platform;
@ -307,10 +307,10 @@ public class PlatformHttpApiHostModule : AbpModule
{ {
case DatabaseProvider.PostgreSql: case DatabaseProvider.PostgreSql:
config.UsePostgreSqlStorage(c => config.UsePostgreSqlStorage(c =>
c.UseNpgsqlConnection(configuration.GetConnectionString("PostgreSQL"))); c.UseNpgsqlConnection(configuration.GetConnectionString(DefaultDatabaseProvider)));
break; break;
case DatabaseProvider.SqlServer: case DatabaseProvider.SqlServer:
config.UseSqlServerStorage(configuration.GetConnectionString("SqlServer")); config.UseSqlServerStorage(configuration.GetConnectionString(DefaultDatabaseProvider));
break; break;
default: default:
throw new InvalidOperationException("Unsupported database provider configured for Hangfire."); throw new InvalidOperationException("Unsupported database provider configured for Hangfire.");

View file

@ -8,6 +8,7 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Serilog; using Serilog;
using Serilog.Sinks.PostgreSQL; using Serilog.Sinks.PostgreSQL;
using static Kurs.Settings.SettingsConsts;
namespace Kurs.Platform; namespace Kurs.Platform;
@ -35,11 +36,11 @@ public class Program
var loggerConfig = new LoggerConfiguration() var loggerConfig = new LoggerConfiguration()
.MinimumLevel.Information(); .MinimumLevel.Information();
switch (PlatformConsts.DefaultDatabaseProvider) switch (DefaultDatabaseProvider)
{ {
case PlatformConsts.DatabaseProvider.PostgreSql: case DatabaseProvider.PostgreSql:
loggerConfig = loggerConfig.WriteTo.PostgreSQL( loggerConfig = loggerConfig.WriteTo.PostgreSQL(
connectionString: configuration.GetConnectionString("PostgreSQL"), connectionString: configuration.GetConnectionString(DefaultDatabaseProvider),
tableName: PlatformConsts.DbTablePrefix + "LogEntry", tableName: PlatformConsts.DbTablePrefix + "LogEntry",
columnOptions: columnWriters, columnOptions: columnWriters,
needAutoCreateTable: true, needAutoCreateTable: true,
@ -47,9 +48,9 @@ public class Program
); );
break; break;
case PlatformConsts.DatabaseProvider.SqlServer: case DatabaseProvider.SqlServer:
loggerConfig = loggerConfig.WriteTo.MSSqlServer( loggerConfig = loggerConfig.WriteTo.MSSqlServer(
connectionString: configuration.GetConnectionString("SqlServer"), connectionString: configuration.GetConnectionString(DefaultDatabaseProvider),
tableName: PlatformConsts.DbTablePrefix + "LogEntry", tableName: PlatformConsts.DbTablePrefix + "LogEntry",
autoCreateSqlTable: true, autoCreateSqlTable: true,
columnOptions: new Serilog.Sinks.MSSqlServer.ColumnOptions() columnOptions: new Serilog.Sinks.MSSqlServer.ColumnOptions()

View file

@ -1,10 +0,0 @@
using System;
namespace Kurs.Platform.Models.Test;
public class TestModel
{
public string? Name { get; set; }
public DateTime BirthDate { get; set; }
}