Ölü kodlar kaldırıldı. Api tarafı için
This commit is contained in:
parent
f744d18f83
commit
9e362f6671
376 changed files with 1659 additions and 2822 deletions
4
.github/instructions/ai.instructions.md
vendored
4
.github/instructions/ai.instructions.md
vendored
|
|
@ -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
|
||||
|
|
|
|||
135
.github/instructions/dotnet.instructions.md
vendored
Normal file
135
.github/instructions/dotnet.instructions.md
vendored
Normal 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.
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
using Volo.Abp.Application;
|
||||
using Volo.Abp.Modularity;
|
||||
using Volo.Abp.Authorization;
|
||||
using Volo.Abp.Modularity;
|
||||
|
||||
namespace Sozsoft.Languages;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
namespace Sozsoft.Languages;
|
||||
|
||||
public class LanguagesRemoteServiceConsts
|
||||
{
|
||||
public const string RemoteServiceName = "Languages";
|
||||
|
||||
public const string ModuleName = "languages";
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.Authorization.Permissions;
|
||||
using Volo.Abp.Authorization.Permissions;
|
||||
|
||||
namespace Sozsoft.Languages.Permissions;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -136,7 +136,7 @@ public class LanguageTextAppService : CrudAppService<
|
|||
var db = redis.GetDatabase();
|
||||
await db.ExecuteAsync("FLUSHALL");
|
||||
}
|
||||
|
||||
|
||||
protected virtual IQueryable<LanguageKey> ApplySorting(IQueryable<LanguageKey> query, LanguageTextTranslatedRequestDto input)
|
||||
{
|
||||
//Try to sort query if available
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
namespace Sozsoft.Languages;
|
||||
|
||||
public static class LanguagesErrorCodes
|
||||
{
|
||||
//Add your business exception error codes here...
|
||||
}
|
||||
|
||||
|
|
@ -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";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
namespace Sozsoft.MailQueue.Application;
|
||||
namespace Sozsoft.MailQueue.Application;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
//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)
|
||||
// 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
|
||||
|
||||
//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"));
|
||||
//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)
|
||||
|
||||
// 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);
|
||||
// }
|
||||
//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);
|
||||
// }
|
||||
}
|
||||
|
||||
private async Task<string> ConvertFileToBase64Async(string filePath)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using ClosedXML.Excel;
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using Sozsoft.MailQueue.MailGeneration.Models;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
|
|
@ -26,7 +25,7 @@ public class XLSFileGenerator : IFileGenerator, ITransientDependency
|
|||
using var stream = new MemoryStream();
|
||||
workbook.SaveAs(stream);
|
||||
stream.Close();
|
||||
|
||||
|
||||
return await Task.FromResult(stream.ToArray());
|
||||
}
|
||||
|
||||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@ public class NotificationFilterRequestDto : PagedAndSortedResultRequestDto
|
|||
/// <summary>
|
||||
/// İstek; aktivite sayfasındaki liste ekranından mı geliyor yoksa bildirimleri kontrol etmek için mi
|
||||
/// </summary>
|
||||
public bool IsListRequest { get; set; } = false;
|
||||
public bool IsListRequest { get; set; } = false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
namespace Sozsoft.Notifications.Application;
|
||||
|
||||
public class NotificationRemoteServiceConsts
|
||||
{
|
||||
public const string RemoteServiceName = "Notifications";
|
||||
|
||||
public const string ModuleName = "notifications";
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.Authorization.Permissions;
|
||||
using Volo.Abp.Authorization.Permissions;
|
||||
|
||||
namespace Sozsoft.Notifications.Permissions;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ public static class NotificationChannels
|
|||
public const string Sms = "Sms"; //SMS (ABP Sms + Posta Guvercini)
|
||||
public const string Mail = "Mail"; //Email (ABP Emailing + Amazon SES)
|
||||
public const string Rocket = "Rocket"; //Rocket.Chat (HTTP API)
|
||||
public const string Desktop = "Desktop";
|
||||
public const string Desktop = "Desktop";
|
||||
public const string UiActivity = "UiActivity"; //UI Activity (ABP UI Activity)
|
||||
public const string UiToast = "UiToast"; //UI Toast (ABP UI Toast) Ayarlar/Sistem/Bildirimler/Chrome açık olması gerekiyor.
|
||||
public const string WhatsApp = "WhatsApp"; //WhatsApp (HTTP API, template-based)
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
namespace Sozsoft.Notifications.Domain;
|
||||
|
||||
public static class NotificationErrorCodes
|
||||
{
|
||||
//Add your business exception error codes here...
|
||||
}
|
||||
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Volo.Abp.Domain.Entities.Auditing;
|
||||
|
||||
namespace Sozsoft.Notifications.Entities;
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ namespace Sozsoft.Notifications.Entities;
|
|||
public class NotificationRule : FullAuditedEntity<Guid>
|
||||
{
|
||||
public required Guid NotificationTypeId { get; set; }
|
||||
public NotificationType NotificationType { get; set; }
|
||||
|
||||
public NotificationType NotificationType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Alıcı Tipi: User, Role, Organization, All, Custom
|
||||
/// User ise RecipientId UserId olacak
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -192,9 +192,9 @@ public class NotificationManager : INotificationManager
|
|||
}
|
||||
}
|
||||
|
||||
var notificationType = await repositoryType.FirstOrDefaultAsync(a => a.Name == NotificationType)
|
||||
var notificationType = await repositoryType.FirstOrDefaultAsync(a => a.Name == NotificationType)
|
||||
?? throw new Exception($"NotificationType '{NotificationType}' not found.");
|
||||
|
||||
|
||||
await repositoryNotification.InsertAsync(new Notification
|
||||
{
|
||||
NotificationTypeId = notificationType.Id,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.BackgroundJobs;
|
||||
using Volo.Abp.BackgroundJobs;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
using Volo.Abp.MultiTenancy;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.MultiTenancy;
|
||||
using Volo.Abp.MultiTenancy;
|
||||
|
||||
namespace Sozsoft.Sender.Mail;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.Authorization.Permissions;
|
||||
using Volo.Abp.Authorization.Permissions;
|
||||
|
||||
namespace Sozsoft.Settings.Permissions;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
namespace Sozsoft.Settings;
|
||||
|
||||
public class SettingsRemoteServiceConsts
|
||||
{
|
||||
public const string RemoteServiceName = "Settings";
|
||||
|
||||
public const string ModuleName = "settings";
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
namespace Sozsoft.Settings;
|
||||
|
||||
public static class SettingsErrorCodes
|
||||
{
|
||||
//Add your business exception error codes here...
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.Modularity;
|
||||
using Volo.Abp.Modularity;
|
||||
using Volo.Abp.SettingManagement;
|
||||
using Volo.Abp.Settings;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -15,7 +15,7 @@ public static class SettingsDbContextModelCreatingExtensions
|
|||
public static void ConfigureSettings(this ModelBuilder builder)
|
||||
{
|
||||
Check.NotNull(builder, nameof(builder));
|
||||
|
||||
|
||||
builder.ConfigureSettingManagement();
|
||||
|
||||
builder.Entity<SettingDefinition>(b =>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
namespace Sozsoft.SqlQueryManager.Application.Contracts;
|
||||
namespace Sozsoft.SqlQueryManager.Application.Contracts;
|
||||
|
||||
public class DatabaseTableDto
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sozsoft.SqlQueryManager.Application.Contracts;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sozsoft.SqlQueryManager.Application.Contracts;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.Application;
|
||||
using Volo.Abp.Application;
|
||||
using Volo.Abp.Authorization;
|
||||
using Volo.Abp.Modularity;
|
||||
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
namespace Sozsoft.SqlQueryManager.Application;
|
||||
namespace Sozsoft.SqlQueryManager.Application;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.Localization;
|
||||
using Volo.Abp.Localization;
|
||||
|
||||
namespace Sozsoft.SqlQueryManager.Domain.Shared;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.Reflection;
|
||||
using Volo.Abp.Reflection;
|
||||
|
||||
namespace Sozsoft.SqlQueryManager.Domain.Shared;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sozsoft.SqlQueryManager.Domain.Services;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ public class SqlExecutorService : DomainService, ISqlExecutorService
|
|||
{
|
||||
// Get DataSource to determine database type
|
||||
var dataSource = await _dataSourceManager.GetDataSourceAsync(
|
||||
CurrentTenant.IsAvailable,
|
||||
CurrentTenant.IsAvailable,
|
||||
dataSourceCode);
|
||||
|
||||
if (dataSource == null)
|
||||
|
|
@ -53,7 +53,7 @@ public class SqlExecutorService : DomainService, ISqlExecutorService
|
|||
}
|
||||
|
||||
var repository = _serviceProvider.GetKeyedService<IDynamicDataRepository>(repositoryKey);
|
||||
|
||||
|
||||
if (repository == null)
|
||||
{
|
||||
throw new BusinessException("SqlQueryManager:RepositoryNotFound")
|
||||
|
|
@ -64,8 +64,8 @@ public class SqlExecutorService : DomainService, ISqlExecutorService
|
|||
}
|
||||
|
||||
public async Task<SqlExecutionResult> ExecuteQueryAsync(
|
||||
string sql,
|
||||
string dataSourceCode,
|
||||
string sql,
|
||||
string dataSourceCode,
|
||||
Dictionary<string, object> parameters = null)
|
||||
{
|
||||
var stopwatch = Stopwatch.StartNew();
|
||||
|
|
@ -74,7 +74,7 @@ public class SqlExecutorService : DomainService, ISqlExecutorService
|
|||
try
|
||||
{
|
||||
var connectionString = await _dataSourceManager.GetConnectionStringAsync(
|
||||
CurrentTenant.IsAvailable,
|
||||
CurrentTenant.IsAvailable,
|
||||
dataSourceCode);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(connectionString))
|
||||
|
|
@ -107,8 +107,8 @@ public class SqlExecutorService : DomainService, ISqlExecutorService
|
|||
}
|
||||
|
||||
public async Task<SqlExecutionResult> ExecuteNonQueryAsync(
|
||||
string sql,
|
||||
string dataSourceCode,
|
||||
string sql,
|
||||
string dataSourceCode,
|
||||
Dictionary<string, object> parameters = null)
|
||||
{
|
||||
var stopwatch = Stopwatch.StartNew();
|
||||
|
|
@ -117,7 +117,7 @@ public class SqlExecutorService : DomainService, ISqlExecutorService
|
|||
try
|
||||
{
|
||||
var connectionString = await _dataSourceManager.GetConnectionStringAsync(
|
||||
CurrentTenant.IsAvailable,
|
||||
CurrentTenant.IsAvailable,
|
||||
dataSourceCode);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(connectionString))
|
||||
|
|
@ -149,8 +149,8 @@ public class SqlExecutorService : DomainService, ISqlExecutorService
|
|||
}
|
||||
|
||||
public async Task<SqlExecutionResult> ExecuteScalarAsync<T>(
|
||||
string sql,
|
||||
string dataSourceCode,
|
||||
string sql,
|
||||
string dataSourceCode,
|
||||
Dictionary<string, object> parameters = null)
|
||||
{
|
||||
var stopwatch = Stopwatch.StartNew();
|
||||
|
|
@ -159,7 +159,7 @@ public class SqlExecutorService : DomainService, ISqlExecutorService
|
|||
try
|
||||
{
|
||||
var connectionString = await _dataSourceManager.GetConnectionStringAsync(
|
||||
CurrentTenant.IsAvailable,
|
||||
CurrentTenant.IsAvailable,
|
||||
dataSourceCode);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(connectionString))
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
namespace Sozsoft.SqlQueryManager.Domain.Services;
|
||||
|
|
@ -48,7 +47,7 @@ GO";
|
|||
public string GetViewTemplate(string viewName, string schemaName = "dbo", bool withSchemaBinding = false)
|
||||
{
|
||||
var schemaBindingClause = withSchemaBinding ? " WITH SCHEMABINDING" : "";
|
||||
|
||||
|
||||
return $@"-- =============================================
|
||||
-- Author: <Author Name>
|
||||
-- Create date: <Create Date>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Volo.Abp.Domain;
|
||||
using Volo.Abp.Domain;
|
||||
using Volo.Abp.Modularity;
|
||||
|
||||
namespace Sozsoft.SqlQueryManager;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Volo.Abp.Data;
|
||||
using Volo.Abp.EntityFrameworkCore;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Volo.Abp.EntityFrameworkCore;
|
||||
using Volo.Abp.Modularity;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Volo.Abp.Application.Dtos;
|
||||
using Volo.Abp.Application.Dtos;
|
||||
|
||||
namespace Sozsoft.Platform.AuditLogs;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using Volo.Abp.Application.Dtos;
|
||||
|
||||
namespace Sozsoft.Platform.ChangeLogs;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ public class CrudEndpointDto : FullAuditedEntityDto<Guid>
|
|||
public string OperationType { get; set; } = string.Empty;
|
||||
public string CsharpCode { get; set; } = string.Empty;
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
|
||||
// Navigation property for display purposes
|
||||
public string? EntityDisplayName { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -11,7 +11,7 @@ public class CreateFolderDto
|
|||
[Required]
|
||||
[StringLength(255)]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
|
||||
public string? ParentId { get; set; }
|
||||
|
||||
public string? TenantId { get; set; }
|
||||
|
|
@ -37,11 +37,11 @@ public class UploadFileDto
|
|||
{
|
||||
[Required]
|
||||
public string FileName { get; set; } = string.Empty;
|
||||
|
||||
|
||||
public string? ParentId { get; set; }
|
||||
|
||||
public string? TenantId { get; set; }
|
||||
|
||||
|
||||
// NoteModal pattern - Files array
|
||||
public IRemoteStreamContent[]? Files { get; set; }
|
||||
}
|
||||
|
|
@ -50,7 +50,7 @@ public class SearchFilesDto
|
|||
{
|
||||
[Required]
|
||||
public string Query { get; set; } = string.Empty;
|
||||
|
||||
|
||||
public string? ParentId { get; set; }
|
||||
|
||||
public string? TenantId { get; set; }
|
||||
|
|
@ -64,11 +64,11 @@ public class BulkDeleteDto
|
|||
public string? TenantId { get; set; }
|
||||
}
|
||||
|
||||
public class CopyItemsDto
|
||||
public class CopyItemsDto
|
||||
{
|
||||
[Required]
|
||||
public List<string> ItemIds { get; set; } = new();
|
||||
|
||||
|
||||
public string? TargetFolderId { get; set; }
|
||||
|
||||
public string? TenantId { get; set; }
|
||||
|
|
@ -78,7 +78,7 @@ public class MoveItemsDto
|
|||
{
|
||||
[Required]
|
||||
public List<string> ItemIds { get; set; } = new();
|
||||
|
||||
|
||||
public string? TargetFolderId { get; set; }
|
||||
|
||||
public string? TenantId { get; set; }
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ namespace Sozsoft.Platform.Identity.Dto;
|
|||
|
||||
public class AssignedBranchViewModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public bool IsAssigned { get; set; }
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@ namespace Sozsoft.Platform.Identity.Dto;
|
|||
|
||||
public class AssignedClaimViewModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public string ClaimType { get; set; }
|
||||
|
||||
public string ClaimValue { get; set; }
|
||||
|
||||
|
||||
public bool IsAssigned { get; set; }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ namespace Sozsoft.Platform.Identity.Dto;
|
|||
|
||||
public class AssignedDepartmentViewModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
|
||||
public bool IsAssigned { get; set; }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@ namespace Sozsoft.Platform.Identity.Dto;
|
|||
|
||||
public class AssignedJobPoisitionViewModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public Guid DepartmentId { get; set; }
|
||||
|
||||
|
||||
public bool IsAssigned { get; set; }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ namespace Sozsoft.Platform.Identity.Dto;
|
|||
|
||||
public class AssignedWorkHourViewModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
|
||||
public bool IsAssigned { get; set; }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sozsoft.Platform.Identity.Dto;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using Volo.Abp.Content;
|
||||
|
||||
namespace Sozsoft.Platform.Identity.Dto;
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ public class AnnouncementDto : FullAuditedEntityDto<Guid>
|
|||
public string ImageUrl { get; set; } = string.Empty;
|
||||
public string Category { get; set; } = string.Empty;
|
||||
public Guid? UserId { get; set; }
|
||||
public UserInfoViewModel? User { get; set; }
|
||||
public UserInfoViewModel? User { get; set; }
|
||||
public DateTime PublishDate { get; set; }
|
||||
public DateTime? ExpiryDate { get; set; }
|
||||
public bool IsPinned { get; set; }
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sozsoft.Platform.Intranet;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using Sozsoft.Platform.Identity.Dto;
|
||||
|
||||
namespace Sozsoft.Platform.Intranet;
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
}
|
||||
|
||||
|
|
@ -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; }
|
||||
}
|
||||
|
||||
|
|
@ -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; }
|
||||
}
|
||||
|
||||
|
|
@ -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; }
|
||||
}
|
||||
|
||||
|
|
@ -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; }
|
||||
}
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ public class ColumnFormatEditDto : ColumnFormatDto
|
|||
|
||||
[JsonIgnore]
|
||||
public string JoinTableJson { get; set; }
|
||||
public JoinTableDto ColumnJoinTableDto
|
||||
public JoinTableDto ColumnJoinTableDto
|
||||
{
|
||||
get
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
}
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
namespace Sozsoft.Platform.ListForms;
|
||||
|
||||
public class DeleteListFormFilterRequestDto
|
||||
{
|
||||
public string ListFormCode { get; set; }
|
||||
public string Id { get; set; }
|
||||
}
|
||||
|
||||
|
|
@ -5,7 +5,7 @@ namespace Sozsoft.Platform.ListForms;
|
|||
|
||||
// Field'in pivot ayarlarını tutan sınıf
|
||||
// PivotGridDataSourceField
|
||||
public class ListFormFieldPivotSettingsDto
|
||||
public class ListFormFieldPivotSettingsDto
|
||||
{
|
||||
public bool IsPivot { get; set; } = true;
|
||||
public bool Expanded { get; set; } = false;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue