erp-platform/api/src/Kurs.Platform.DbMigrator/Seeds/SeederDefaults.cs
2025-11-07 11:52:33 +03:00

152 lines
No EOL
5.8 KiB
C#

using System;
using System.Data;
using System.Text.Json;
using Kurs.Platform.Enums;
using Kurs.Platform.ListForms;
using Kurs.Platform.Queries;
using static Kurs.Platform.PlatformConsts;
namespace Kurs.Platform.PlatformSeeder;
public static class SeederDefaults
{
public static string DefaultDeleteCommand(string tableName)
{
return $"UPDATE \"{TableNameResolver.GetFullTableName(tableName)}\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\"=@Id";
}
public static readonly string DefaultInsertFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
{
new() { FieldName = "CreationTime", FieldDbType = DbType.DateTime, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
new() { FieldName = "CreatorId", FieldDbType = DbType.Guid, Value = "@USERID", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
new() { FieldName = "IsDeleted", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value }
});
public static readonly string DefaultDeleteFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
{
new() { FieldName = "DeleterId", FieldDbType = DbType.Guid, Value = "@USERID", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
new() { FieldName = "Id", FieldDbType = DbType.Guid, Value = "@ID", CustomValueType = FieldCustomValueTypeEnum.CustomKey }
});
public static readonly string DefaultEditingOptionJson = JsonSerializer.Serialize(new GridEditingDto
{
AllowDeleting = true,
AllowAdding = true,
AllowUpdating = true,
ConfirmDelete = true,
});
public static readonly string DefaultFilterJson = "\"IsDeleted\" = 'false'";
public static readonly string DefaultColumnOptionJson = JsonSerializer.Serialize(new
{
ColumnFixingEnabled = true,
ColumnAutoWidth = true,
ColumnChooserEnabled = true,
AllowColumnResizing = true,
AllowColumnReordering = true,
ColumnResizingMode = "widget",
});
public static readonly string DefaultLayoutJson = JsonSerializer.Serialize(new LayoutDto()
{
Grid = true,
Card = true,
Pivot = true,
Chart = true,
DefaultLayout = "grid",
CardLayoutColumn = 4
});
public static readonly string DefaultSelectionSingleJson = JsonSerializer.Serialize(new SelectionDto
{
Mode = GridOptions.SelectionModeSingle,
AllowSelectAll = false
});
public static readonly string DefaultSelectionMultipleJson = JsonSerializer.Serialize(new SelectionDto
{
AllowSelectAll = true,
Mode = GridOptions.SelectionModeMultiple,
SelectAllMode = GridOptions.SelectionAllModeAllPages
});
public static readonly string DefaultPagerOptionJson = JsonSerializer.Serialize(new GridPagerOptionDto
{
Visible = true,
AllowedPageSizes = "10,20,50,100",
ShowPageSizeSelector = true,
ShowNavigationButtons = true,
ShowInfo = false,
InfoText = "Page {0} of {1} ({2} items)",
DisplayMode = GridColumnOptions.PagerDisplayModeAdaptive,
ScrollingMode = GridColumnOptions.ScrollingModeStandard,
LoadPanelEnabled = "auto",
LoadPanelText = "Loading..."
});
public static readonly string DefaultColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto
{
AllowReordering = true,
});
public static readonly string DefaultPivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
});
public static readonly string DefaultValidationRuleRequiredJson = JsonSerializer.Serialize(new ValidationRuleDto[]
{
new() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) }
});
public static readonly string DefaultValidationRuleEmailJson = JsonSerializer.Serialize(new ValidationRuleDto[]
{
new() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.email), Reevaluate = true, IgnoreEmptyValue = true }
});
public static readonly string DefaultValidationRuleEmailRequiredJson = JsonSerializer.Serialize(new ValidationRuleDto[]
{
new() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.email) },
});
public static string DefaultPermissionJson(string c, string r, string u, string d, string e, string i, string a)
{
return JsonSerializer.Serialize(new PermissionCrudDto
{
C = c,
R = r,
U = u,
D = d,
E = e,
I = i,
A = a,
});
}
public static string DefaultPermissionJson(string permissionName)
{
return JsonSerializer.Serialize(new PermissionCrudDto
{
C = permissionName + ".Create",
R = permissionName,
U = permissionName + ".Update",
D = permissionName + ".Delete",
E = permissionName + ".Export",
I = permissionName + ".Import",
A = permissionName + ".Activity",
});
}
public static string DefaultFieldPermissionJson(string permissionName)
{
return JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = permissionName + ".Create",
R = permissionName,
U = permissionName + ".Update",
E = true,
I = false,
Deny = false
});
}
public static string DefaultFieldPermissionJson(string c, string r, string u, bool e, bool i, bool d)
{
return JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = c,
R = r,
U = u,
E = e,
I = i,
Deny = d
});
}
}