kurs-platform -> erp-platform

This commit is contained in:
Sedat Öztürk 2025-11-11 22:49:52 +03:00
parent b92c59860e
commit 3e29189dd1
983 changed files with 5805 additions and 5150 deletions

16
api/.gitignore vendored
View file

@ -252,14 +252,14 @@ paket-files/
*.sln.iml
# Platform
src/Kurs.Platform.Web/Logs/*
src/Kurs.Platform.Web.Host/Logs/*
src/Kurs.Platform.AuthServer/Logs/*
src/Kurs.Platform.HttpApi.Host/Logs/*
src/Kurs.Platform.HttpApi.Host/Logs/*
src/Kurs.Platform.DbMigrator/Logs/*
src/Kurs.Platform.Blazor.Server/Logs/*
src/Kurs.Platform.Blazor.Server.Tiered/Logs/*
src/Erp.Platform.Web/Logs/*
src/Erp.Platform.Web.Host/Logs/*
src/Erp.Platform.AuthServer/Logs/*
src/Erp.Platform.HttpApi.Host/Logs/*
src/Erp.Platform.HttpApi.Host/Logs/*
src/Erp.Platform.DbMigrator/Logs/*
src/Erp.Platform.Blazor.Server/Logs/*
src/Erp.Platform.Blazor.Server.Tiered/Logs/*
# Use abp install-libs to restore.
**/wwwroot/libs/*

View file

@ -0,0 +1,48 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
ENV DOTNET_NUGET_SIGNATURE_VERIFICATION=false
WORKDIR /app
COPY "modules/Erp.Languages/Erp.Languages.Application.Contracts/Erp.Languages.Application.Contracts.csproj" "modules/Erp.Languages/Erp.Languages.Application.Contracts/"
COPY "modules/Erp.Languages/Erp.Languages.Domain/Erp.Languages.Domain.csproj" "modules/Erp.Languages/Erp.Languages.Domain/"
COPY "modules/Erp.Languages/Erp.Languages.Domain.Shared/Erp.Languages.Domain.Shared.csproj" "modules/Erp.Languages/Erp.Languages.Domain.Shared/"
COPY "modules/Erp.Languages/Erp.Languages.EntityFrameworkCore/Erp.Languages.EntityFrameworkCore.csproj" "modules/Erp.Languages/Erp.Languages.EntityFrameworkCore/"
COPY "modules/Erp.MailQueue/Erp.MailQueue.csproj" "modules/Erp.MailQueue/"
COPY "modules/Erp.Notifications/Erp.Notifications.Application.Contracts/Erp.Notifications.Application.Contracts.csproj" "modules/Erp.Notifications/Erp.Notifications.Application.Contracts/"
COPY "modules/Erp.Notifications/Erp.Notifications.Domain/Erp.Notifications.Domain.csproj" "modules/Erp.Notifications/Erp.Notifications.Domain/"
COPY "modules/Erp.Notifications/Erp.Notifications.Domain.Shared/Erp.Notifications.Domain.Shared.csproj" "modules/Erp.Notifications/Erp.Notifications.Domain.Shared/"
COPY "modules/Erp.Notifications/Erp.Notifications.EntityFrameworkCore/Erp.Notifications.EntityFrameworkCore.csproj" "modules/Erp.Notifications/Erp.Notifications.EntityFrameworkCore/"
COPY "modules/Erp.Sender/Erp.Sender.csproj" "modules/Erp.Sender/"
COPY "modules/Erp.Settings/Erp.Settings.Application.Contracts/Erp.Settings.Application.Contracts.csproj" "modules/Erp.Settings/Erp.Settings.Application.Contracts/"
COPY "modules/Erp.Settings/Erp.Settings.Domain/Erp.Settings.Domain.csproj" "modules/Erp.Settings/Erp.Settings.Domain/"
COPY "modules/Erp.Settings/Erp.Settings.Domain.Shared/Erp.Settings.Domain.Shared.csproj" "modules/Erp.Settings/Erp.Settings.Domain.Shared/"
COPY "modules/Erp.Settings/Erp.Settings.EntityFrameworkCore/Erp.Settings.EntityFrameworkCore.csproj" "modules/Erp.Settings/Erp.Settings.EntityFrameworkCore/"
COPY "src/Erp.Platform.Application.Contracts/Erp.Platform.Application.Contracts.csproj" "src/Erp.Platform.Application.Contracts/"
COPY "src/Erp.Platform.DbMigrator/Erp.Platform.DbMigrator.csproj" "src/Erp.Platform.DbMigrator/"
COPY "src/Erp.Platform.Domain/Erp.Platform.Domain.csproj" "src/Erp.Platform.Domain/"
COPY "src/Erp.Platform.Domain.Shared/Erp.Platform.Domain.Shared.csproj" "src/Erp.Platform.Domain.Shared/"
COPY "src/Erp.Platform.EntityFrameworkCore/Erp.Platform.EntityFrameworkCore.csproj" "src/Erp.Platform.EntityFrameworkCore/"
RUN dotnet restore "src/Erp.Platform.DbMigrator/Erp.Platform.DbMigrator.csproj"
COPY . .
RUN dotnet publish "src/Erp.Platform.DbMigrator/Erp.Platform.DbMigrator.csproj" -c Release -o /app/publish --no-restore
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
LC_ALL=tr_TR.UTF-8 \
LANG=tr_TR.UTF-8
# icu'lar dotnet culture icin gerekli
# lib'ler wkhtmltopdf icin gerekli
RUN apk update
RUN apk add --no-cache \
icu-data-full \
icu-libs \
libgdiplus \
libc6-compat \
libc-dev
WORKDIR /srv/app
COPY --from=build /app/publish .
ENTRYPOINT ["./Erp.Platform.DbMigrator"]

View file

@ -0,0 +1,77 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
ENV DOTNET_NUGET_SIGNATURE_VERIFICATION=false
WORKDIR /app
RUN apk update && apk upgrade
RUN apk add nodejs~=22 npm~=11
RUN dotnet tool install -g Volo.Abp.Cli
ENV PATH="/root/.dotnet/tools:${PATH}"
COPY "src/Erp.Platform.HttpApi.Host/Erp.Platform.HttpApi.Host.csproj" "src/Erp.Platform.HttpApi.Host/"
COPY "src/Erp.Platform.HttpApi.Host/package.json" "src/Erp.Platform.HttpApi.Host/"
COPY "src/Erp.Platform.HttpApi.Host/package-lock.json" "src/Erp.Platform.HttpApi.Host/"
WORKDIR /app/src/Erp.Platform.HttpApi.Host
RUN abp install-libs
WORKDIR /app
COPY "modules/Erp.Languages/Erp.Languages.Application/Erp.Languages.Application.csproj" "modules/Erp.Languages/Erp.Languages.Application/"
COPY "modules/Erp.Languages/Erp.Languages.Application.Contracts/Erp.Languages.Application.Contracts.csproj" "modules/Erp.Languages/Erp.Languages.Application.Contracts/"
COPY "modules/Erp.Languages/Erp.Languages.Domain/Erp.Languages.Domain.csproj" "modules/Erp.Languages/Erp.Languages.Domain/"
COPY "modules/Erp.Languages/Erp.Languages.Domain.Shared/Erp.Languages.Domain.Shared.csproj" "modules/Erp.Languages/Erp.Languages.Domain.Shared/"
COPY "modules/Erp.Languages/Erp.Languages.EntityFrameworkCore/Erp.Languages.EntityFrameworkCore.csproj" "modules/Erp.Languages/Erp.Languages.EntityFrameworkCore/"
COPY "modules/Erp.MailQueue/Erp.MailQueue.csproj" "modules/Erp.MailQueue/"
COPY "modules/Erp.Notifications/Erp.Notifications.Application/Erp.Notifications.Application.csproj" "modules/Erp.Notifications/Erp.Notifications.Application/"
COPY "modules/Erp.Notifications/Erp.Notifications.Application.Contracts/Erp.Notifications.Application.Contracts.csproj" "modules/Erp.Notifications/Erp.Notifications.Application.Contracts/"
COPY "modules/Erp.Notifications/Erp.Notifications.Domain/Erp.Notifications.Domain.csproj" "modules/Erp.Notifications/Erp.Notifications.Domain/"
COPY "modules/Erp.Notifications/Erp.Notifications.Domain.Shared/Erp.Notifications.Domain.Shared.csproj" "modules/Erp.Notifications/Erp.Notifications.Domain.Shared/"
COPY "modules/Erp.Notifications/Erp.Notifications.EntityFrameworkCore/Erp.Notifications.EntityFrameworkCore.csproj" "modules/Erp.Notifications/Erp.Notifications.EntityFrameworkCore/"
COPY "modules/Erp.Sender/Erp.Sender.csproj" "modules/Erp.Sender/"
COPY "modules/Erp.Settings/Erp.Settings.Application/Erp.Settings.Application.csproj" "modules/Erp.Settings/Erp.Settings.Application/"
COPY "modules/Erp.Settings/Erp.Settings.Application.Contracts/Erp.Settings.Application.Contracts.csproj" "modules/Erp.Settings/Erp.Settings.Application.Contracts/"
COPY "modules/Erp.Settings/Erp.Settings.Domain/Erp.Settings.Domain.csproj" "modules/Erp.Settings/Erp.Settings.Domain/"
COPY "modules/Erp.Settings/Erp.Settings.Domain.Shared/Erp.Settings.Domain.Shared.csproj" "modules/Erp.Settings/Erp.Settings.Domain.Shared/"
COPY "modules/Erp.Settings/Erp.Settings.EntityFrameworkCore/Erp.Settings.EntityFrameworkCore.csproj" "modules/Erp.Settings/Erp.Settings.EntityFrameworkCore/"
COPY "src/Erp.Platform.Application/Erp.Platform.Application.csproj" "src/Erp.Platform.Application/"
COPY "src/Erp.Platform.Application.Contracts/Erp.Platform.Application.Contracts.csproj" "src/Erp.Platform.Application.Contracts/"
COPY "src/Erp.Platform.Domain/Erp.Platform.Domain.csproj" "src/Erp.Platform.Domain/"
COPY "src/Erp.Platform.Domain.Shared/Erp.Platform.Domain.Shared.csproj" "src/Erp.Platform.Domain.Shared/"
COPY "src/Erp.Platform.EntityFrameworkCore/Erp.Platform.EntityFrameworkCore.csproj" "src/Erp.Platform.EntityFrameworkCore/"
COPY "src/Erp.Platform.HttpApi/Erp.Platform.HttpApi.csproj" "src/Erp.Platform.HttpApi/"
COPY "src/Erp.Platform.HttpApi.Client/Erp.Platform.HttpApi.Client.csproj" "src/Erp.Platform.HttpApi.Client/"
COPY "src/Erp.Platform.HttpApi.Host/Erp.Platform.HttpApi.Host.csproj" "src/Erp.Platform.HttpApi.Host/"
COPY "test/Erp.Platform.EntityFrameworkCore.Tests/Erp.Platform.EntityFrameworkCore.Tests.csproj" "test/Erp.Platform.EntityFrameworkCore.Tests/"
COPY "test/Erp.Platform.TestBase/Erp.Platform.TestBase.csproj" "test/Erp.Platform.TestBase/"
RUN dotnet restore "src/Erp.Platform.HttpApi.Host/Erp.Platform.HttpApi.Host.csproj"
COPY . .
RUN mkdir -p publish
RUN dotnet publish "src/Erp.Platform.HttpApi.Host/Erp.Platform.HttpApi.Host.csproj" -c Release -o /app/publish --no-restore
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
LC_ALL=tr_TR.UTF-8 \
LANG=tr_TR.UTF-8
# icu'lar dotnet culture icin gerekli
# lib'ler wkhtmltopdf icin gerekli
RUN apk update
RUN apk add --no-cache \
icu-data-full \
icu-libs \
libgdiplus \
libc6-compat \
libc-dev
# OpenSSL default TLSv3 desteklediği için MSSQL 2012'ye bağlanmıyor. Bunu çözmek için gerekli
RUN sed -i 's/\[openssl_init\]/# [openssl_init]/' /etc/ssl/openssl.cnf
RUN printf "\n\n[openssl_init]\nssl_conf = ssl_sect" >> /etc/ssl/openssl.cnf
RUN printf "\n\n[ssl_sect]\nsystem_default = ssl_default_sect" >> /etc/ssl/openssl.cnf
RUN printf "\n\n[ssl_default_sect]\nMinProtocol = TLSv1\nCipherString = DEFAULT@SECLEVEL=0\n" >> /etc/ssl/openssl.cnf
EXPOSE 80
EXPOSE 443
WORKDIR /srv/app
COPY --from=build /app/publish .
ENTRYPOINT ["./Erp.Platform.HttpApi.Host"]

View file

@ -3,77 +3,77 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33213.308
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.Domain", "src\Kurs.Platform.Domain\Kurs.Platform.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.Domain", "src\Erp.Platform.Domain\Erp.Platform.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.Application", "src\Kurs.Platform.Application\Kurs.Platform.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.Application", "src\Erp.Platform.Application\Erp.Platform.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.EntityFrameworkCore", "src\Kurs.Platform.EntityFrameworkCore\Kurs.Platform.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.EntityFrameworkCore", "src\Erp.Platform.EntityFrameworkCore\Erp.Platform.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.Domain.Shared", "src\Kurs.Platform.Domain.Shared\Kurs.Platform.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.Domain.Shared", "src\Erp.Platform.Domain.Shared\Erp.Platform.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.Application.Contracts", "src\Kurs.Platform.Application.Contracts\Kurs.Platform.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.Application.Contracts", "src\Erp.Platform.Application.Contracts\Erp.Platform.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.HttpApi", "src\Kurs.Platform.HttpApi\Kurs.Platform.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.HttpApi", "src\Erp.Platform.HttpApi\Erp.Platform.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.HttpApi.Client", "src\Kurs.Platform.HttpApi.Client\Kurs.Platform.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.HttpApi.Client", "src\Erp.Platform.HttpApi.Client\Erp.Platform.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.DbMigrator", "src\Kurs.Platform.DbMigrator\Kurs.Platform.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.DbMigrator", "src\Erp.Platform.DbMigrator\Erp.Platform.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.HttpApi.Host", "src\Kurs.Platform.HttpApi.Host\Kurs.Platform.HttpApi.Host.csproj", "{748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.HttpApi.Host", "src\Erp.Platform.HttpApi.Host\Erp.Platform.HttpApi.Host.csproj", "{748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{03E1C8DA-035E-4882-AF81-F392139FCF38}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Kurs.Sender", "Kurs.Sender", "{4D886EEF-D4CF-4879-A10D-249D762E4ED9}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Erp.Sender", "Erp.Sender", "{4D886EEF-D4CF-4879-A10D-249D762E4ED9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Sender", "modules\Kurs.Sender\Kurs.Sender.csproj", "{21B52B6A-FC09-4EDA-8A73-9516726BF50B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Sender", "modules\Erp.Sender\Erp.Sender.csproj", "{21B52B6A-FC09-4EDA-8A73-9516726BF50B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Kurs.Languages", "Kurs.Languages", "{3B18248C-EE9C-43ED-9025-D3A78986EA7D}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Erp.Languages", "Erp.Languages", "{3B18248C-EE9C-43ED-9025-D3A78986EA7D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Languages.Application", "modules\Kurs.Languages\Kurs.Languages.Application\Kurs.Languages.Application.csproj", "{E9D256F2-B12F-4A90-8CF6-B52724716A94}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Languages.Application", "modules\Erp.Languages\Erp.Languages.Application\Erp.Languages.Application.csproj", "{E9D256F2-B12F-4A90-8CF6-B52724716A94}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Languages.Application.Contracts", "modules\Kurs.Languages\Kurs.Languages.Application.Contracts\Kurs.Languages.Application.Contracts.csproj", "{F1EC497F-D361-4927-AFE6-156A0F7D8A1C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Languages.Application.Contracts", "modules\Erp.Languages\Erp.Languages.Application.Contracts\Erp.Languages.Application.Contracts.csproj", "{F1EC497F-D361-4927-AFE6-156A0F7D8A1C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Languages.Domain", "modules\Kurs.Languages\Kurs.Languages.Domain\Kurs.Languages.Domain.csproj", "{9020ECD8-81D6-4604-A379-260796918C28}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Languages.Domain", "modules\Erp.Languages\Erp.Languages.Domain\Erp.Languages.Domain.csproj", "{9020ECD8-81D6-4604-A379-260796918C28}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Languages.Domain.Shared", "modules\Kurs.Languages\Kurs.Languages.Domain.Shared\Kurs.Languages.Domain.Shared.csproj", "{A3933E06-9DFE-480D-85C4-66F28F076164}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Languages.Domain.Shared", "modules\Erp.Languages\Erp.Languages.Domain.Shared\Erp.Languages.Domain.Shared.csproj", "{A3933E06-9DFE-480D-85C4-66F28F076164}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Languages.EntityFrameworkCore", "modules\Kurs.Languages\Kurs.Languages.EntityFrameworkCore\Kurs.Languages.EntityFrameworkCore.csproj", "{556AC2C2-9765-4B3D-8F38-9EAF3DA61AC5}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Languages.EntityFrameworkCore", "modules\Erp.Languages\Erp.Languages.EntityFrameworkCore\Erp.Languages.EntityFrameworkCore.csproj", "{556AC2C2-9765-4B3D-8F38-9EAF3DA61AC5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Kurs.Settings", "Kurs.Settings", "{4D880243-0276-49A9-9FF2-FAD8BA727F74}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Erp.Settings", "Erp.Settings", "{4D880243-0276-49A9-9FF2-FAD8BA727F74}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Settings.Application", "modules\Kurs.Settings\Kurs.Settings.Application\Kurs.Settings.Application.csproj", "{5F288ACC-A9CF-470B-BB68-B1C8B102CDDD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Settings.Application", "modules\Erp.Settings\Erp.Settings.Application\Erp.Settings.Application.csproj", "{5F288ACC-A9CF-470B-BB68-B1C8B102CDDD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Settings.Application.Contracts", "modules\Kurs.Settings\Kurs.Settings.Application.Contracts\Kurs.Settings.Application.Contracts.csproj", "{A926F04F-631B-4A05-853C-6C76555BF26A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Settings.Application.Contracts", "modules\Erp.Settings\Erp.Settings.Application.Contracts\Erp.Settings.Application.Contracts.csproj", "{A926F04F-631B-4A05-853C-6C76555BF26A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Settings.Domain", "modules\Kurs.Settings\Kurs.Settings.Domain\Kurs.Settings.Domain.csproj", "{E14E0128-D4FF-462D-B684-7238EA876D69}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Settings.Domain", "modules\Erp.Settings\Erp.Settings.Domain\Erp.Settings.Domain.csproj", "{E14E0128-D4FF-462D-B684-7238EA876D69}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Settings.Domain.Shared", "modules\Kurs.Settings\Kurs.Settings.Domain.Shared\Kurs.Settings.Domain.Shared.csproj", "{DBFD0F4B-5592-4E34-8624-04F7540E34B9}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Settings.Domain.Shared", "modules\Erp.Settings\Erp.Settings.Domain.Shared\Erp.Settings.Domain.Shared.csproj", "{DBFD0F4B-5592-4E34-8624-04F7540E34B9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Settings.EntityFrameworkCore", "modules\Kurs.Settings\Kurs.Settings.EntityFrameworkCore\Kurs.Settings.EntityFrameworkCore.csproj", "{C2F5630E-A6E2-48D5-B182-5FE9278D3E37}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Settings.EntityFrameworkCore", "modules\Erp.Settings\Erp.Settings.EntityFrameworkCore\Erp.Settings.EntityFrameworkCore.csproj", "{C2F5630E-A6E2-48D5-B182-5FE9278D3E37}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{62A235F3-B95E-4CB4-B59E-AAE30A0E6C5B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.TestBase", "test\Kurs.Platform.TestBase\Kurs.Platform.TestBase.csproj", "{3E13749E-82D1-434B-B867-F7B094B66065}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.TestBase", "test\Erp.Platform.TestBase\Erp.Platform.TestBase.csproj", "{3E13749E-82D1-434B-B867-F7B094B66065}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Platform.EntityFrameworkCore.Tests", "test\Kurs.Platform.EntityFrameworkCore.Tests\Kurs.Platform.EntityFrameworkCore.Tests.csproj", "{620D9F08-EB9F-469F-806A-64E915437154}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Platform.EntityFrameworkCore.Tests", "test\Erp.Platform.EntityFrameworkCore.Tests\Erp.Platform.EntityFrameworkCore.Tests.csproj", "{620D9F08-EB9F-469F-806A-64E915437154}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Kurs.MailQueue", "Kurs.MailQueue", "{70BCE3C5-D122-4EF8-97EC-DB804AEE92D5}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Erp.MailQueue", "Erp.MailQueue", "{70BCE3C5-D122-4EF8-97EC-DB804AEE92D5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.MailQueue", "modules\Kurs.MailQueue\Kurs.MailQueue.csproj", "{088B3139-68D3-4A5F-B159-0C8FE94CD969}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.MailQueue", "modules\Erp.MailQueue\Erp.MailQueue.csproj", "{088B3139-68D3-4A5F-B159-0C8FE94CD969}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Kurs.Notifications", "Kurs.Notifications", "{41A473FE-2537-4223-8CF3-A4A2A4A4F41E}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Erp.Notifications", "Erp.Notifications", "{41A473FE-2537-4223-8CF3-A4A2A4A4F41E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Notifications.Application", "modules\Kurs.Notifications\Kurs.Notifications.Application\Kurs.Notifications.Application.csproj", "{A972109D-D974-4BB2-BA01-72BD845ACBBA}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Notifications.Application", "modules\Erp.Notifications\Erp.Notifications.Application\Erp.Notifications.Application.csproj", "{A972109D-D974-4BB2-BA01-72BD845ACBBA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Notifications.Application.Contracts", "modules\Kurs.Notifications\Kurs.Notifications.Application.Contracts\Kurs.Notifications.Application.Contracts.csproj", "{297B7268-DEF3-4669-98DF-78FA08619EDF}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Notifications.Application.Contracts", "modules\Erp.Notifications\Erp.Notifications.Application.Contracts\Erp.Notifications.Application.Contracts.csproj", "{297B7268-DEF3-4669-98DF-78FA08619EDF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Notifications.Domain", "modules\Kurs.Notifications\Kurs.Notifications.Domain\Kurs.Notifications.Domain.csproj", "{631092C7-B59D-4EA7-92D0-5E181AB4F9F6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Notifications.Domain", "modules\Erp.Notifications\Erp.Notifications.Domain\Erp.Notifications.Domain.csproj", "{631092C7-B59D-4EA7-92D0-5E181AB4F9F6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Notifications.Domain.Shared", "modules\Kurs.Notifications\Kurs.Notifications.Domain.Shared\Kurs.Notifications.Domain.Shared.csproj", "{23659070-58F7-403B-8973-B2E20B5E9BE1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Notifications.Domain.Shared", "modules\Erp.Notifications\Erp.Notifications.Domain.Shared\Erp.Notifications.Domain.Shared.csproj", "{23659070-58F7-403B-8973-B2E20B5E9BE1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kurs.Notifications.EntityFrameworkCore", "modules\Kurs.Notifications\Kurs.Notifications.EntityFrameworkCore\Kurs.Notifications.EntityFrameworkCore.csproj", "{D9E0D333-60F3-493F-A5B2-5758ACA42A17}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Erp.Notifications.EntityFrameworkCore", "modules\Erp.Notifications\Erp.Notifications.EntityFrameworkCore\Erp.Notifications.EntityFrameworkCore.csproj", "{D9E0D333-60F3-493F-A5B2-5758ACA42A17}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{722BAAEF-70B8-4381-A8AD-7F2C205D2D0A}"
ProjectSection(SolutionItems) = preProject
@ -241,3 +241,5 @@ Global
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
EndGlobalSection
EndGlobal

View file

@ -1,46 +0,0 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
ENV DOTNET_NUGET_SIGNATURE_VERIFICATION=false
WORKDIR /app
COPY "modules/Kurs.Languages/Kurs.Languages.Application.Contracts/Kurs.Languages.Application.Contracts.csproj" "modules/Kurs.Languages/Kurs.Languages.Application.Contracts/"
COPY "modules/Kurs.Languages/Kurs.Languages.Domain/Kurs.Languages.Domain.csproj" "modules/Kurs.Languages/Kurs.Languages.Domain/"
COPY "modules/Kurs.Languages/Kurs.Languages.Domain.Shared/Kurs.Languages.Domain.Shared.csproj" "modules/Kurs.Languages/Kurs.Languages.Domain.Shared/"
COPY "modules/Kurs.Languages/Kurs.Languages.EntityFrameworkCore/Kurs.Languages.EntityFrameworkCore.csproj" "modules/Kurs.Languages/Kurs.Languages.EntityFrameworkCore/"
COPY "modules/Kurs.MailQueue/Kurs.MailQueue.csproj" "modules/Kurs.MailQueue/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.Application.Contracts/Kurs.Notifications.Application.Contracts.csproj" "modules/Kurs.Notifications/Kurs.Notifications.Application.Contracts/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.Domain/Kurs.Notifications.Domain.csproj" "modules/Kurs.Notifications/Kurs.Notifications.Domain/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.Domain.Shared/Kurs.Notifications.Domain.Shared.csproj" "modules/Kurs.Notifications/Kurs.Notifications.Domain.Shared/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.EntityFrameworkCore/Kurs.Notifications.EntityFrameworkCore.csproj" "modules/Kurs.Notifications/Kurs.Notifications.EntityFrameworkCore/"
COPY "modules/Kurs.Sender/Kurs.Sender.csproj" "modules/Kurs.Sender/"
COPY "modules/Kurs.Settings/Kurs.Settings.Application.Contracts/Kurs.Settings.Application.Contracts.csproj" "modules/Kurs.Settings/Kurs.Settings.Application.Contracts/"
COPY "modules/Kurs.Settings/Kurs.Settings.Domain/Kurs.Settings.Domain.csproj" "modules/Kurs.Settings/Kurs.Settings.Domain/"
COPY "modules/Kurs.Settings/Kurs.Settings.Domain.Shared/Kurs.Settings.Domain.Shared.csproj" "modules/Kurs.Settings/Kurs.Settings.Domain.Shared/"
COPY "modules/Kurs.Settings/Kurs.Settings.EntityFrameworkCore/Kurs.Settings.EntityFrameworkCore.csproj" "modules/Kurs.Settings/Kurs.Settings.EntityFrameworkCore/"
COPY "src/Kurs.Platform.Application.Contracts/Kurs.Platform.Application.Contracts.csproj" "src/Kurs.Platform.Application.Contracts/"
COPY "src/Kurs.Platform.DbMigrator/Kurs.Platform.DbMigrator.csproj" "src/Kurs.Platform.DbMigrator/"
COPY "src/Kurs.Platform.Domain/Kurs.Platform.Domain.csproj" "src/Kurs.Platform.Domain/"
COPY "src/Kurs.Platform.Domain.Shared/Kurs.Platform.Domain.Shared.csproj" "src/Kurs.Platform.Domain.Shared/"
COPY "src/Kurs.Platform.EntityFrameworkCore/Kurs.Platform.EntityFrameworkCore.csproj" "src/Kurs.Platform.EntityFrameworkCore/"
RUN dotnet restore "src/Kurs.Platform.DbMigrator/Kurs.Platform.DbMigrator.csproj"
COPY . .
RUN dotnet publish "src/Kurs.Platform.DbMigrator/Kurs.Platform.DbMigrator.csproj" -c Release -o /app/publish --no-restore
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
LC_ALL=tr_TR.UTF-8 \
LANG=tr_TR.UTF-8
# icu'lar dotnet culture icin gerekli
# lib'ler wkhtmltopdf icin gerekli
RUN apk update
RUN apk add --no-cache \
icu-data-full \
icu-libs \
libgdiplus \
libc6-compat \
libc-dev
WORKDIR /srv/app
COPY --from=build /app/publish .
ENTRYPOINT ["./Kurs.Platform.DbMigrator"]

View file

@ -1,75 +0,0 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
ENV DOTNET_NUGET_SIGNATURE_VERIFICATION=false
WORKDIR /app
RUN apk update && apk upgrade
RUN apk add nodejs~=22 npm~=11
RUN dotnet tool install -g Volo.Abp.Cli
ENV PATH="/root/.dotnet/tools:${PATH}"
COPY "src/Kurs.Platform.HttpApi.Host/Kurs.Platform.HttpApi.Host.csproj" "src/Kurs.Platform.HttpApi.Host/"
COPY "src/Kurs.Platform.HttpApi.Host/package.json" "src/Kurs.Platform.HttpApi.Host/"
COPY "src/Kurs.Platform.HttpApi.Host/package-lock.json" "src/Kurs.Platform.HttpApi.Host/"
WORKDIR /app/src/Kurs.Platform.HttpApi.Host
RUN abp install-libs
WORKDIR /app
COPY "modules/Kurs.Languages/Kurs.Languages.Application/Kurs.Languages.Application.csproj" "modules/Kurs.Languages/Kurs.Languages.Application/"
COPY "modules/Kurs.Languages/Kurs.Languages.Application.Contracts/Kurs.Languages.Application.Contracts.csproj" "modules/Kurs.Languages/Kurs.Languages.Application.Contracts/"
COPY "modules/Kurs.Languages/Kurs.Languages.Domain/Kurs.Languages.Domain.csproj" "modules/Kurs.Languages/Kurs.Languages.Domain/"
COPY "modules/Kurs.Languages/Kurs.Languages.Domain.Shared/Kurs.Languages.Domain.Shared.csproj" "modules/Kurs.Languages/Kurs.Languages.Domain.Shared/"
COPY "modules/Kurs.Languages/Kurs.Languages.EntityFrameworkCore/Kurs.Languages.EntityFrameworkCore.csproj" "modules/Kurs.Languages/Kurs.Languages.EntityFrameworkCore/"
COPY "modules/Kurs.MailQueue/Kurs.MailQueue.csproj" "modules/Kurs.MailQueue/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.Application/Kurs.Notifications.Application.csproj" "modules/Kurs.Notifications/Kurs.Notifications.Application/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.Application.Contracts/Kurs.Notifications.Application.Contracts.csproj" "modules/Kurs.Notifications/Kurs.Notifications.Application.Contracts/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.Domain/Kurs.Notifications.Domain.csproj" "modules/Kurs.Notifications/Kurs.Notifications.Domain/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.Domain.Shared/Kurs.Notifications.Domain.Shared.csproj" "modules/Kurs.Notifications/Kurs.Notifications.Domain.Shared/"
COPY "modules/Kurs.Notifications/Kurs.Notifications.EntityFrameworkCore/Kurs.Notifications.EntityFrameworkCore.csproj" "modules/Kurs.Notifications/Kurs.Notifications.EntityFrameworkCore/"
COPY "modules/Kurs.Sender/Kurs.Sender.csproj" "modules/Kurs.Sender/"
COPY "modules/Kurs.Settings/Kurs.Settings.Application/Kurs.Settings.Application.csproj" "modules/Kurs.Settings/Kurs.Settings.Application/"
COPY "modules/Kurs.Settings/Kurs.Settings.Application.Contracts/Kurs.Settings.Application.Contracts.csproj" "modules/Kurs.Settings/Kurs.Settings.Application.Contracts/"
COPY "modules/Kurs.Settings/Kurs.Settings.Domain/Kurs.Settings.Domain.csproj" "modules/Kurs.Settings/Kurs.Settings.Domain/"
COPY "modules/Kurs.Settings/Kurs.Settings.Domain.Shared/Kurs.Settings.Domain.Shared.csproj" "modules/Kurs.Settings/Kurs.Settings.Domain.Shared/"
COPY "modules/Kurs.Settings/Kurs.Settings.EntityFrameworkCore/Kurs.Settings.EntityFrameworkCore.csproj" "modules/Kurs.Settings/Kurs.Settings.EntityFrameworkCore/"
COPY "src/Kurs.Platform.Application/Kurs.Platform.Application.csproj" "src/Kurs.Platform.Application/"
COPY "src/Kurs.Platform.Application.Contracts/Kurs.Platform.Application.Contracts.csproj" "src/Kurs.Platform.Application.Contracts/"
COPY "src/Kurs.Platform.Domain/Kurs.Platform.Domain.csproj" "src/Kurs.Platform.Domain/"
COPY "src/Kurs.Platform.Domain.Shared/Kurs.Platform.Domain.Shared.csproj" "src/Kurs.Platform.Domain.Shared/"
COPY "src/Kurs.Platform.EntityFrameworkCore/Kurs.Platform.EntityFrameworkCore.csproj" "src/Kurs.Platform.EntityFrameworkCore/"
COPY "src/Kurs.Platform.HttpApi/Kurs.Platform.HttpApi.csproj" "src/Kurs.Platform.HttpApi/"
COPY "src/Kurs.Platform.HttpApi.Client/Kurs.Platform.HttpApi.Client.csproj" "src/Kurs.Platform.HttpApi.Client/"
COPY "src/Kurs.Platform.HttpApi.Host/Kurs.Platform.HttpApi.Host.csproj" "src/Kurs.Platform.HttpApi.Host/"
COPY "test/Kurs.Platform.EntityFrameworkCore.Tests/Kurs.Platform.EntityFrameworkCore.Tests.csproj" "test/Kurs.Platform.EntityFrameworkCore.Tests/"
COPY "test/Kurs.Platform.TestBase/Kurs.Platform.TestBase.csproj" "test/Kurs.Platform.TestBase/"
RUN dotnet restore "src/Kurs.Platform.HttpApi.Host/Kurs.Platform.HttpApi.Host.csproj"
COPY . .
RUN mkdir -p publish
RUN dotnet publish "src/Kurs.Platform.HttpApi.Host/Kurs.Platform.HttpApi.Host.csproj" -c Release -o /app/publish --no-restore
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS final
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
LC_ALL=tr_TR.UTF-8 \
LANG=tr_TR.UTF-8
# icu'lar dotnet culture icin gerekli
# lib'ler wkhtmltopdf icin gerekli
RUN apk update
RUN apk add --no-cache \
icu-data-full \
icu-libs \
libgdiplus \
libc6-compat \
libc-dev
# OpenSSL default TLSv3 desteklediği için MSSQL 2012'ye bağlanmıyor. Bunu çözmek için gerekli
RUN sed -i 's/\[openssl_init\]/# [openssl_init]/' /etc/ssl/openssl.cnf
RUN printf "\n\n[openssl_init]\nssl_conf = ssl_sect" >> /etc/ssl/openssl.cnf
RUN printf "\n\n[ssl_sect]\nsystem_default = ssl_default_sect" >> /etc/ssl/openssl.cnf
RUN printf "\n\n[ssl_default_sect]\nMinProtocol = TLSv1\nCipherString = DEFAULT@SECLEVEL=0\n" >> /etc/ssl/openssl.cnf
EXPOSE 80
EXPOSE 443
WORKDIR /srv/app
COPY --from=build /app/publish .
ENTRYPOINT ["./Kurs.Platform.HttpApi.Host"]

View file

@ -1,10 +1,10 @@
# Yeni Modul Ekleme
# Yeni Modul Ekleme
`abp new Kurs.Notification -t module --no-ui -m none --database-provider ef --version 7.2.2 --old`
`abp new Erp.Notification -t module --no-ui -m none --database-provider ef --version 7.2.2 --old`
# Code Format
`dotnet format --include .\modules\Kurs.Notification\ --folder`
`dotnet format --include .\modules\Erp.Notification\ --folder`
# Migrations
@ -17,13 +17,13 @@
`dotnet ef migrations remove`
`dotnet ef database update "20240822114716_ABP_822"`
- SQL Veritabanını Entity Class oluştur.
- SQL Veritabanını Entity Class oluştur.
`dotnet ef dbcontext scaffold "Server=SERVERNAME;Database=DBNAME;User ID=USERNAME;Password=PASSWORD;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer --context MyDbContext --output-dir Models --data-annotations --force`
# Custom Endpoints
```
Token İsteği Örnek:
Token İsteği Örnek:
POST /connect/token HTTP/1.1
Host: localhost:44344
Content-Type: application/x-www-form-urlencoded
@ -35,28 +35,28 @@ username=system%40sozsoft.com
&scope=offline_access%20Platform
```
## Whatsapp Ayarları
## Whatsapp Ayarları
- Normal facebook üyeliği yapılır.
- https://developers.facebook.com/ sitesinden yeni developer üyeliği oluşturulur. Developer üyeliği seçilir.
- CreateApp butonu ile yeni uygulama oluşturulur. Uygulama adı belirlenir. 'Kurs Messenger'
- AppType olarak İşletme seçilir ve App oluşturulur.
- Add Products kısmında WhatsApp seçilir ve Business Account oluşturulur.
- 3 noktadan (menüden) WhatsApp Manager sayfasına gidilir. Manage Templates seçilir, istenirse yeni template oluşturulur. 'hello_world'
- WhatsApp Manager üzerinde menüden Settings -> Users -> System Users eklenir. Kullanıcı adı 'admin' ve Role ise 'Admin' seçilir.
- Eklenen 'admin' kullanıcısında 'Assign Assets' seçilir ve full yetki verilir.
- admin kullanıcısı üzerinden 'Generate Token' seçilir ve aşağıdaki yetkiler verilir.
- Normal facebook üyeliği yapılır.
- https://developers.facebook.com/ sitesinden yeni developer üyeliği oluşturulur. Developer üyeliği seçilir.
- CreateApp butonu ile yeni uygulama oluşturulur. Uygulama adı belirlenir. 'Erp Messenger'
- AppType olarak İşletme seçilir ve App oluşturulur.
- Add Products kısmında WhatsApp seçilir ve Business Account oluşturulur.
- 3 noktadan (menüden) WhatsApp Manager sayfasına gidilir. Manage Templates seçilir, istenirse yeni template oluşturulur. 'hello_world'
- WhatsApp Manager üzerinde menüden Settings -> Users -> System Users eklenir. Kullanıcı adı 'admin' ve Role ise 'Admin' seçilir.
- Eklenen 'admin' kullanıcısında 'Assign Assets' seçilir ve full yetki verilir.
- admin kullanıcısı üzerinden 'Generate Token' seçilir ve aşağıdaki yetkiler verilir.
```
- whatsapp_business_management'
- 'whatsapp_business_messaging'
```
- WhatsApp -> API Setup kısmından "From" kısmında yeni telefon numarası eklenir.
- WhatsApp -> API Setup kısmından Generate Access Token oluşturulur.
- WhatsApp -> API Setup kısmından "From" kısmında yeni telefon numarası eklenir.
- WhatsApp -> API Setup kısmından Generate Access Token oluşturulur.
- token: EAASM83pDJf0BO0ZCYBr3Fx4SES0ox8XiZCgP3FIteprYpwawZCkGYjpMlKk4OZCWgRNZC2Ttofgf8amMf929ZBuDcgYIOsXkPMGBNmVxm2czipzq63LmtbYfyCWsKVy0q1jtay0nRoeDuO2FKhqCfLLtNn9cSWjINVLcz26ptK8a2Oko83cZBzrNsp3cpIECnzqRfEjHdEz1U73y3ZB1MZBOhHilax7yZALf4ZA1Tmk
- WhatsApp telefon numarasını Register etmek için aşağıdaki postman Curl gönderilir.
- WhatsApp telefon numarasını Register etmek için aşağıdaki postman Curl gönderilir.
```
curl --location 'https://graph.facebook.com/v21.0/521106361082067/register' \
@ -68,12 +68,12 @@ username=system%40sozsoft.com
}'
```
- Message göndermek için url : https://graph.facebook.com/v21.0/521106361082067/messages
- Message göndermek için url : https://graph.facebook.com/v21.0/521106361082067/messages
```
{
"messaging_product": "whatsapp",
"to": "{+gönderilecek gsm numarası}",
"to": "{+gönderilecek gsm numarası}",
"type": "template",
"template": {
"name": "{message_template_name}",
@ -86,7 +86,7 @@ username=system%40sozsoft.com
"parameters": [
{
"type": "text",
"text": "Test mesajı"
"text": "Test mesajı"
}
]
}
@ -99,15 +99,16 @@ username=system%40sozsoft.com
- https://abp.io/docs/latest/release-info/upgrading
- https://abp.io/docs/9.0/release-info/migration-guides/abp-9-0
- https://learn.microsoft.com/en-us/aspnet/core/migration/80-90?view=aspnetcore-9.0&tabs=visual-studio-code
- Adımlar:
- abp cli güncellenir dotnet tool update --global Volo.Abp.Cli
- abp update ile sln içindeki referanslar update edilir
- modules/ klasörü *.csproj içinde ara&düzenle ile update edilir (örn. 8.3.4 -> 9.0.2)
- .net sürümü arttıysa Microsoft'un dotnet upgrade dokümanı takip edilir
- Yeni dotnet sdk kurulumu yapılır (örn dotnet 9 sdk)
- ef tools güncellenir (dotnet tool update --global dotnet-ef)
- Dockerfile dosyalarındaki base imajlar yeni dotnet sürümüne güncellenir
- Abp upgrade dokümanı takip edilir
- Proje build olmuyorsa hatalar çözülür
- Yeni migration eklenir (varsa). Migration boş çıkıyorsa kaldırılır. (Örn dotnet ef migrations add Abp902 ve dotnet ef migrations remove)
- Migration boş değilse çalıştırılır (dotnet ef database update)
- Adımlar:
- abp cli güncellenir dotnet tool update --global Volo.Abp.Cli
- abp update ile sln içindeki referanslar update edilir
- modules/ klasörü *.csproj içinde ara&düzenle ile update edilir (örn. 8.3.4 -> 9.0.2)
- .net sürümü arttıysa Microsoft'un dotnet upgrade dokümanı takip edilir
- Yeni dotnet sdk kurulumu yapılır (örn dotnet 9 sdk)
- ef tools güncellenir (dotnet tool update --global dotnet-ef)
- Dockerfile dosyalarındaki base imajlar yeni dotnet sürümüne güncellenir
- Abp upgrade dokümanı takip edilir
- Proje build olmuyorsa hatalar çözülür
- Yeni migration eklenir (varsa). Migration boÅŸ çıkıyorsa kaldırılır. (Ãrn dotnet ef migrations add Abp902 ve dotnet ef migrations remove)
- Migration boş değilse çalıştırılır (dotnet ef database update)

View file

@ -1 +1 @@
dotnet run --project src/Kurs.Platform.DbMigrator
dotnet run --project src/Erp.Platform.DbMigrator

View file

@ -2,7 +2,7 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageDto : FullAuditedEntityDto<Guid>
{
@ -18,3 +18,4 @@ public class LanguageDto : FullAuditedEntityDto<Guid>
[Required]
public bool IsEnabled { get; set; }
}

View file

@ -2,7 +2,7 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageKeyDto : FullAuditedEntityDto<Guid>
{
@ -12,3 +12,4 @@ public class LanguageKeyDto : FullAuditedEntityDto<Guid>
[Required]
public string ResourceName { get; set; }
}

View file

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextCreateUpdateDto
{
@ -16,3 +16,4 @@ public class LanguageTextCreateUpdateDto
[Required]
public string ResourceName { get; set; }
}

View file

@ -1,7 +1,7 @@
using System;
using Volo.Abp.Application.Dtos;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextDto : FullAuditedEntityDto<Guid>
{
@ -10,3 +10,4 @@ public class LanguageTextDto : FullAuditedEntityDto<Guid>
public string Key { get; set; }
public string Value { get; set; }
}

View file

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextFilteredDto
{
@ -13,3 +13,4 @@ public class LanguageTextFilteredDto
[Required]
public string Key { get; set; }
}

View file

@ -1,7 +1,7 @@
using System;
using Volo.Abp.Application.Dtos;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextTranslatedDto : FullAuditedEntityDto<Guid>
{
@ -12,3 +12,4 @@ public class LanguageTextTranslatedDto : FullAuditedEntityDto<Guid>
public string ResourceName { get; set; }
public string Key { get; set; }
}

View file

@ -1,7 +1,7 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextTranslatedRequestDto : PagedAndSortedResultRequestDto
{
@ -15,3 +15,4 @@ public class LanguageTextTranslatedRequestDto : PagedAndSortedResultRequestDto
public string Key { get; set; }
}

View file

@ -1,16 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\common.props" />
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<RootNamespace>Kurs.Languages</RootNamespace>
<RootNamespace>Erp.Languages</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="9.0.2" />
<PackageReference Include="Volo.Abp.Authorization" Version="9.0.2" />
<ProjectReference Include="..\Kurs.Languages.Domain.Shared\Kurs.Languages.Domain.Shared.csproj" />
<ProjectReference Include="..\Erp.Languages.Domain.Shared\Erp.Languages.Domain.Shared.csproj" />
</ItemGroup>
</Project>

View file

@ -3,7 +3,7 @@ using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Kurs.Languages;
namespace Erp.Languages;
public interface ILanguageAppService : ICrudAppService<
LanguageDto,
@ -12,3 +12,4 @@ public interface ILanguageAppService : ICrudAppService<
{
Task<LanguageDto> GetLanguageByCultureNameAsync(string CultureName);
}

View file

@ -2,7 +2,7 @@
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Kurs.Languages;
namespace Erp.Languages;
public interface ILanguageKeyAppService : ICrudAppService<
LanguageKeyDto,
@ -11,3 +11,4 @@ public interface ILanguageKeyAppService : ICrudAppService<
{
}

View file

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using Volo.Abp;
namespace Kurs.Languages;
namespace Erp.Languages;
[IntegrationService]
public interface ILanguageKeyIntegrationService
@ -19,3 +19,4 @@ public interface ILanguageKeyIntegrationService
string MainGroupKey,
string SubGroupKey);
}

View file

@ -4,7 +4,7 @@ using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Kurs.Languages;
namespace Erp.Languages;
public interface ILanguageTextAppService : ICrudAppService<
LanguageTextDto,
@ -17,3 +17,4 @@ public interface ILanguageTextAppService : ICrudAppService<
Task UpdateLanguageTextAsync(LanguageTextCreateUpdateDto input);
Task<List<LanguageTextDto>> GetLanguageTextByCultureNameAsync(string CultureName);
}

View file

@ -2,7 +2,7 @@
using Volo.Abp.Modularity;
using Volo.Abp.Authorization;
namespace Kurs.Languages;
namespace Erp.Languages;
[DependsOn(
typeof(LanguagesDomainSharedModule),
@ -13,3 +13,4 @@ public class LanguagesApplicationContractsModule : AbpModule
{
}

View file

@ -1,4 +1,4 @@
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguagesRemoteServiceConsts
{
@ -6,3 +6,4 @@ public class LanguagesRemoteServiceConsts
public const string ModuleName = "languages";
}

View file

@ -1,8 +1,8 @@
using Kurs.Languages.Localization;
using Erp.Languages.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
namespace Kurs.Languages.Permissions;
namespace Erp.Languages.Permissions;
public class LanguagesPermissionDefinitionProvider : PermissionDefinitionProvider
{
@ -16,3 +16,4 @@ public class LanguagesPermissionDefinitionProvider : PermissionDefinitionProvide
return LocalizableString.Create<LanguagesResource>(name);
}
}

View file

@ -1,6 +1,6 @@
using Volo.Abp.Reflection;
namespace Kurs.Languages.Permissions;
namespace Erp.Languages.Permissions;
public class LanguagesPermissions
{
@ -11,3 +11,4 @@ public class LanguagesPermissions
return ReflectionHelper.GetPublicConstantsRecursively(typeof(LanguagesPermissions));
}
}

View file

@ -1,18 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\common.props" />
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<RootNamespace>Kurs.Languages</RootNamespace>
<RootNamespace>Erp.Languages</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AutoMapper" Version="9.0.2" />
<PackageReference Include="Volo.Abp.Ddd.Application" Version="9.0.2" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="9.0.2" />
<ProjectReference Include="..\Kurs.Languages.Application.Contracts\Kurs.Languages.Application.Contracts.csproj" />
<ProjectReference Include="..\Kurs.Languages.Domain\Kurs.Languages.Domain.csproj" />
<ProjectReference Include="..\Erp.Languages.Application.Contracts\Erp.Languages.Application.Contracts.csproj" />
<ProjectReference Include="..\Erp.Languages.Domain\Erp.Languages.Domain.csproj" />
</ItemGroup>
</Project>

View file

@ -1,5 +1,5 @@
using Kurs.Languages.Entities;
using Kurs.Languages.Localization;
using Erp.Languages.Entities;
using Erp.Languages.Localization;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@ -10,7 +10,7 @@ using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Validation;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageAppService : CrudAppService<
Language,
@ -51,3 +51,4 @@ public class LanguageAppService : CrudAppService<
return ObjectMapper.Map<Language, LanguageDto>(item);
}
}

View file

@ -1,5 +1,5 @@
using Kurs.Languages.Entities;
using Kurs.Languages.Localization;
using Erp.Languages.Entities;
using Erp.Languages.Localization;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@ -9,7 +9,7 @@ using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Validation;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageKeyAppService : CrudAppService<
LanguageKey,
@ -46,3 +46,4 @@ public class LanguageKeyAppService : CrudAppService<
return await base.CreateAsync(input);
}
}

View file

@ -1,11 +1,11 @@
using System;
using System.Threading.Tasks;
using Kurs.Languages.Entities;
using Erp.Languages.Entities;
using Volo.Abp;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
namespace Kurs.Languages;
namespace Erp.Languages;
[IntegrationService]
public class LanguageKeyIntegrationService : ILanguageKeyIntegrationService, ITransientDependency
@ -61,3 +61,4 @@ public class LanguageKeyIntegrationService : ILanguageKeyIntegrationService, ITr
await _repository.DeleteAsync(a => a.Key == SubGroupKey && a.ResourceName == LanguagesConsts.AppName);
}
}

View file

@ -1,5 +1,5 @@
using Kurs.Languages.Entities;
using Kurs.Languages.Localization;
using Erp.Languages.Entities;
using Erp.Languages.Localization;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
@ -15,7 +15,7 @@ using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Validation;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextAppService : CrudAppService<
LanguageText,
@ -174,3 +174,4 @@ public class LanguageTextAppService : CrudAppService<
return query;
}
}

View file

@ -1,7 +1,7 @@
using Kurs.Languages.Localization;
using Erp.Languages.Localization;
using Volo.Abp.Application.Services;
namespace Kurs.Languages;
namespace Erp.Languages;
public abstract class LanguagesAppService : ApplicationService
{
@ -11,3 +11,4 @@ public abstract class LanguagesAppService : ApplicationService
ObjectMapperContext = typeof(LanguagesApplicationModule);
}
}

View file

@ -1,9 +1,9 @@
using AutoMapper;
using Kurs.Languages.Entities;
using Erp.Languages.Entities;
using Volo.Abp.AutoMapper;
using Volo.Abp.Localization;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguagesApplicationAutoMapperProfile : Profile
{
@ -27,3 +27,4 @@ public class LanguagesApplicationAutoMapperProfile : Profile
}
}

View file

@ -3,7 +3,7 @@ using Volo.Abp.Application;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
namespace Kurs.Languages;
namespace Erp.Languages;
[DependsOn(
typeof(LanguagesDomainModule),
@ -23,3 +23,4 @@ public class LanguagesApplicationModule : AbpModule
});
}
}

View file

@ -1,7 +1,8 @@
namespace Kurs.Languages;
namespace Erp.Languages;
public static class LanguagesConsts
{
public const string AppName = "Languages";
}

View file

@ -1,4 +1,4 @@
using Kurs.Languages.Localization;
using Erp.Languages.Localization;
using Volo.Abp.Domain;
using Volo.Abp.Localization;
using Volo.Abp.Localization.ExceptionHandling;
@ -6,7 +6,7 @@ using Volo.Abp.Modularity;
using Volo.Abp.Validation;
using Volo.Abp.VirtualFileSystem;
namespace Kurs.Languages;
namespace Erp.Languages;
[DependsOn(
typeof(AbpValidationModule),
@ -32,3 +32,4 @@ public class LanguagesDomainSharedModule : AbpModule
});
}
}

View file

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

View file

@ -1,4 +1,4 @@
namespace Kurs.Languages.Languages
namespace Erp.Languages.Languages
{
public static class LanguageCodes
{
@ -42,3 +42,4 @@
public const string Zh = "繁體中文";
}
}

View file

@ -1,9 +1,10 @@
using Volo.Abp.Localization;
namespace Kurs.Languages.Localization;
namespace Erp.Languages.Localization;
[LocalizationResourceName(LanguagesConsts.AppName)]
public class LanguagesResource
{
}

View file

@ -1,7 +1,7 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
namespace Kurs.Languages.Entities;
namespace Erp.Languages.Entities;
public class Language : FullAuditedEntity<Guid>
{
@ -12,3 +12,4 @@ public class Language : FullAuditedEntity<Guid>
public string TwoLetterISOLanguageName { get; set; }
}

View file

@ -2,7 +2,7 @@
using System.Collections.Generic;
using Volo.Abp.Domain.Entities.Auditing;
namespace Kurs.Languages.Entities;
namespace Erp.Languages.Entities;
public class LanguageKey : FullAuditedEntity<Guid>
{
@ -12,3 +12,4 @@ public class LanguageKey : FullAuditedEntity<Guid>
public virtual ICollection<LanguageText> Texts { get; set; } = [];
}

View file

@ -1,7 +1,7 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
namespace Kurs.Languages.Entities;
namespace Erp.Languages.Entities;
public class LanguageText : FullAuditedEntity<Guid>
{
@ -12,3 +12,4 @@ public class LanguageText : FullAuditedEntity<Guid>
public virtual LanguageKey LanguageKey { get; set; }
}

View file

@ -1,16 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\common.props" />
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<RootNamespace>Kurs.Languages</RootNamespace>
<RootNamespace>Erp.Languages</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Caching.StackExchangeRedis" Version="9.0.2" />
<PackageReference Include="Volo.Abp.Ddd.Domain" Version="9.0.2" />
<ProjectReference Include="..\Kurs.Languages.Domain.Shared\Kurs.Languages.Domain.Shared.csproj" />
<ProjectReference Include="..\Erp.Languages.Domain.Shared\Erp.Languages.Domain.Shared.csproj" />
</ItemGroup>
</Project>

View file

@ -1,9 +1,10 @@
using System.Collections.Generic;
using Volo.Abp.Localization;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageListCacheItem
{
public IReadOnlyList<LanguageInfo> Languages { get; set; }
}

View file

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextCacheItem : object
{
@ -11,7 +11,8 @@ public class LanguageTextCacheItem : object
public static string CalculateCacheKey(string resourceName, string cultureName)
{
// .en.Kurs.Dynamics
// .en.Erp.Dynamics
return $".{cultureName}.{resourceName}";
}
}

View file

@ -1,11 +1,11 @@
using System.Threading.Tasks;
using Kurs.Languages.Entities;
using Erp.Languages.Entities;
using Volo.Abp.Caching;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities.Events;
using Volo.Abp.EventBus;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextCacheItemInvalidator :
ILocalEventHandler<EntityChangedEventData<LanguageText>>,
@ -26,3 +26,4 @@ public class LanguageTextCacheItemInvalidator :
return;
}
}

View file

@ -1,4 +1,4 @@
using Kurs.Languages.Entities;
using Erp.Languages.Entities;
using System;
using System.Threading.Tasks;
using Volo.Abp.Caching;
@ -7,7 +7,7 @@ using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus.Distributed;
namespace Kurs.Languages;
namespace Erp.Languages;
public class LanguageTextCacheItemInvalidatorDistributed :
IDistributedEventHandler<EntityCreatedEto<LanguageTextEto>>,
@ -75,3 +75,4 @@ public class LanguageTextEto
// });
//}

View file

@ -1,4 +1,4 @@
namespace Kurs.Languages;
namespace Erp.Languages;
public static class Prefix
{
@ -16,3 +16,4 @@ public static class TablePrefix
return $"{Prefix.MenuPrefix}_{Prefix.HostPrefix}_{tableName}";
}
}

View file

@ -1,10 +1,10 @@
using Kurs.Languages.Localization;
using Erp.Languages.Localization;
using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.Domain;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
namespace Kurs.Languages;
namespace Erp.Languages;
[DependsOn(
typeof(AbpDddDomainModule),
@ -22,3 +22,4 @@ public class LanguagesDomainModule : AbpModule
});
}
}

View file

@ -2,13 +2,13 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Kurs.Languages.Entities;
using Erp.Languages.Entities;
using Volo.Abp.Caching;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Localization;
namespace Kurs.Languages.Localization;
namespace Erp.Languages.Localization;
[Dependency(ReplaceServices = true)]
public class DatabaseLanguageProvider : ILanguageProvider, ITransientDependency
@ -43,3 +43,4 @@ public class DatabaseLanguageProvider : ILanguageProvider, ITransientDependency
};
}
}

View file

@ -5,7 +5,7 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization;
using Volo.Abp.Localization;
namespace Kurs.Languages.Localization;
namespace Erp.Languages.Localization;
public class DatabaseLocalizationResourceContributor : ILocalizationResourceContributor
{
@ -43,3 +43,4 @@ public class DatabaseLocalizationResourceContributor : ILocalizationResourceCont
return langs.Select(a => a.CultureName).ToList();
}
}

View file

@ -1,4 +1,4 @@
using Kurs.Languages.Entities;
using Erp.Languages.Entities;
using Microsoft.Extensions.Localization;
using System;
using System.Collections.Generic;
@ -10,7 +10,7 @@ using Volo.Abp.Domain.Repositories;
using Volo.Abp.Localization;
using Volo.Abp.Threading;
namespace Kurs.Languages.Localization;
namespace Erp.Languages.Localization;
public class DatabaseResourceLocalizer : IDatabaseResourceLocalizer, ISingletonDependency
{
@ -87,3 +87,4 @@ public class DatabaseResourceLocalizer : IDatabaseResourceLocalizer, ISingletonD
};
}
}

View file

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Localization;
namespace Kurs.Languages.Localization;
namespace Erp.Languages.Localization;
public interface IDatabaseResourceLocalizer
{
@ -11,3 +11,4 @@ public interface IDatabaseResourceLocalizer
Task FillAsync(LocalizationResourceBase resource, string cultureName, Dictionary<string, LocalizedString> dictionary);
LocalizedString GetOrNull(LocalizationResourceBase resource, string cultureName, string name);
}

View file

@ -1,7 +1,7 @@
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
namespace Kurs.Languages.EntityFrameworkCore;
namespace Erp.Languages.EntityFrameworkCore;
[ConnectionStringName(Prefix.ConnectionStringName)]
public interface ILanguagesDbContext : IEfCoreDbContext
@ -10,3 +10,4 @@ public interface ILanguagesDbContext : IEfCoreDbContext
* DbSet<Question> Questions { get; }
*/
}

