Ölü kodlar kaldırıldı. Api tarafı için

This commit is contained in:
Sedat ÖZTÜRK 2026-08-21 22:27:59 +03:00
parent f744d18f83
commit 9e362f6671
376 changed files with 1659 additions and 2822 deletions

View file

@ -20,8 +20,8 @@ Primary principle:
Core stack:
- Backend: C# .NET 9 + ABP 9.x
- Frontend: React 18 + DevExtreme
- Backend: C# .NET 10 (C# 14) + ABP 10.x — kod standardı: `dotnet.instructions.md`
- Frontend: React 19 + DevExtreme
- Database: SQL Server (dynamic datasource support)
- Cache: Redis
- Background jobs: Hangfire + ABP Background Workers

View file

@ -0,0 +1,135 @@
# .NET / ABP Kod Standardı
Bu doküman `api/` altındaki tüm projeler için bağlayıcıdır. Platform davranışına dair
kurallar için `ai.instructions.md` esastır; çelişki olursa o dosya kazanır.
Standart derlemede zorlanır: `api/Directory.Build.props` analizörleri açar,
`api/.editorconfig` kural şiddetlerini tanımlar. Bu iki dosya standardın tek
kaynağıdır; proje dosyalarında tekrar edilmez.
## 1. Hedef sürümler
| Katman | Sürüm | Nerede tanımlı |
| --- | --- | --- |
| SDK | .NET 10 (`10.0.300`) | `api/global.json` |
| TargetFramework | `net10.0` | proje dosyaları |
| Dil | C# 14 (`LangVersion=latest`) | `api/common.props` |
| ABP | 10.0.0 | `Volo.Abp.*` paket referansları |
Sürüm yükseltmesi tek noktadan yapılır: `global.json` + `common.props` + paket sürümleri.
Proje dosyalarına TFM/LangVersion tekrar yazılmaz.
## 2. Nullable
`Directory.Build.props` içinde **çözüm geneli `Nullable` ayarı yapılmaz.** Sebebi
EF Core: kolonun zorunlu olup olmadığını, entity assembly'sinin nullable annotation
bağlamından türetir. Global bir `enable`/`annotations` anahtarı, bir sonraki
`dotnet ef migrations add` çağrısında tüm `string` özelliklerini sessizce NOT NULL
kolona çevirir — seeder'ın doldurmadığı her alan da o anda kırılır.
Kural:
- Nullable, proje bazında ve bilinçli olarak açılır (`<Nullable>enable</Nullable>`).
Şu an açık olanlar: `Sozsoft.Platform.Application`, `Sozsoft.Notifications.*`,
test projeleri.
- **Entity taşıyan projelerde** (`*.Domain`) nullable açılacaksa, aynı PR'da
`dotnet ef migrations add` çıktısı gözden geçirilir; şema değişikliği isteniyorsa
kabul edilir, istenmiyorsa kolon zorunluluğu `PlatformDbContext` içinde
`.IsRequired(false)` ile açıkça sabitlenir.
- Kolon zorunluluğu tercihen NRT'ye değil, `PlatformDbContext` yapılandırmasına
yazılır; böylece derleyici anahtarından bağımsız olur.
## 3. Ölü kod politikası
Aşağıdaki kurallar ihlal edilmiş kod merge edilmez:
| Kural | Anlamı |
| --- | --- |
| IDE0005 | Kullanılmayan `using` |
| IDE0051 | Çağrılmayan private üye |
| IDE0052 | Yazılıp hiç okunmayan private alan (kullanılmayan enjekte bağımlılık) |
| IDE0059 | Gereksiz değer ataması |
| IDE0161 | `namespace X;` (file-scoped) |
Tarama ve otomatik düzeltme (kalıcı yapılandırma gerektirmez):
```bash
# Rapor
dotnet build api/Sozsoft.Platform.sln --no-incremental \
-p:EnforceCodeStyleInBuild=true -p:GenerateDocumentationFile=true
# Düzeltme
dotnet format api/Sozsoft.Platform.sln --diagnostics IDE0005,IDE0161 --severity warn
```
> Kurallar `.editorconfig`'te `warning` seviyesindedir ve `EnforceCodeStyleInBuild`
> açık olduğu için normal `dotnet build` de bunları raporlar.
IDE0052 düzeltilirken alan ile birlikte **constructor parametresi de** silinir; yoksa
DI hâlâ gereksiz servisi çözer.
`CS0162` (erişilemez kod) `Directory.Build.props` içinde gerekçesiyle susturulmuştur:
veritabanı sağlayıcısı derleme zamanı sabiti olduğu için diğer sağlayıcının dalları
erişilemez görünür. Bu durum dışında erişilemez kod bırakılmaz.
Ek kurallar:
- Bir tip/dosya silinmeden önce **repo genelinde** (api + ui + configs) referans
taraması yapılır. DI ile çözülen tipler (AppService, Manager, Provider, Repository,
Seeder, Localizer, Notification sağlayıcıları) düz metin aramasında "referanssız"
görünür — bunlar yalnızca modül/DI kaydı incelendikten sonra silinir.
- Yorum satırına alınmış kod bloğu bırakılmaz; ihtiyaç varsa git geçmişinden alınır.
- "İleride lazım olur" gerekçesiyle kullanılmayan DTO/Input/Consts tutulmaz.
- `Migrations/` ve `*.g.cs` üretilmiş koddur, bu kuralların dışındadır.
## 4. Modern C# kullanımı (yeni kod)
- File-scoped namespace: `namespace Sozsoft.Platform.ListForms;`
- Primary constructor: `public class XAppService(IRepository<X, Guid> repo) : PlatformAppService`
— parametre doğrudan kullanılır, `private readonly ... = param;` şeklinde
tekrar tanımlanmaz.
- Koleksiyon ifadeleri (`[]`, `[.. items]`), `is not null`, `switch` ifadesi,
desen eşleme, `Index/Range`, hedefi belli `new()`.
- `out var`, tuple deconstruction; kullanılmayan çıktı için `_`.
- `async` metotlar `Async` ile biter ve `Task`/`Task<T>` döner; `async void` yasak.
ABP'de `ConfigureAwait` kullanılmaz.
- Biçim: `api/.editorconfig` geçerlidir (4 boşluk girinti, `using` blokları namespace
dışında ve System önce, dosya sonunda satır sonu, UTF-8 BOM).
## 5. ABP kuralları
- **Katman sınırı**: Domain.Shared → Domain → Application.Contracts → Application →
HttpApi → HttpApi.Host. Ters yönde referans verilmez; `EntityFrameworkCore` yalnızca
Domain'e bakar.
- **AppService**: `PlatformAppService`'ten türer, arayüzü Application.Contracts'ta
tanımlanır. Controller yazılmaz — ABP otomatik API üretir. Controller sadece ABP
konvansiyonunun karşılamadığı durumda (dosya indirme, harici webhook) eklenir.
- **Yetki**: her AppService/metot `[Authorize(PlatformConsts.AppCodes....)]` ile
korunur; izin adları `PermissionDefinitionProvider` içinde tanımlanır. Yetki
kontrolü koda gömülmez, izin adı sabitten okunur.
- **Tenant izolasyonu**: sorgular `ICurrentTenant` bağlamında çalışır; `IMultiTenant`
entity'lerde manuel `TenantId` filtresi yazılmaz, veri filtreleri devre dışı
bırakılacaksa (`ICurrentTenant.Change`, `IDataFilter`) gerekçe yorumla yazılır.
- **Repository**: özel sorgu gerekiyorsa Domain'de arayüz + EntityFrameworkCore'da
implementasyon. AppService içinde `DbContext` doğrudan kullanılmaz.
- **Dinamik SQL**: parametreli çalıştırılır; string birleştirme ile sorgu kurulmaz.
- **Mapping**: Mapperly (`[Mapper]` partial class) kullanılır; AutoMapper eklenmez.
RMG012 uyarısı "hedefte karşılığı olmayan alan" demektir; yeni mapper eklerken bu
uyarı bırakılmaz.
- **Localization**: kullanıcıya görünen metin koda gömülmez, `PlatformResource`
anahtarı üzerinden verilir.
- **Sabitler**: bağlantı dizesi, tenant id, anahtar/secret koda yazılmaz; konfigürasyon
veya `SettingDefinition` üzerinden okunur.
## 6. Değişiklik öncesi kontrol listesi
```bash
dotnet build api/Sozsoft.Platform.sln --no-incremental \
-p:EnforceCodeStyleInBuild=true -p:GenerateDocumentationFile=true # 0 hata, yeni IDE00xx yok
dotnet format api/Sozsoft.Platform.sln --verify-no-changes --diagnostics IDE0005,IDE0161 --severity warn
dotnet test api/test/Sozsoft.Platform.EntityFrameworkCore.Tests
```
> Not: EntityFrameworkCore testleri şu an SQLite şema oluşturmada
> (`nvarchar(max)` → `SQLite Error 1`) kırık; bu kırıklık bu standarttan önce de vardı
> ve ayrı bir iş olarak ele alınmalıdır.

View file

@ -1,5 +1,9 @@
<Project>
<Project>
<PropertyGroup>
<NoWarn>$(NoWarn);CS0162;CS8321;CS8618;CS8632</NoWarn>
<NoWarn>$(NoWarn);CS0162;CS8321;CS8618;CS8632;CS1591;CS1573;CS1572;CS1570;CS1574</NoWarn>
<LangVersion>latest</LangVersion>
<AnalysisLevel>latest</AnalysisLevel>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
</Project>

View file

@ -1,6 +1,6 @@
using Volo.Abp.Application;
using Volo.Abp.Modularity;
using Volo.Abp.Authorization;
using Volo.Abp.Modularity;
namespace Sozsoft.Languages;

View file

@ -1,9 +0,0 @@
namespace Sozsoft.Languages;
public class LanguagesRemoteServiceConsts
{
public const string RemoteServiceName = "Languages";
public const string ModuleName = "languages";
}

View file

@ -1,4 +1,4 @@
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Authorization.Permissions;
namespace Sozsoft.Languages.Permissions;

View file

@ -1,9 +1,9 @@
using Sozsoft.Languages.Entities;
using Sozsoft.Languages.Localization;
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Sozsoft.Languages.Entities;
using Sozsoft.Languages.Localization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Entities;

View file

@ -1,9 +1,9 @@
using Sozsoft.Languages.Entities;
using Sozsoft.Languages.Localization;
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Sozsoft.Languages.Entities;
using Sozsoft.Languages.Localization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;

View file

@ -1,14 +1,14 @@
using Sozsoft.Languages.Entities;
using Sozsoft.Languages.Localization;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using StackExchange.Redis;
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Sozsoft.Languages.Entities;
using Sozsoft.Languages.Localization;
using StackExchange.Redis;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

View file

@ -1,6 +1,6 @@
using Riok.Mapperly.Abstractions;
using Sozsoft.Languages.Entities;
using Volo.Abp.Localization;
using Riok.Mapperly.Abstractions;
using Volo.Abp.Mapperly;
namespace Sozsoft.Languages;

View file

@ -1,7 +0,0 @@
namespace Sozsoft.Languages;
public static class LanguagesErrorCodes
{
//Add your business exception error codes here...
}

View file

@ -1,45 +1,23 @@
namespace Sozsoft.Languages.Languages
{
public static class LanguageCodes
{
public const string Ar = "ar";
public const string Cs = "cs";
public const string De = "de-DE";
public const string En = "en";
public const string Es = "es";
public const string Fi = "fi";
public const string Fr = "fr";
public const string Hi = "hi";
public const string Hr = "hr";
public const string Hu = "hu";
public const string It = "it";
public const string Pt = "pt-BR";
public const string Ru = "ru";
public const string Sk = "sk";
public const string Sl = "sl";
public const string Tr = "tr";
public const string Zh = "zh-Hans";
}
namespace Sozsoft.Languages.Languages;
public static class LanguageNames
{
public const string Ar = "العربية";
public const string Cs = "Čeština";
public const string De = "Deutsch";
public const string En = "English";
public const string Es = "Español";
public const string Fi = "Finnish";
public const string Fr = "Français";
public const string Hi = "Hindi";
public const string Hr = "Croatian";
public const string Hu = "Magyar";
public const string It = "Italiano";
public const string Pt = "Português";
public const string Ru = "Русский";
public const string Sk = "Slovak";
public const string Sl = "Slovenščina";
public const string Tr = "Türkçe";
public const string Zh = "繁體中文";
}
public static class LanguageCodes
{
public const string Ar = "ar";
public const string Cs = "cs";
public const string De = "de-DE";
public const string En = "en";
public const string Es = "es";
public const string Fi = "fi";
public const string Fr = "fr";
public const string Hi = "hi";
public const string Hr = "hr";
public const string Hu = "hu";
public const string It = "it";
public const string Pt = "pt-BR";
public const string Ru = "ru";
public const string Sk = "sk";
public const string Sl = "sl";
public const string Tr = "tr";
public const string Zh = "zh-Hans";
}

View file

@ -1,10 +1,7 @@
using Sozsoft.Languages.Entities;
using System;
using System.Threading.Tasks;
using System.Threading.Tasks;
using Volo.Abp.Caching;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus.Distributed;
namespace Sozsoft.Languages;
@ -15,14 +12,11 @@ public class LanguageTextCacheItemInvalidatorDistributed :
IDistributedEventHandler<EntityDeletedEto<LanguageTextEto>>,
ITransientDependency
{
private readonly IRepository<LanguageText, Guid> languageTextRepository;
private readonly IDistributedCache<LanguageTextCacheItem> cache;
public LanguageTextCacheItemInvalidatorDistributed(
IRepository<LanguageText, Guid> languageTextRepository,
IDistributedCache<LanguageTextCacheItem> cache)
{
this.languageTextRepository = languageTextRepository;
this.cache = cache;
}

View file

@ -1,9 +1,9 @@
using Sozsoft.Languages.Entities;
using Microsoft.Extensions.Localization;
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.Localization;
using Sozsoft.Languages.Entities;
using Volo.Abp.Caching;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;

View file

@ -1,6 +1,6 @@
using Microsoft.Extensions.Localization;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.Localization;
using Volo.Abp.Localization;
namespace Sozsoft.Languages.Localization;

View file

@ -1,5 +1,5 @@
using Sozsoft.Languages.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Sozsoft.Languages.Entities;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;

View file

@ -1,5 +1,5 @@
using Sozsoft.Languages.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Sozsoft.Languages.Entities;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore.Modeling;

View file

@ -1 +1 @@
namespace Sozsoft.MailQueue.Application;
namespace Sozsoft.MailQueue.Application;

View file

@ -1,6 +1,6 @@
using Sozsoft.MailQueue.FileGeneration;
using Microsoft.Extensions.Configuration;
using Sozsoft.MailQueue.FileGeneration;
using Sozsoft.MailQueue.MailGeneration.Models;
using Microsoft.Extensions.Configuration;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids;
using Volo.Abp.TextTemplating;
@ -141,53 +141,53 @@ public class AttachmentGenerator : IAttachmentGenerator, ITransientDependency
return null;
// if (model.Filtreler.ContainsKey("QUERY") && model.Filtreler.ContainsKey("QUERYSQL"))
// {
// /*
//Parametrelerden asagidaki sekilde gelen queryleri en alttaki formata donusturuyoruz
//params
//0 =>
// QUERY -> qryDepo_Cikis_CekiListesi_Detayli
// QUERYSQL -> Ksp_Depo_Cikis_CekiListesi_Detayli 252993
// QUERY2 -> qryDepo_Cikis_CekiListesi_Sub
// QUERY2SQL -> KSp_Depo_Cikis_CekiListesi_Sub 252993
// if (model.Filtreler.ContainsKey("QUERY") && model.Filtreler.ContainsKey("QUERYSQL"))
// {
// /*
//Parametrelerden asagidaki sekilde gelen queryleri en alttaki formata donusturuyoruz
//params
//0 =>
// QUERY -> qryDepo_Cikis_CekiListesi_Detayli
// QUERYSQL -> Ksp_Depo_Cikis_CekiListesi_Detayli 252993
// QUERY2 -> qryDepo_Cikis_CekiListesi_Sub
// QUERY2SQL -> KSp_Depo_Cikis_CekiListesi_Sub 252993
//SQL olan keyvalue'lari cikar ve sadece querylerde foreach yap
// QUERY -> qryDepo_Cikis_CekiListesi_Detayli
// dict.add(item.Value, params[item.Key + "SQL"].Value)
// QUERY2 -> qryDepo_Cikis_CekiListesi_Sub
// dict.add(item.Value, params[item.Key + "SQL"].Value)
//SQL olan keyvalue'lari cikar ve sadece querylerde foreach yap
// QUERY -> qryDepo_Cikis_CekiListesi_Detayli
// dict.add(item.Value, params[item.Key + "SQL"].Value)
// QUERY2 -> qryDepo_Cikis_CekiListesi_Sub
// dict.add(item.Value, params[item.Key + "SQL"].Value)
//Bunlari yeni dict'e ekle
//dict
//qryDepo_Cikis_CekiListesi_Detayli -> Ksp_Depo_Cikis_CekiListesi_Detayli 252993
//qryDepo_Cikis_CekiListesi_Sub -> KSp_Depo_Cikis_CekiListesi_Sub 252993
// */
// //dict -> key (name), value (sql)
// var queries = model.Filtreler
// .Where(a => a.Key.StartsWith("QUERY"))
// .Where(a => !a.Key.EndsWith("SQL"))
// .Where(a => !a.Value.IsNullOrWhiteSpace())
// .ToDictionary(x => x.Value, x => model.Filtreler.GetValueOrDefault(x.Key + "SQL"));
//Bunlari yeni dict'e ekle
//dict
//qryDepo_Cikis_CekiListesi_Detayli -> Ksp_Depo_Cikis_CekiListesi_Detayli 252993
//qryDepo_Cikis_CekiListesi_Sub -> KSp_Depo_Cikis_CekiListesi_Sub 252993
// */
// //dict -> key (name), value (sql)
// var queries = model.Filtreler
// .Where(a => a.Key.StartsWith("QUERY"))
// .Where(a => !a.Key.EndsWith("SQL"))
// .Where(a => !a.Value.IsNullOrWhiteSpace())
// .ToDictionary(x => x.Value, x => model.Filtreler.GetValueOrDefault(x.Key + "SQL"));
// return MsAccessReportManager.GenerateAccessReport(
// model.DbAdi,
// model.Index,
// model.RaporAdi,
// model.ExportDosyaTipi,
// queries,
// attachmentFolder);
// }
// else
// {
// return MsAccessReportManager.GenerateAccessReport(
// model.DbAdi,
// model.Index,
// model.RaporAdi,
// string.Join(" AND ", model.Filtreler.Select(a => $"{a.Key}={a.Value}")),
// model.ExportDosyaTipi,
// attachmentFolder);
// }
// return MsAccessReportManager.GenerateAccessReport(
// model.DbAdi,
// model.Index,
// model.RaporAdi,
// model.ExportDosyaTipi,
// queries,
// attachmentFolder);
// }
// else
// {
// return MsAccessReportManager.GenerateAccessReport(
// model.DbAdi,
// model.Index,
// model.RaporAdi,
// string.Join(" AND ", model.Filtreler.Select(a => $"{a.Key}={a.Value}")),
// model.ExportDosyaTipi,
// attachmentFolder);
// }
}
private async Task<string> ConvertFileToBase64Async(string filePath)

View file

@ -1,5 +1,5 @@
using Sozsoft.MailQueue.MailGeneration.Models;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration;
using Sozsoft.MailQueue.MailGeneration.Models;
using Volo.Abp.DependencyInjection;
using Volo.Abp.TextTemplating;

View file

@ -1,8 +1,8 @@
using System.Data;
using Microsoft.EntityFrameworkCore;
using Sozsoft.MailQueue.Domain.Entities;
using Sozsoft.MailQueue.EntityFrameworkCore;
using Sozsoft.MailQueue.MailGeneration.Models;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.TextTemplating;

View file

@ -1,8 +1,8 @@
using Sozsoft.Sender.Mail;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Sozsoft.MailQueue.Domain.MailGeneration;
using Sozsoft.MailQueue.Domain.Shared;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Sozsoft.Sender.Mail;
using Volo.Abp.BackgroundWorkers;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Guids;
@ -182,7 +182,7 @@ public class MailQueueWorker : BackgroundWorkerBase
}
queue.SendStatus = result.Success;
queue.SendTime = Clock.Now;
await Repository.UpdateAsync(queue);
await Repository.UpdateAsync(queue, cancellationToken: cancellationToken);
// Attachmentlari silebiliriz
try

