seed/data Seeder Sequences

This commit is contained in:
Sedat ÖZTÜRK 2026-09-04 15:06:11 +03:00
parent c33926d6e5
commit 1423865a8c
4 changed files with 39 additions and 74 deletions

View file

@ -2826,6 +2826,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
Description = $"{listFormName}.Description",
SelectCommandType = SelectCommandTypeEnum.Table,
SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Sequence)),
SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
SeedSyncInsert = false,
SeedSyncUpdate = false,
SeedSyncDelete = false,
KeyFieldName = "Id",
KeyFieldDbSourceType = DbType.Guid,
DefaultFilter = DefaultFilterJson,

View file

@ -911,29 +911,5 @@
"EventName": "Kültür Gezisi: Kapadokya",
"Url": "https://images.unsplash.com/photo-1515405295579-ba7b45403062?w=800"
}
],
"Sequences": [
{
"Name": "PurchaseCode1",
"Prefix": "PO",
"Suffix": "",
"PaddingSize": 6,
"IncrementStep": 1,
"StartNumber": 1,
"NextNumber": 1,
"FormatTemplate": "{Prefix}{Number}{Suffix}",
"ResetPeriod": "None"
},
{
"Name": "PurchaseCode2",
"Prefix": "PO",
"Suffix": "",
"PaddingSize": 5,
"IncrementStep": 1,
"StartNumber": 1,
"NextNumber": 1,
"FormatTemplate": "{Prefix}-{yyyy}{MM}{dd}-{Number}",
"ResetPeriod": "Daily"
}
]
}

View file

@ -21,7 +21,6 @@ namespace Sozsoft.Platform.Data.Seeds;
public class TenantSeederDto
{
//Saas
public List<SequenceSeedDto> Sequences { get; set; }
//Definitions
@ -48,19 +47,6 @@ public class TenantSeederDto
public List<EventCommentSeedDto> EventComments { get; set; }
}
public class SequenceSeedDto
{
public string Name { get; set; } = null!;
public string? Prefix { get; set; }
public string? Suffix { get; set; }
public int PaddingSize { get; set; } = 5;
public int IncrementStep { get; set; } = 1;
public long StartNumber { get; set; } = 1;
public long NextNumber { get; set; } = 1;
public string? FormatTemplate { get; set; }
public SequenceResetPeriod ResetPeriod { get; set; } = SequenceResetPeriod.None;
}
public class SocialPostSeedDto
{
public string Content { get; set; }
@ -249,7 +235,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
private readonly IRepository<SocialPollOption, Guid> _socialPollOptionRepository;
private readonly IRepository<SocialComment, Guid> _socialCommentRepository;
private readonly IRepository<SocialLike, Guid> _socialLikeRepository;
private readonly IRepository<Sequence, Guid> _sequenceRepository;
private readonly IRepository<EventType, Guid> _eventTypeRepository;
private readonly IRepository<EventCategory, Guid> _eventCategoryRepository;
@ -273,8 +258,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
IRepository<SocialLike, Guid> socialLikeRepository,
IRepository<EventType, Guid> eventTypeRepository,
IRepository<EventCategory, Guid> eventCategoryRepository,
IRepository<Event, Guid> eventRepository,
IRepository<Sequence, Guid> sequenceRepository
IRepository<Event, Guid> eventRepository
)
{
_lookupNormalizer = lookupNormalizer;
@ -293,7 +277,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
_eventTypeRepository = eventTypeRepository;
_eventCategoryRepository = eventCategoryRepository;
_eventRepository = eventRepository;
_sequenceRepository = sequenceRepository;
}
public async Task SeedAsync(DataSeedContext context)
@ -560,37 +543,5 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
}
}
foreach (var item in items.Sequences)
{
var exists = await _sequenceRepository.AnyAsync(x => x.Name == item.Name);
if (!exists)
{
await _sequenceRepository.InsertAsync(
new Sequence
{
Name = item.Name,
Prefix = item.Prefix,
Suffix = item.Suffix,
PaddingSize = item.PaddingSize,
IncrementStep = item.IncrementStep,
StartNumber = item.StartNumber,
NextNumber = item.NextNumber,
FormatTemplate = string.IsNullOrWhiteSpace(item.FormatTemplate)
? "{Prefix}{Number}{Suffix}"
: item.FormatTemplate,
ResetPeriod = item.ResetPeriod,
IsActive = true
},
autoSave: true
);
}
}
}
}

View file

@ -0,0 +1,34 @@
{
"ListFormCode": "App.Definitions.Sequence",
"KeyFieldName": "Id",
"GeneratedAt": "2026-09-04T00:00:00Z",
"Order": 0,
"Rows": [
{
"Id": "593717fa-97f3-5d85-9d84-08ec94d8e23f",
"Name": "PurchaseCode1",
"Prefix": "PO",
"Suffix": "",
"IsActive": true,
"PaddingSize": 6,
"IncrementStep": 1,
"StartNumber": 1,
"NextNumber": 1,
"ResetPeriod": 0,
"FormatTemplate": "{Prefix}{Number}{Suffix}"
},
{
"Id": "678c4337-5b06-51a7-9822-69d0dd90f13f",
"Name": "PurchaseCode2",
"Prefix": "PO",
"Suffix": "",
"IsActive": true,
"PaddingSize": 5,
"IncrementStep": 1,
"StartNumber": 1,
"NextNumber": 1,
"ResetPeriod": 3,
"FormatTemplate": "{Prefix}-{yyyy}{MM}{dd}-{Number}"
}
]
}