View file

@ -1,9 +1,9 @@
using Kurs.Languages.Entities;
using Erp.Languages.Entities;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
namespace Kurs.Languages.EntityFrameworkCore;
namespace Erp.Languages.EntityFrameworkCore;
[ConnectionStringName(Prefix.ConnectionStringName)]
public class LanguagesDbContext : AbpDbContext<LanguagesDbContext>, ILanguagesDbContext
@ -25,3 +25,4 @@ public class LanguagesDbContext : AbpDbContext<LanguagesDbContext>, ILanguagesDb
builder.ConfigureLanguages();
}
}

View file

@ -1,9 +1,9 @@
using Kurs.Languages.Entities;
using Erp.Languages.Entities;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore.Modeling;
namespace Kurs.Languages.EntityFrameworkCore;
namespace Erp.Languages.EntityFrameworkCore;
public static class LanguagesDbContextModelCreatingExtensions
{
@ -59,3 +59,4 @@ public static class LanguagesDbContextModelCreatingExtensions
});
}
}

View file

@ -2,7 +2,7 @@
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;
namespace Kurs.Languages.EntityFrameworkCore;
namespace Erp.Languages.EntityFrameworkCore;
[DependsOn(
typeof(LanguagesDomainModule),
@ -21,3 +21,4 @@ public class LanguagesEntityFrameworkCoreModule : AbpModule
});
}
}

View file

@ -1,15 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\common.props" />
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<RootNamespace>Kurs.Languages</RootNamespace>
<RootNamespace>Erp.Languages</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="9.0.2" />
<ProjectReference Include="..\Kurs.Languages.Domain\Kurs.Languages.Domain.csproj" />
<ProjectReference Include="..\Erp.Languages.Domain\Erp.Languages.Domain.csproj" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,14 @@
using Erp.MailQueue.Domain.Shared;
using Volo.Abp.Application.Services;
namespace Erp.MailQueue.Application;
public abstract class MailQueueAppService : ApplicationService
{
protected MailQueueAppService()
{
LocalizationResource = typeof(ErpMailQueueResource);
ObjectMapperContext = typeof(ErpMailQueueModule);
}
}

View file

@ -1,6 +1,6 @@
using AutoMapper;
namespace Kurs.MailQueue.Application;
namespace Erp.MailQueue.Application;
public class MailQueueAutoMapperProfile : Profile
{
@ -10,3 +10,4 @@ public class MailQueueAutoMapperProfile : Profile
}
}

View file

@ -1,8 +1,9 @@
using Volo.Abp.Localization;
namespace Kurs.MailQueue.Domain.Shared;
namespace Erp.MailQueue.Domain.Shared;
[LocalizationResourceName(MailQueueConsts.AppName)]
public class KursMailQueueResource
public class ErpMailQueueResource
{
}

