erp-platform/api/src/Kurs.Platform.DbMigrator/Seeds/SeederDto.cs
2025-08-20 00:01:24 +03:00

297 lines
8.8 KiB
C#

using System;
using System.Collections.Generic;
using Kurs.Languages.Entities;
using Kurs.Platform.Charts.Dto;
using Kurs.Platform.Entities;
using Kurs.Platform.ListForms;
using Kurs.Settings.Entities;
namespace Kurs.Platform.Seeds;
public class SeederDto
{
public List<Language> Languages { get; set; }
public List<LanguageTextsSeedDto> LanguageTexts { get; set; }
public List<DataSource> DataSources { get; set; }
public List<SettingDefinition> Settings { get; set; }
public List<ChartsSeedDto> Charts { get; set; }
public List<GlobalSearchSeedDto> GlobalSearch { get; set; }
public List<BackgroundWorkerSeedDto> BackgroundWorkers { get; set; }
public List<NotificationRuleSeedDto> NotificationRules { get; set; }
public List<MenuSeedDto> Menus { get; set; }
public List<PermissionGroupDefinitionRecordSeedDto> PermissionGroupDefinitionRecords { get; set; }
public List<PermissionDefinitionRecordSeedDto> PermissionDefinitionRecords { get; set; }
public List<SectorSeedDto> Sectors { get; set; }
public List<UomCategorySeedDto> UomCategories { get; set; }
public List<UomSeedDto> Uoms { get; set; }
public List<CurrencySeedDto> Currencies { get; set; }
public List<SkillTypeSeedDto> SkillTypes { get; set; }
public List<SkillSeedDto> Skills { get; set; }
public List<SkillLevelSeedDto> SkillLevels { get; set; }
public List<ContactTagSeedDto> ContactTags { get; set; }
public List<ContactTitleSeedDto> ContactTitles { get; set; }
public List<BlogCategorySeedDto> BlogCategories { get; set; }
public List<BlogPostSeedDto> BlogPosts { get; set; }
public List<ForumCategorySeedDto> ForumCategories { get; set; }
public List<AiBotSeedDto> AiBots { get; set; }
public List<RouteSeedDto> Routes { get; set; }
public List<CustomEndpointSeedDto> CustomEndpoints { get; set; }
public List<ProductSeedDto> Products { get; set; }
public List<PaymentMethodSeedDto> PaymentMethods { get; set; }
public List<InstallmentOptionSeedDto> InstallmentOptions { get; set; }
public List<CustomComponentSeedDto> CustomComponents { get; set; }
public List<ReportCategorySeedDto> ReportCategories { get; set; }
}
public class ChartsSeedDto
{
public string ChartCode { get; set; }
public string CultureName { get; set; }
public string DataSourceCode { get; set; }
public string UserId { get; set; }
public string RoleId { get; set; }
public ChartTitleDto Title { get; set; }
public ChartDataSourceDto DataSource { get; set; }
public List<ChartCommonSeriesSettingsDto> Series { get; set; }
public ChartCrosshairDto Crosshair { get; set; }
public ChartSizeDto Size { get; set; }
public PermissionCrudDto Permission { get; set; }
public ChartArgumentAxisDto ArgumentAxis { get; set; }
}
public class LanguageTextsSeedDto
{
public string ResourceName { get; set; }
public string Key { get; set; }
public string En { get; set; }
public string Tr { get; set; }
}
public class GlobalSearchSeedDto
{
public string System { get; set; }
public string Group { get; set; }
public string Term { get; set; }
public string Weight { get; set; }
public string Url { get; set; }
}
public class BackgroundWorkerSeedDto
{
public string Name { get; set; }
public string Cron { get; set; }
public string WorkerType { get; set; }
public bool IsActive { get; set; }
public string DataSourceCode { get; set; }
}
public class NotificationRuleSeedDto
{
public string NotificationType { get; set; }
public string RecipientType { get; set; }
public string RecipientId { get; set; }
public string Channel { get; set; }
public bool IsActive { get; set; }
public bool IsFixed { get; set; }
public bool IsCustomized { get; set; }
}
public class MenuSeedDto
{
public string ParentCode { get; set; }
public string Code { get; set; }
public string DisplayName { get; set; }
public int Order { get; set; }
public string Url { get; set; }
public string Icon { get; set; }
public string RequiredPermissionName { get; set; }
public bool IsDisabled { get; set; }
}
public class PermissionGroupDefinitionRecordSeedDto
{
public string Name { get; set; }
public string DisplayName { get; set; }
}
public class PermissionDefinitionRecordSeedDto
{
public string GroupName { get; set; }
public string Name { get; set; }
public string ParentName { get; set; }
public string DisplayName { get; set; }
public bool IsEnabled { get; set; }
public int MultiTenancySide { get; set; }
}
public class SectorSeedDto
{
public string Name { get; set; }
public string FullName { get; set; }
}
public class UomCategorySeedDto
{
public Guid Id { get; set; }
public string Name { get; set; }
}
public class UomSeedDto
{
public string Name { get; set; }
public string Type { get; set; }
public decimal Ratio { get; set; }
public bool IsActive { get; set; }
public decimal Rounding { get; set; }
public Guid UomCategoryId { get; set; }
}
public class CurrencySeedDto
{
public string Code { get; set; }
public string Symbol { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
}
public class SkillTypeSeedDto
{
public string Name { get; set; }
}
public class SkillSeedDto
{
public string Name { get; set; }
public string TypeName { get; set; }
}
public class SkillLevelSeedDto
{
public string Name { get; set; }
public int Progress { get; set; }
public bool IsDefault { get; set; }
public string TypeName { get; set; }
}
public class ContactTagSeedDto
{
public string Name { get; set; }
public string Category { get; set; }
}
public class ContactTitleSeedDto
{
public string Title { get; set; }
public string Abbreviation { get; set; }
}
public class BlogCategorySeedDto
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Slug { get; set; }
public string Description { get; set; }
public int DisplayOrder { get; set; }
public int PostCount { get; set; }
}
public class BlogPostSeedDto
{
public Guid Id { get; set; }
public string Title { get; set; }
public string Slug { get; set; }
public string ContentTr { get; set; }
public string ContentEn { get; set; }
public string ReadTime { get; set; }
public string Summary { get; set; }
public string CoverImage { get; set; }
public Guid CategoryId { get; set; }
public Guid AuthorId { get; set; }
public Boolean IsPublished { get; set; }
public DateTime PublishedAt { get; set; }
}
public class ForumCategorySeedDto
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Slug { get; set; }
public string Description { get; set; }
public string Icon { get; set; }
public int DisplayOrder { get; set; }
public bool IsActive { get; set; }
}
public class AiBotSeedDto
{
public Guid Id { get; set; }
public string BotName { get; set; }
}
public class RouteSeedDto
{
public string Key { get; set; }
public string Path { get; set; }
public string ComponentPath { get; set; }
public string RouteType { get; set; }
public string[] Authority { get; set; }
}
public class CustomEndpointSeedDto
{
public string Name { get; set; }
public string Description { get; set; }
public string Url { get; set; }
public string Method { get; set; }
public string DataSourceCode { get; set; }
public string Sql { get; set; }
public List<CustomEndpointParameter> ParametersJson { get; set; }
public List<CustomEndpointPermission> PermissionsJson { get; set; }
}
public class ProductSeedDto
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Category { get; set; }
public int Order { get; set; }
public decimal? MonthlyPrice { get; set; }
public decimal? YearlyPrice { get; set; }
public bool IsQuantityBased { get; set; }
public string ImageUrl { get; set; }
}
public class PaymentMethodSeedDto
{
public string Id { get; set; } // e.g. "credit-card", "bank-transfer"
public string Name { get; set; }
public decimal Commission { get; set; }
public string Logo { get; set; }
}
public class InstallmentOptionSeedDto
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Commission { get; set; }
}
public class CustomComponentSeedDto
{
public string Name { get; set; }
public string Code { get; set; }
public string? Props { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
public List<string> Dependencies { get; set; } = new();
}
public class ReportCategorySeedDto
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Icon { get; set; }
}