sozsoft-platform/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs
2026-07-14 23:25:04 +03:00

282 lines
11 KiB
C#

using System.Text.Json;
using Sozsoft.Platform.Enums;
using Sozsoft.Platform.ListForms;
using static Sozsoft.Platform.PlatformConsts;
namespace Sozsoft.Platform;
public static class LookupQueryValues
{
private const string defaultDomain = "Sozsoft";
public static string DefaultLookupQueryJson(
string TableName,
string ValueExpr,
string DisplayExpr,
bool isTable = true,
bool isDeleted = false) => JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
ValueExpr = "Key",
DisplayExpr = "Name",
LookupQuery = $"SELECT " +
$"\"{ValueExpr}\" AS \"Key\", " +
$"\"{DisplayExpr}\" AS \"Name\" " +
$"FROM \"{(isTable ? TableNameResolver.GetFullTableName($"{TableName}") : TableNameResolver.GetFullViewName($"{TableName}"))}\" " +
(!isDeleted ? "" : $"WHERE \"IsDeleted\" = 'false'") +
$"ORDER BY \"{DisplayExpr}\";"
});
public static string DefaultLookupQuery(
string TableName,
string ValueExpr,
string DisplayExpr,
bool isTable = true,
bool isDeleted = false)
{
return $"SELECT " +
$"\"{ValueExpr}\" AS \"Key\", " +
$"\"{DisplayExpr}\" AS \"Name\" " +
$"FROM \"{(isTable ? TableNameResolver.GetFullTableName($"{TableName}") : TableNameResolver.GetFullViewName($"{TableName}"))}\" " +
(!isDeleted ? "" : $"WHERE \"IsDeleted\" = 'false'") +
$"ORDER BY \"{DisplayExpr}\";";
}
public static string TenantValues(bool alwaysName = false)
{
if (alwaysName)
{
return $"SELECT * FROM (" +
$"SELECT " +
$"\"AbpTenants\".\"Name\" AS \"Key\", " +
$"\"AbpTenants\".\"Name\" AS \"Name\" " +
$"FROM \"AbpTenants\"" +
$") AS \"List\" " +
$"ORDER BY \"Name\"";
}
else
{
return $"SELECT * FROM (" +
// $"SELECT NULL AS \"Key\", 'Host' AS \"Name\" " +
// $"UNION ALL " +
$"SELECT " +
$"\"AbpTenants\".\"Id\" AS \"Key\", " +
$"\"AbpTenants\".\"Name\" AS \"Name\" " +
$"FROM \"AbpTenants\"" +
$") AS \"List\" " +
$"ORDER BY \"Name\"";
}
}
public static string LanguageKeyValues =
$"SELECT " +
$"\"{FullNameTable(TableNameEnum.LanguageKey)}\".\"Key\", " +
$"CONCAT(" +
$"\"{FullNameTable(TableNameEnum.LanguageKey)}\".\"Key\", " +
$"' (', " +
$"\"{FullNameTable(TableNameEnum.LanguageText)}\".\"Value\", " +
$"')'" +
$") AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.LanguageKey)}\" " +
$"LEFT OUTER JOIN \"{FullNameTable(TableNameEnum.LanguageText)}\" " +
$"ON \"{FullNameTable(TableNameEnum.LanguageKey)}\".\"Key\" = \"{FullNameTable(TableNameEnum.LanguageText)}\".\"Key\" " +
$"AND \"{FullNameTable(TableNameEnum.LanguageKey)}\".\"ResourceName\" = \"{FullNameTable(TableNameEnum.LanguageText)}\".\"ResourceName\" " +
$"WHERE " +
$"\"{FullNameTable(TableNameEnum.LanguageText)}\".\"CultureName\" = 'tr' " +
$"ORDER BY \"{FullNameTable(TableNameEnum.LanguageKey)}\".\"Key\";";
public static string CountryValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.Country)}\" " +
$"WHERE \"IsDeleted\" = 'false' " +
$"ORDER BY \"Name\";";
public static string CityValues =
$"SELECT " +
$"\"Name\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.City)}\" " +
$"WHERE " +
$"(\"Country\" = @param0 OR @param0 IS NULL) " +
$"AND \"IsDeleted\" = 'false' " +
$"ORDER BY \"Name\";";
public static string DistrictValues =
$"SELECT " +
$"\"Name\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.District)}\" " +
$"WHERE " +
$"(\"Country\" = @param0 OR @param0 IS NULL) " +
$"AND (\"City\" = @param1 OR @param1 IS NULL) " +
$"AND \"IsDeleted\" = 'false' " +
$"GROUP BY \"Name\" " +
$"ORDER BY \"Name\";";
public static string TownshipValues =
$"SELECT " +
$"\"Township\" AS \"Key\", " +
$"\"Township\" AS \"Name\", " +
$"\"PostalCode\" AS \"Group\" " +
$"FROM \"{FullNameTable(TableNameEnum.District)}\" " +
$"WHERE " +
$"(\"Country\" = @param0 OR @param0 IS NULL) " +
$"AND (\"City\" = @param1 OR @param1 IS NULL) " +
$"AND (\"Name\" = @param2 OR @param2 IS NULL) " +
$"AND \"IsDeleted\" = 'false' " +
$"GROUP BY \"Township\", \"PostalCode\" " +
$"ORDER BY \"Township\";";
public static string RoleValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"AbpRoles\"" +
$"ORDER BY \"Name\"";
public static string UserValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"UserName\" AS \"Name\" " +
$"FROM \"AbpUsers\"" +
$"ORDER BY \"Name\"";
public static string BranchValues =
$"SELECT \"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{defaultDomain}\".\"dbo\".\"{FullNameTable(TableNameEnum.Branch)}\" " +
$"WHERE " +
$"\"TenantId\" = '@TENANTID' " + // 🔹 Bu form doğru — Replace hedefi bu.
$"AND \"IsDeleted\" = 'false' " +
$"AND \"Id\" IN ( " +
$"SELECT \"BranchId\" " +
$"FROM \"{FullNameTable(TableNameEnum.BranchUsers)}\" " +
$"WHERE \"UserId\" = '@USERID' " + // 🔹 Bu da doğru.
$") " +
$"ORDER BY \"Name\";";
public static string PermissionNameValues =
$"SELECT \"Name\" AS \"Key\", " +
$"CONCAT(\"Name\", ' (', \"DisplayName\", ')') AS \"Name\" " +
$"FROM \"AbpPermissions\" " +
$"WHERE \"IsEnabled\" = 'true' " +
$"ORDER BY \"Name\";";
public static string PermissionGroupValues =
$"SELECT \"Name\" AS \"Key\", " +
$"\"DisplayName\" AS \"Name\" " +
$"FROM \"AbpPermissionGroups\" " +
$"ORDER BY \"Name\";";
public static string MenuGroupValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.MenuGroup))}\" " +
$"ORDER BY \"Name\";";
public static string ProductValues =
$"SELECT " +
$"\"{FullNameTable(TableNameEnum.Product)}\".\"Id\" AS \"Key\", " +
$"\"{FullNameTable(TableNameEnum.LanguageText)}\".\"Value\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.Product)}\" " +
$"LEFT OUTER JOIN \"{FullNameTable(TableNameEnum.LanguageText)}\" " +
$"ON \"{FullNameTable(TableNameEnum.Product)}\".\"Name\" = \"{FullNameTable(TableNameEnum.LanguageText)}\".\"Key\" " +
$"WHERE \"{FullNameTable(TableNameEnum.Product)}\".\"IsDeleted\" = 'false' " +
$"AND \"{FullNameTable(TableNameEnum.LanguageText)}\".\"CultureName\" = 'tr' " +
$"ORDER BY \"{FullNameTable(TableNameEnum.LanguageText)}\".\"Value\";";
public static string MenuCodeValues =
$"SELECT " +
$"\"Code\" AS \"Key\", " +
$"\"DisplayName\" AS \"Name\" " +
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Menu))}\" " +
$"WHERE \"IsDisabled\" = 'false' " +
$"ORDER BY \"ParentCode\", \"Order\";";
public static string OrganizationUnitSalesTeamValues =
$"SELECT " +
$"\"Code\" AS \"Key\", " +
$"\"DisplayName\" AS \"Name\" " +
$"FROM \"AbpOrganizationUnits\"" +
$"WHERE \"Code\" LIKE '00001%' " +
$"ORDER BY \"DisplayName\"";
public static string RouteKeyValues =
$@"SELECT
""Path"" AS ""Key"",
""Path"" AS ""Name""
FROM ""{FullNameTable(TableNameEnum.Route)}""
GROUP BY ""Path""
UNION
SELECT
'/admin/list/' + ""ListFormCode"" AS ""Key"",
'/admin/list/' + ""ListFormCode"" AS ""Name""
FROM ""{FullNameTable(TableNameEnum.ListForm)}""
GROUP BY ""ListFormCode"";";
public static string DepartmentValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Department))}\" " +
$"WHERE \"IsDeleted\" = 'false' " +
$"ORDER BY \"Name\";";
public static string JobPositionValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.JobPosition))}\" " +
$"WHERE " +
$"(\"DepartmentId\" = @param0 OR @param0 IS NULL) " +
$"AND \"IsDeleted\" = 'false' " +
$"ORDER BY \"Name\";";
public static string JobPositionFullValues =
$";WITH \"DepartmentTree\" AS " +
$"( " +
$"SELECT \"Id\", \"ParentId\" " +
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Department))}\" " +
$"WHERE \"Id\" = @param0 " +
$"OR @param0 IS NULL " +
$"UNION ALL " +
$"SELECT d.\"Id\", d.\"ParentId\" " +
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Department))}\" d " +
$"INNER JOIN \"DepartmentTree\" dt " +
$"ON d.\"Id\" = dt.\"ParentId\" " +
$") " +
$"SELECT " +
$"jp.\"Id\" AS \"Key\", " +
$"jp.\"Name\" AS \"Name\" " +
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.JobPosition))}\" jp " +
$"WHERE " +
$"jp.\"IsDeleted\" = 'false' " +
$"AND " +
$"( " +
$"jp.\"DepartmentId\" IN (SELECT \"Id\" FROM \"DepartmentTree\") " +
$"OR jp.\"ParentId\" IS NULL " +
$") " +
$"ORDER BY jp.\"Name\";";
public static string SurveyQuestionValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"QuestionText\" AS \"Name\" " +
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyQuestion))}\" " +
$"WHERE \"IsDeleted\" = 'false' " +
$"ORDER BY \"QuestionText\";";
public static string TechnicalSkillsValues =
$"SELECT " +
$"\"Name\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.Skill)}\" " +
$"WHERE \"SkillTypeId\" IN (SELECT \"Id\" FROM \"{FullNameTable(TableNameEnum.SkillType)}\" WHERE \"Name\"='Technical Skills' ) " +
$"ORDER BY \"Name\"";
}