View file

@ -1,7 +1,8 @@
namespace Kurs.MailQueue.Domain.Shared;
namespace Erp.MailQueue.Domain.Shared;
public static class MailQueueConsts
{
public const string AppName = "MailQueue";
}

View file

@ -1,4 +1,4 @@
namespace Kurs.MailQueue.Domain.Shared;
namespace Erp.MailQueue.Domain.Shared;
public class MailQueueWorkerOptions
{
@ -7,3 +7,4 @@ public class MailQueueWorkerOptions
public string MailTemplate { get; set; } // Render edilecek html template
public string Tablo { get; set; } // Bu maildeki tablolar örn. {0:MT3_GECIKEN_SIPARIS:IN:Order Delay Notification:0:}
}

View file

@ -1,6 +1,6 @@
using Volo.Abp.Domain.Entities.Auditing;
namespace Kurs.MailQueue.Domain.Entities;
namespace Erp.MailQueue.Domain.Entities;
public class BackgroundWorker_MailQueue : FullAuditedEntity<Guid>
{
@ -20,3 +20,4 @@ public class BackgroundWorker_MailQueue : FullAuditedEntity<Guid>
public virtual ICollection<BackgroundWorker_MailQueueEvents> Events { get; set; }
public virtual BackgroundWorker_MailQueueTableFormat TableFormat { get; set; }
}