View file

@ -2,9 +2,9 @@
using Amazon;
using Amazon.SQS;
using Amazon.SQS.Model;
using Sozsoft.Sender.Mail.AmazonSes;
using Sozsoft.MailQueue.Domain.Entities;
using Microsoft.Extensions.Configuration;
using Sozsoft.MailQueue.Domain.Entities;
using Sozsoft.Sender.Mail.AmazonSes;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;

View file

@ -1,5 +1,5 @@
using Sozsoft.MailQueue.Domain;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Sozsoft.MailQueue.Domain;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;

View file

@ -1,6 +1,6 @@
using Sozsoft.MailQueue.Domain;
using Microsoft.EntityFrameworkCore;
using Sozsoft.MailQueue.Domain;
using Sozsoft.MailQueue.Domain.Entities;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore.Modeling;

View file

@ -1,6 +1,6 @@
using System.Data;
using Sozsoft.MailQueue.Domain.Entities;
using Microsoft.EntityFrameworkCore;
using Sozsoft.MailQueue.Domain.Entities;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;

View file

@ -1,5 +1,4 @@
using ClosedXML.Excel;
using DocumentFormat.OpenXml.Spreadsheet;
using Sozsoft.MailQueue.MailGeneration.Models;
using Volo.Abp.DependencyInjection;
@ -80,8 +79,11 @@ public class XLSFileGenerator : IFileGenerator, ITransientDependency
var col = table.TabloSutunlari[j];
var cell = sheet.Cell(i + 2, j + 1);
var value = row.GetValueOrDefault(col.SutunAdi);
var dataType = XLDataType.Text;
Enum.TryParse(col.VeriTipi, out dataType);
if (!Enum.TryParse(col.VeriTipi, out XLDataType dataType))
{
dataType = XLDataType.Text;
}
switch (dataType)
{
case XLDataType.Number:

View file

@ -1,16 +1,16 @@
using System.Reflection;
using Sozsoft.Sender;
using Sozsoft.MailQueue.Domain.Shared;
using Sozsoft.MailQueue.EntityFrameworkCore;
using Microsoft.CodeAnalysis;
using Microsoft.Extensions.DependencyInjection;
using Sozsoft.MailQueue.Domain.Shared;
using Sozsoft.MailQueue.EntityFrameworkCore;
using Sozsoft.Sender;
using Volo.Abp.Application;
using Volo.Abp.Authorization;
using Volo.Abp.Mapperly;
using Volo.Abp.Domain;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Localization;
using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Mapperly;
using Volo.Abp.Modularity;
using Volo.Abp.TextTemplating.Razor;
using Volo.Abp.VirtualFileSystem;

View file

@ -1,9 +0,0 @@
namespace Sozsoft.Notifications.Application;
public class NotificationRemoteServiceConsts
{
public const string RemoteServiceName = "Notifications";
public const string ModuleName = "notifications";
}

View file

@ -1,4 +1,4 @@
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Authorization.Permissions;
namespace Sozsoft.Notifications.Permissions;

View file

@ -2,11 +2,11 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.EntityFrameworkCore;
using Sozsoft.Notifications.Domain;
using Sozsoft.Notifications.Entities;
using Sozsoft.Notifications.Enums;
using Microsoft.AspNetCore.Authorization;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Entities;

View file

@ -1,7 +1,7 @@
using Sozsoft.Notifications.Entities;
using Riok.Mapperly.Abstractions;
using Sozsoft.Notifications.Domain;
using Sozsoft.Notifications.Entities;
using Sozsoft.Notifications.NotificationRules;
using Riok.Mapperly.Abstractions;
using Volo.Abp.Mapperly;
namespace Sozsoft.Notifications.Application;
@ -9,7 +9,7 @@ namespace Sozsoft.Notifications.Application;
[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)]
public partial class NotificationTypeToNotificationTypeDtoMapper : MapperBase<NotificationType, NotificationTypeDto>
{
public override partial NotificationTypeDto Map(NotificationType source);
public override partial NotificationTypeDto Map(NotificationType source);
public override partial void Map(NotificationType source, NotificationTypeDto destination);
@ -25,7 +25,7 @@ public override partial NotificationTypeDto Map(NotificationType source);
[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)]
public partial class NotificationRuleToNotificationRuleDtoMapper : MapperBase<NotificationRule, NotificationRuleDto>
{
public override partial NotificationRuleDto Map(NotificationRule source);
public override partial NotificationRuleDto Map(NotificationRule source);
public override partial void Map(NotificationRule source, NotificationRuleDto destination);

View file

@ -1,5 +1,5 @@
using Sozsoft.Notifications.Domain;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Sozsoft.Notifications.Domain;
using Volo.Abp.Application;
using Volo.Abp.Mapperly;
using Volo.Abp.Modularity;

View file

@ -2,10 +2,10 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Sozsoft.Notifications.Domain;
using Sozsoft.Notifications.Entities;
using Microsoft.AspNetCore.Authorization;
using Microsoft.EntityFrameworkCore;
using Sozsoft.Notifications.Domain;
using Sozsoft.Notifications.Entities;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
@ -23,22 +23,16 @@ public class NotificationRuleAppService : CrudAppService<
INotificationRuleAppService
{
private readonly IRepository<NotificationType, Guid> repositoryType;
private readonly IOrganizationUnitRepository repositoryOrganizationUnit;
private readonly IdentityUserManager userManager;
private readonly IIdentityUserRepository repositoryUser;
public NotificationRuleAppService(
IRepository<NotificationType, Guid> repositoryType,
IRepository<NotificationRule, Guid> repository,
IdentityUserManager userManager,
IIdentityUserRepository repositoryUser,
IOrganizationUnitRepository repositoryOrganizationUnit
IIdentityUserRepository repositoryUser
) : base(repository)
{
this.repositoryType = repositoryType;
this.userManager = userManager;
this.repositoryUser = repositoryUser;
this.repositoryOrganizationUnit = repositoryOrganizationUnit;
}
public async Task<string[]> GetNotificationTypes()

View file

@ -1,7 +0,0 @@
namespace Sozsoft.Notifications.Domain;
public static class NotificationErrorCodes
{
//Add your business exception error codes here...
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using Volo.Abp.Domain.Entities.Auditing;
namespace Sozsoft.Notifications.Entities;

View file

@ -2,8 +2,8 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Sozsoft.Notifications.Entities;
using Microsoft.EntityFrameworkCore;
using Sozsoft.Notifications.Entities;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Identity;

View file

@ -1,6 +1,6 @@
using Sozsoft.Notifications.Domain;
using Microsoft.EntityFrameworkCore;
using Sozsoft.Notifications.Domain;
using Sozsoft.Notifications.Entities;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;

View file

@ -1,5 +1,5 @@
using Sozsoft.Notifications.Domain;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Sozsoft.Notifications.Domain;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;

View file

@ -1,10 +1,9 @@
using Volo.Abp.Localization;
namespace Sozsoft.Sender.Localization
namespace Sozsoft.Sender.Localization;
[LocalizationResourceName("SozsoftSender")]
public class ErpSenderResource
{
[LocalizationResourceName("SozsoftSender")]
public class ErpSenderResource
{
}
}

View file

@ -1,4 +1,4 @@
using Volo.Abp.BackgroundJobs;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.DependencyInjection;
using Volo.Abp.MultiTenancy;

View file

@ -1,4 +1,4 @@
using Volo.Abp.MultiTenancy;
using Volo.Abp.MultiTenancy;
namespace Sozsoft.Sender.Mail;

View file

@ -1,5 +1,4 @@
using System.Net.Http.Json;
using Microsoft.Extensions.Logging;
using Volo.Abp.Settings;
namespace Sozsoft.Sender.Rocket;
@ -12,16 +11,13 @@ public interface IRocketHttpClient
public sealed class RocketHttpClient : IRocketHttpClient, IDisposable
{
private readonly HttpClient httpClient;
private readonly ILogger<RocketHttpClient> logger;
private readonly ISettingProvider settingProvider;
public RocketHttpClient(
HttpClient httpClient,
ILogger<RocketHttpClient> logger,
ISettingProvider settingProvider)
{
this.httpClient = httpClient;
this.logger = logger;
this.settingProvider = settingProvider;
}

View file

@ -1,5 +1,4 @@
using Microsoft.Extensions.Logging;
using Volo.Abp.Settings;
using Volo.Abp.Settings;
namespace Sozsoft.Sender.Sms.PostaGuvercini;
@ -11,16 +10,13 @@ public interface IPostaGuverciniHttpClient
public sealed class PostaGuverciniHttpClient : IPostaGuverciniHttpClient, IDisposable
{
private readonly HttpClient httpClient;
private readonly ILogger<PostaGuverciniHttpClient> logger;
private readonly ISettingProvider settingProvider;
public PostaGuverciniHttpClient(
HttpClient httpClient,
ILogger<PostaGuverciniHttpClient> logger,
ISettingProvider settingProvider)
{
this.httpClient = httpClient;
this.logger = logger;
this.settingProvider = settingProvider;
}

View file

@ -1,11 +1,11 @@
using Sozsoft.Sender.Localization;
using Microsoft.Extensions.DependencyInjection;
using Sozsoft.Sender.Localization;
using Sozsoft.Sender.Mail;
using Sozsoft.Sender.Mail.AmazonSes;
using Sozsoft.Sender.Rocket;
using Sozsoft.Sender.Sms;
using Sozsoft.Sender.Sms.PostaGuvercini;
using Sozsoft.Sender.WhatsApp;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.Emailing;
using Volo.Abp.Localization;

View file

@ -1,6 +1,5 @@
using System.Net.Http.Headers;
using System.Net.Http.Json;
using Microsoft.Extensions.Logging;
using Volo.Abp.Settings;
namespace Sozsoft.Sender.WhatsApp;
@ -13,16 +12,13 @@ public interface IWhatsAppHttpClient
public sealed class WhatsAppHttpClient : IWhatsAppHttpClient, IDisposable
{
private readonly HttpClient httpClient;
private readonly ILogger<WhatsAppHttpClient> logger;
private readonly ISettingProvider settingProvider;
public WhatsAppHttpClient(
HttpClient httpClient,
ILogger<WhatsAppHttpClient> logger,
ISettingProvider settingProvider)
{
this.httpClient = httpClient;
this.logger = logger;
this.settingProvider = settingProvider;
}

View file

@ -1,4 +1,4 @@
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Authorization.Permissions;
namespace Sozsoft.Settings.Permissions;

View file

@ -1,9 +0,0 @@
namespace Sozsoft.Settings;
public class SettingsRemoteServiceConsts
{
public const string RemoteServiceName = "Settings";
public const string ModuleName = "settings";
}

View file

@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Sozsoft.Languages;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Services;
using Volo.Abp.MultiTenancy;
@ -15,20 +14,17 @@ namespace Sozsoft.Settings;
public class SettingUiAppService : ApplicationService, ISettingUiAppService
{
//private readonly IRepository<SettingDefinition, Guid> repositorySettingDefinition;
private readonly ILanguageKeyIntegrationService languageKeyIntegrationService;
private readonly ISettingDefinitionManager settingDefinitionManager;
private readonly ISettingManager settingManager;
private readonly ErpSettingDefinitionManager ErpSettingDefinitionManager;
private readonly ICurrentTenant currentTenant;
public SettingUiAppService(
ILanguageKeyIntegrationService languageKeyIntegrationService,
ISettingDefinitionManager settingDefinitionManager,
ISettingManager settingManager,
ErpSettingDefinitionManager ErpSettingDefinitionManager,
ICurrentTenant currentTenant)
{
this.languageKeyIntegrationService = languageKeyIntegrationService;
this.settingDefinitionManager = settingDefinitionManager;
this.settingManager = settingManager;
this.ErpSettingDefinitionManager = ErpSettingDefinitionManager;

View file

@ -1,5 +1,5 @@
using Riok.Mapperly.Abstractions;
using Sozsoft.Settings.Entities;
using Riok.Mapperly.Abstractions;
using Volo.Abp.Mapperly;
namespace Sozsoft.Settings;
@ -7,7 +7,7 @@ namespace Sozsoft.Settings;
[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)]
public partial class SettingDefinitionToSettingDefinitionDtoMapper : TwoWayMapperBase<SettingDefinition, SettingDefinitionDto>
{
public override partial SettingDefinitionDto Map(SettingDefinition source);
public override partial SettingDefinitionDto Map(SettingDefinition source);
public override partial void Map(SettingDefinition source, SettingDefinitionDto destination);

View file

@ -1,7 +0,0 @@
namespace Sozsoft.Settings;
public static class SettingsErrorCodes
{
//Add your business exception error codes here...
}

View file

@ -2,9 +2,9 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Sozsoft.Settings.Localization;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.Localization;
using Sozsoft.Settings.Localization;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
using Volo.Abp.Settings;

View file

@ -1,4 +1,4 @@
using Volo.Abp.Modularity;
using Volo.Abp.Modularity;
using Volo.Abp.SettingManagement;
using Volo.Abp.Settings;

View file

@ -1,5 +1,5 @@
using Sozsoft.Settings.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Sozsoft.Settings.Entities;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.SettingManagement.EntityFrameworkCore;

View file

@ -1,9 +1,9 @@
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Sozsoft.Settings.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using Sozsoft.Settings.Entities;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore.Modeling;
using Volo.Abp.SettingManagement.EntityFrameworkCore;

View file

@ -1,4 +1,4 @@
namespace Sozsoft.SqlQueryManager.Application.Contracts;
namespace Sozsoft.SqlQueryManager.Application.Contracts;
public class DatabaseTableDto
{

View file

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
namespace Sozsoft.SqlQueryManager.Application.Contracts;

View file

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
namespace Sozsoft.SqlQueryManager.Application.Contracts;

View file

@ -1,4 +1,4 @@
using Volo.Abp.Application;
using Volo.Abp.Application;
using Volo.Abp.Authorization;
using Volo.Abp.Modularity;

View file

@ -1,6 +1,4 @@
using System.Collections.Generic;
namespace Sozsoft.SqlQueryManager.Application.Contracts;
namespace Sozsoft.SqlQueryManager.Application.Contracts;
public class SqlTemplateDto
{
@ -9,10 +7,3 @@ public class SqlTemplateDto
public string Description { get; set; }
public string Template { get; set; }
}
public class GetTemplateInput
{
public string TemplateType { get; set; }
public string ObjectName { get; set; }
public string SchemaName { get; set; }
}

View file

@ -2,21 +2,21 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Sozsoft.SqlQueryManager.Application.Contracts;
using Sozsoft.SqlQueryManager.Domain.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Volo.Abp.Application.Services;
using Volo.Abp.MultiTenancy;
using System.Text.RegularExpressions;
using Sozsoft.Platform.Data.Seeds;
using Sozsoft.Platform.Enums;
using Sozsoft.Platform.Queries;
using Sozsoft.Settings;
using Sozsoft.SqlQueryManager.Application.Contracts;
using Sozsoft.SqlQueryManager.Domain.Services;
using Volo.Abp.Application.Services;
using Volo.Abp.MultiTenancy;
namespace Sozsoft.SqlQueryManager.Application;

View file

@ -1 +1 @@
namespace Sozsoft.SqlQueryManager.Application;
namespace Sozsoft.SqlQueryManager.Application;

View file

@ -1,4 +1,4 @@
using Volo.Abp.Localization;
using Volo.Abp.Localization;
namespace Sozsoft.SqlQueryManager.Domain.Shared;

View file

@ -1,4 +1,4 @@
namespace Sozsoft.SqlQueryManager.Domain.Shared;
namespace Sozsoft.SqlQueryManager.Domain.Shared;
// SqlObjectType, SqlFunctionType and SqlQueryStatus enums removed:
// The module no longer persists SQL objects and therefore does not need these enums.

View file

@ -1,4 +1,4 @@
using Sozsoft.SqlQueryManager.Domain.Shared;
using Sozsoft.SqlQueryManager.Domain.Shared;
using Volo.Abp.Domain;
using Volo.Abp.Localization;
using Volo.Abp.Localization.ExceptionHandling;

View file

@ -1,11 +0,0 @@
namespace Sozsoft.SqlQueryManager.Domain.Shared;
public static class SqlQueryManagerErrorCodes
{
public const string InvalidSqlQuery = "SqlQueryManager:InvalidSqlQuery";
public const string DataSourceNotFound = "SqlQueryManager:DataSourceNotFound";
public const string ExecutionFailed = "SqlQueryManager:ExecutionFailed";
public const string PermissionDenied = "SqlQueryManager:PermissionDenied";
public const string InvalidObjectName = "SqlQueryManager:InvalidObjectName";
public const string ObjectAlreadyExists = "SqlQueryManager:ObjectAlreadyExists";
}

View file

@ -1,4 +1,4 @@
using Volo.Abp.Reflection;
using Volo.Abp.Reflection;
namespace Sozsoft.SqlQueryManager.Domain.Shared;

View file

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
namespace Sozsoft.SqlQueryManager.Domain.Services;

View file

@ -1,13 +1,13 @@
using System;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Sozsoft.Platform.DynamicData;
using Sozsoft.Platform.Enums;
using Sozsoft.Platform.Queries;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.Domain.Services;

View file

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Text;
using System.Collections.Generic;
using Volo.Abp.DependencyInjection;
namespace Sozsoft.SqlQueryManager.Domain.Services;

View file

@ -1,5 +1,4 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Domain;
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
namespace Sozsoft.SqlQueryManager;

View file

@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;

View file

@ -1,4 +1,4 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;

View file

@ -1,4 +1,4 @@
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Dtos;
namespace Sozsoft.Platform.AuditLogs;

View file

@ -1,4 +1,4 @@
using System;
using System;
using Volo.Abp.Application.Dtos;
namespace Sozsoft.Platform.ChangeLogs;

View file

@ -1,7 +1,7 @@
#nullable enable
using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Content;
namespace Sozsoft.Platform.FileManagement;

View file

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
namespace Sozsoft.Platform.Identity.Dto;

View file

@ -1,4 +1,4 @@
using System;
using System;
using Volo.Abp.Content;
namespace Sozsoft.Platform.Identity.Dto;

View file

@ -6,8 +6,8 @@ namespace Sozsoft.Platform.Identity.Dto;
public class UserClaimModel : ExtensibleObject
{
public Guid Id { get; set; }
public Guid UserId { get; set; }
public string ClaimType { get; set; }
public string ClaimValue { get; set; }
public Guid UserId { get; set; }
public string ClaimType { get; set; }
public string ClaimValue { get; set; }
}

View file

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
namespace Sozsoft.Platform.Intranet;

View file

@ -1,4 +1,4 @@
using System;
using System;
using Sozsoft.Platform.Identity.Dto;
namespace Sozsoft.Platform.Intranet;

View file

@ -1,14 +0,0 @@
namespace Sozsoft.Platform.ListForms;
public class ChartJsonItemRowDto
{
public string Id { get; set; }
public string ListFormCode { get; set; }
public int Index { get; set; }
public string FieldName { get; set; }
public ChartAnnotationDto ItemAnnotation { get; set; }
public ChartPanesDto ItemPane { get; set; }
public ChartSeriesDto ItemSerie { get; set; }
public ChartValueAxisDto ItemAxis { get; set; }
}

View file

@ -1,11 +0,0 @@
namespace Sozsoft.Platform.ListForms;
public class EditChartAnnotationsDto
{
public string ListFormCode { get; set; }
public string Id { get; set; }
public int Index { get; set; }
public string FieldName { get; set; }
public ChartAnnotationDto Item { get; set; }
}

View file

@ -1,11 +0,0 @@
namespace Sozsoft.Platform.ListForms;
public class EditChartPanesDto
{
public string ListFormCode { get; set; }
public string Id { get; set; }
public int Index { get; set; }
public string FieldName { get; set; }
public ChartPanesDto Item { get; set; }
}

View file

@ -1,11 +0,0 @@
namespace Sozsoft.Platform.ListForms;
public class EditChartSeriesDto
{
public string ListFormCode { get; set; }
public string Id { get; set; }
public int Index { get; set; }
public string FieldName { get; set; }
public ChartSeriesDto Item { get; set; }
}

View file

@ -1,11 +0,0 @@
namespace Sozsoft.Platform.ListForms;
public class EditChartValueAxisDto
{
public string ListFormCode { get; set; }
public string Id { get; set; }
public int Index { get; set; }
public string FieldName { get; set; }
public ChartValueAxisDto Item { get; set; }
}

View file

@ -1,9 +0,0 @@
namespace Sozsoft.Platform.ListForms;
public class DeleteCustomizationDataItemDto
{
public string ListFormCode { get; set; }
public string Id { get; set; }
public int Index { get; set; }
}

View file

@ -1,8 +0,0 @@
namespace Sozsoft.Platform.ListForms;
public class DeleteListFormFilterRequestDto
{
public string ListFormCode { get; set; }
public string Id { get; set; }
}

View file

@ -1,5 +1,5 @@
using Sozsoft.Platform.Enums;
using System;
using System;
using Sozsoft.Platform.Enums;
using Volo.Abp.Application.Dtos;
namespace Sozsoft.Platform.ListForms;

View file

@ -1,4 +1,4 @@
using System;
using System;
namespace Sozsoft.Platform.ListForms.DynamicApi;

View file

@ -1,5 +1,4 @@
using System;
using static Sozsoft.Platform.PlatformConsts;
using static Sozsoft.Platform.PlatformConsts;
namespace Sozsoft.Platform.ListForms.DynamicApi;

View file

@ -1,6 +1,4 @@
using System;
namespace Sozsoft.Platform.ListForms.DynamicApi;
namespace Sozsoft.Platform.ListForms.DynamicApi;
public class DynamicApiBaseInput<T>
{

View file

@ -1,4 +1,4 @@
using System;
using System;
using System.Threading.Tasks;
namespace Sozsoft.Platform.ListForms.DynamicApi;

View file

@ -1,11 +0,0 @@
using System;
namespace Sozsoft.Platform.ListForms.DynamicApi;
public class SeedTenantDbInput
{
public Guid TenantId { get; set; }
public string AdminEmail { get; set; }
public string AdminPassword { get; set; }
}

View file

@ -1,6 +1,4 @@
using System.Text.Json.Serialization;
namespace Sozsoft.Platform.ListForms;
namespace Sozsoft.Platform.ListForms;
/// <summary> popup yada form olarak acilan ekrandaki tasarimi belirtir
/// https://js.devexpress.com/Demos/WidgetsGallery/Demo/Form/GroupedFields/jQuery/Light/

View file

@ -1,8 +0,0 @@
namespace Sozsoft.Platform.ListForms;
public class GridStateRequestDto
{
public string ListFormCode { get; set; }
public string GridState { get; set; }
}

View file

@ -1,4 +1,4 @@
namespace Sozsoft.Platform.ListForms;
namespace Sozsoft.Platform.ListForms;
public class ImageUploadOptionsDto
{

View file

@ -1,4 +1,4 @@
namespace Sozsoft.Platform.ListForms;
namespace Sozsoft.Platform.ListForms;
/// <summary>
/// Dinamik bir listeyi Todo/Kanban panosu olarak gostermek icin alan eslemeleri.

View file

@ -1,22 +0,0 @@
using System;
using System.Collections.Generic;
using Sozsoft.Platform.ListForms;
namespace Sozsoft.Platform.ListForms.ImportManager;
public class GenerateTemplateInput
{
public string GridName { get; set; }
public string Title { get; set; }
public List<ColumnFormatDto> ColumnFormats { get; set; }
public string Format { get; set; } // 'excel' or 'csv'
}
public class ExportDataInput
{
public string GridName { get; set; }
public List<ColumnFormatDto> ColumnFormats { get; set; }
public string Format { get; set; }
public Dictionary<string, object> Filters { get; set; }
}

View file

@ -1,17 +0,0 @@
using System;
using System.Collections.Generic;
namespace Sozsoft.Platform.ListForms.ImportManager;
public class ImportPreviewDataDto
{
public Guid SessionId { get; set; }
public List<string> Headers { get; set; } = new();
public List<List<string>> Rows { get; set; } = new(); // raw string olarak dönen veri hücreleri
public int TotalRows { get; set; }
public int SampleSize { get; set; }
public List<ColumnMappingDto> ColumnMappings { get; set; } = new();
public List<ImportValidationErrorDto> ValidationResults { get; set; } = new();
}

Some files were not shown because too many files have changed in this diff Show more