View file

@ -1,6 +1,6 @@
using Volo.Abp.Domain.Entities.Auditing;
namespace Kurs.MailQueue.Domain.Entities;
namespace Erp.MailQueue.Domain.Entities;
public partial class BackgroundWorker_MailQueueEvents : FullAuditedEntity<Guid>
{
@ -12,3 +12,4 @@ public partial class BackgroundWorker_MailQueueEvents : FullAuditedEntity<Guid>
public virtual BackgroundWorker_MailQueue MailQueue { get; set; }
}

View file

@ -1,6 +1,6 @@
using Volo.Abp.Domain.Entities;
namespace Kurs.MailQueue.Domain.Entities;
namespace Erp.MailQueue.Domain.Entities;
public partial class BackgroundWorker_MailQueueTableFormat : Entity<int>
{
@ -20,3 +20,4 @@ public partial class BackgroundWorker_MailQueueTableFormat : Entity<int>
public virtual ICollection<BackgroundWorker_MailQueue> MailQueues { get; set; }
}

View file

@ -1,7 +1,7 @@
using Microsoft.Extensions.Logging;
using Volo.Abp.Domain.Services;
namespace Kurs.MailQueue.Domain;
namespace Erp.MailQueue.Domain;
public interface ILogManager : IDomainService
{
@ -40,3 +40,4 @@ public class NullLogManager : DomainService, ILogManager
public void LogWarning(string logDetayi, string kategori = null, string kayitTipi = null, Guid? kayitId = null, string jobId = null) => Log(LogLevel.Warning, logDetayi, kategori, kayitTipi, kayitId, jobId);
}

View file

@ -1,7 +1,7 @@
using Kurs.MailQueue.MailGeneration.Models;
using Erp.MailQueue.MailGeneration.Models;
using Volo.Abp.DependencyInjection;
namespace Kurs.MailQueue.Domain.MailGeneration;
namespace Erp.MailQueue.Domain.MailGeneration;
public interface IAttachmentExtractor
{
@ -61,3 +61,4 @@ public class AttachmentExtractor : IAttachmentExtractor, ITransientDependency
return result;
}
}

View file

@ -1,6 +1,6 @@
using Volo.Abp.DependencyInjection;
namespace Kurs.MailQueue.Domain.MailGeneration;
namespace Erp.MailQueue.Domain.MailGeneration;
public interface ICssExtractor
{
@ -41,3 +41,4 @@ public class CssExtractor : ICssExtractor, ITransientDependency
return values;
}
}

View file

@ -1,6 +1,6 @@
using Volo.Abp.DependencyInjection;
namespace Kurs.MailQueue.Domain.MailGeneration;
namespace Erp.MailQueue.Domain.MailGeneration;
public interface IParameterExtractor
{
@ -77,3 +77,4 @@ public class ParameterExtractor : IParameterExtractor, ITransientDependency
return null;
}
}

View file

@ -1,7 +1,7 @@
using Kurs.MailQueue.MailGeneration.Models;
using Erp.MailQueue.MailGeneration.Models;
using Volo.Abp.DependencyInjection;
namespace Kurs.MailQueue.Domain.MailGeneration;
namespace Erp.MailQueue.Domain.MailGeneration;
public interface ITableExtractor
{
@ -46,3 +46,4 @@ public class TableExtractor : ITableExtractor, ITransientDependency
return result;
}
}

View file

@ -1,11 +1,11 @@
using Kurs.MailQueue.FileGeneration;
using Kurs.MailQueue.MailGeneration.Models;
using Erp.MailQueue.FileGeneration;
using Erp.MailQueue.MailGeneration.Models;
using Microsoft.Extensions.Configuration;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids;
using Volo.Abp.TextTemplating;
namespace Kurs.MailQueue.Domain.MailGeneration;
namespace Erp.MailQueue.Domain.MailGeneration;
public interface IAttachmentGenerator
{
@ -224,3 +224,4 @@ public class AttachmentGenerator : IAttachmentGenerator, ITransientDependency
}
}
}

View file

@ -1,9 +1,9 @@
using Kurs.MailQueue.MailGeneration.Models;
using Erp.MailQueue.MailGeneration.Models;
using Microsoft.Extensions.Configuration;
using Volo.Abp.DependencyInjection;
using Volo.Abp.TextTemplating;
namespace Kurs.MailQueue.Domain.MailGeneration;
namespace Erp.MailQueue.Domain.MailGeneration;
public interface IMailBodyGenerator
{
@ -101,3 +101,4 @@ public class MailBodyGenerator : IMailBodyGenerator, ITransientDependency
}
}
}

View file

@ -1,13 +1,13 @@
using System.Data;
using Kurs.MailQueue.Domain.Entities;
using Kurs.MailQueue.EntityFrameworkCore;
using Kurs.MailQueue.MailGeneration.Models;
using Erp.MailQueue.Domain.Entities;
using Erp.MailQueue.EntityFrameworkCore;
using Erp.MailQueue.MailGeneration.Models;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.TextTemplating;
namespace Kurs.MailQueue.Domain.MailGeneration;
namespace Erp.MailQueue.Domain.MailGeneration;
public interface ITableGenerator
{
@ -102,3 +102,4 @@ public class TableGenerator : ITableGenerator, ITransientDependency
x => x);
}
}

View file

@ -1,4 +1,4 @@
namespace Kurs.MailQueue.MailGeneration.Models;
namespace Erp.MailQueue.MailGeneration.Models;
public class AttachmentModel
{
@ -9,3 +9,4 @@ public class AttachmentModel
public Dictionary<string, string> Filtreler { get; set; }
public string MailEkAdi { get; set; }
}

View file

@ -1,4 +1,4 @@
namespace Kurs.MailQueue.MailGeneration.Models;
namespace Erp.MailQueue.MailGeneration.Models;
public class MailTemplateModel
{
@ -6,3 +6,4 @@ public class MailTemplateModel
public Dictionary<string, MailTemplateTableModel> Tablolar { get; set; }
}

View file

@ -1,4 +1,4 @@
namespace Kurs.MailQueue.MailGeneration.Models;
namespace Erp.MailQueue.MailGeneration.Models;
public class MailTemplateTableColumnModel
{
@ -16,3 +16,4 @@ public class MailTemplateTableColumnModel
public int Genislik { get; set; }
}

View file

@ -1,4 +1,4 @@
namespace Kurs.MailQueue.MailGeneration.Models;
namespace Erp.MailQueue.MailGeneration.Models;
public class MailTemplateTableModel
{
@ -12,3 +12,4 @@ public class MailTemplateTableModel
public string Korumalimi { get; set; }
public string DosyaAciklama { get; set; }
}

View file

@ -1,4 +1,4 @@
namespace Kurs.MailQueue.Domain;
namespace Erp.MailQueue.Domain;
public static class Prefix
{

View file

@ -1,6 +1,6 @@
using Kurs.Sender.Mail;
using Kurs.MailQueue.Domain.MailGeneration;
using Kurs.MailQueue.Domain.Shared;
using Erp.Sender.Mail;
using Erp.MailQueue.Domain.MailGeneration;
using Erp.MailQueue.Domain.Shared;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.BackgroundWorkers;
@ -9,7 +9,7 @@ using Volo.Abp.Guids;
using Volo.Abp.Timing;
using Volo.Abp.Uow;
namespace Kurs.MailQueue.Domain;
namespace Erp.MailQueue.Domain;
public class MailQueueWorker : BackgroundWorkerBase
{
@ -17,7 +17,7 @@ public class MailQueueWorker : BackgroundWorkerBase
public string TemplateName { get; set; }
public MailQueueWorkerOptions Options { get; set; }
protected IKursEmailSender KursEmailSender { get; }
protected IErpEmailSender ErpEmailSender { get; }
protected IRepository<Entities.BackgroundWorker_MailQueue> Repository { get; }
public IClock Clock { get; }
public IConfiguration Configuration { get; }
@ -28,7 +28,7 @@ public class MailQueueWorker : BackgroundWorkerBase
public IGuidGenerator GuidGenerator { get; }
public MailQueueWorker(
IKursEmailSender kursEmailSender,
IErpEmailSender ErpEmailSender,
IRepository<Entities.BackgroundWorker_MailQueue> repository,
IClock clock,
IConfiguration configuration,
@ -39,7 +39,7 @@ public class MailQueueWorker : BackgroundWorkerBase
IGuidGenerator guidGenerator
)
{
KursEmailSender = kursEmailSender;
ErpEmailSender = ErpEmailSender;
Repository = repository;
Clock = clock;
Configuration = configuration;
@ -173,7 +173,7 @@ public class MailQueueWorker : BackgroundWorkerBase
var sender = new KeyValuePair<string, string>(
senderKeyValue.ElementAtOrDefault(0),
senderKeyValue.ElementAtOrDefault(1));
var result = await KursEmailSender.SendEmailAsync(
var result = await ErpEmailSender.SendEmailAsync(
queue.To.Split(";").Select(a => a.Trim()).ToArray(),
sender,
null,
@ -224,3 +224,4 @@ public class MailQueueWorker : BackgroundWorkerBase
//Logger.LogInformation("Executed MailWorker..!");
}
}

View file

@ -2,13 +2,13 @@
using Amazon;
using Amazon.SQS;
using Amazon.SQS.Model;
using Kurs.Sender.Mail.AmazonSes;
using Kurs.MailQueue.Domain.Entities;
using Erp.Sender.Mail.AmazonSes;
using Erp.MailQueue.Domain.Entities;
using Microsoft.Extensions.Configuration;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
namespace Kurs.MailQueue.Domain.MailTracking;
namespace Erp.MailQueue.Domain.MailTracking;
public class MailTrackingManager : DomainService
{
@ -134,3 +134,4 @@ public class MailTrackingManager : DomainService
}
}

View file

@ -1,8 +1,8 @@
using Kurs.MailQueue.Domain;
using Erp.MailQueue.Domain;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
namespace Kurs.MailQueue.EntityFrameworkCore;
namespace Erp.MailQueue.EntityFrameworkCore;
[ConnectionStringName(Prefix.ConnectionStringName)]
public interface IMailQueueDbContext : IEfCoreDbContext
@ -11,3 +11,4 @@ public interface IMailQueueDbContext : IEfCoreDbContext
* DbSet<Question> Questions { get; }
*/
}

View file

@ -1,9 +1,9 @@
using Kurs.MailQueue.Domain;
using Erp.MailQueue.Domain;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
namespace Kurs.MailQueue.EntityFrameworkCore;
namespace Erp.MailQueue.EntityFrameworkCore;
[ConnectionStringName(Prefix.ConnectionStringName)]
public class MailQueueDbContext : AbpDbContext<MailQueueDbContext>, IMailQueueDbContext
@ -25,3 +25,4 @@ public class MailQueueDbContext : AbpDbContext<MailQueueDbContext>, IMailQueueDb
builder.ConfigureMailQueue();
}
}

View file

@ -1,10 +1,10 @@
using Kurs.MailQueue.Domain;
using Kurs.MailQueue.Domain.Entities;
using Erp.MailQueue.Domain;
using Erp.MailQueue.Domain.Entities;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore.Modeling;
namespace Kurs.MailQueue.EntityFrameworkCore;
namespace Erp.MailQueue.EntityFrameworkCore;
public static class MailQueueDbContextModelCreatingExtensions
{
@ -74,3 +74,4 @@ public static class MailQueueDbContextModelCreatingExtensions
});
}
}

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