@@ -200,7 +200,7 @@ private static async void SeedEForms(IServiceCollection services)
200200
201201
202202 var backendConfigurationPnDbContext = serviceProvider . GetRequiredService < BackendConfigurationPnDbContext > ( ) ;
203- // var itemsPlanningContext = serviceProvider.GetRequiredService<ItemsPlanningPnDbContext>();
203+ var itemsPlanningContext = serviceProvider . GetRequiredService < ItemsPlanningPnDbContext > ( ) ;
204204 // var caseTemplateContext = serviceProvider.GetRequiredService<CaseTemplatePnDbContext>();
205205 // seed eforms
206206 var assembly = Assembly . GetExecutingAssembly ( ) ;
@@ -524,6 +524,13 @@ private static async void SeedEForms(IServiceCollection services)
524524 var folder = await sdkDbContext . Folders . FirstOrDefaultAsync ( x => x . Id == property . FolderId ) ;
525525 if ( folder != null )
526526 {
527+ if ( ! folder . IsLocked )
528+ {
529+ folder . IsLocked = true ;
530+ folder . ManagedByPlugin = true ;
531+ folder . IsEditable = false ;
532+ await folder . Update ( sdkDbContext ) . ConfigureAwait ( false ) ;
533+ }
527534 // join the table Folder with the FolderTranslations to find the "Exceeded tasks" folder with the parentId set to the property.FolderId
528535 var folderAndFolderTranslation = await sdkDbContext . Folders
529536 . Join ( sdkDbContext . FolderTranslations ,
@@ -534,9 +541,62 @@ private static async void SeedEForms(IServiceCollection services)
534541 . FirstOrDefaultAsync ( ) ;
535542 if ( folderAndFolderTranslation == null ) // if the folder does not exist create it
536543 {
537- await core . FolderCreate ( commonTranslations , folder . Id ) . ConfigureAwait ( false ) ;
544+ var folderId = await core . FolderCreate ( commonTranslations , folder . Id ) . ConfigureAwait ( false ) ;
545+ var newFolder = await sdkDbContext . Folders . FirstAsync ( x => x . Id == folderId ) ;
546+ newFolder . IsLocked = true ;
547+ newFolder . ManagedByPlugin = true ;
548+ newFolder . IsEditable = false ;
549+ await newFolder . Update ( sdkDbContext ) . ConfigureAwait ( false ) ;
550+ } else
551+ {
552+ var existingFolder = folderAndFolderTranslation . lookupFolder ;
553+ if ( ! existingFolder . IsLocked || ! existingFolder . ManagedByPlugin || ! existingFolder . IsEditable )
554+ {
555+ existingFolder . IsLocked = true ;
556+ existingFolder . ManagedByPlugin = true ;
557+ existingFolder . IsEditable = false ;
558+ await existingFolder . Update ( sdkDbContext ) . ConfigureAwait ( false ) ;
559+ }
560+ }
561+
562+ var folderForNewTasks = await sdkDbContext . Folders
563+ . FirstOrDefaultAsync ( x => x . Id == property . FolderIdForNewTasks ) ;
564+ if ( folderForNewTasks is { IsLocked : false } )
565+ {
566+ folderForNewTasks . IsLocked = true ;
567+ folderForNewTasks . ManagedByPlugin = true ;
568+ folderForNewTasks . IsEditable = false ;
569+ await folderForNewTasks . Update ( sdkDbContext ) . ConfigureAwait ( false ) ;
570+ }
571+
572+ var folderForCompletedTasks = await sdkDbContext . Folders
573+ . FirstOrDefaultAsync ( x => x . Id == property . FolderIdForCompletedTasks ) ;
574+ if ( folderForCompletedTasks is { IsLocked : false } )
575+ {
576+ folderForCompletedTasks . IsLocked = true ;
577+ folderForCompletedTasks . ManagedByPlugin = true ;
578+ folderForCompletedTasks . IsEditable = false ;
579+ await folderForCompletedTasks . Update ( sdkDbContext ) . ConfigureAwait ( false ) ;
580+ }
581+
582+ var folderForOngoingTasks = await sdkDbContext . Folders
583+ . FirstOrDefaultAsync ( x => x . Id == property . FolderIdForOngoingTasks ) ;
584+ if ( folderForOngoingTasks is { IsLocked : false } )
585+ {
586+ folderForOngoingTasks . IsLocked = true ;
587+ folderForOngoingTasks . ManagedByPlugin = true ;
588+ folderForOngoingTasks . IsEditable = false ;
589+ await folderForOngoingTasks . Update ( sdkDbContext ) . ConfigureAwait ( false ) ;
538590 }
539591 }
592+
593+ var itemPlanningTag =
594+ await itemsPlanningContext . PlanningTags . FirstAsync ( x => x . Id == property . ItemPlanningTagId ) ;
595+ if ( ! itemPlanningTag . IsLocked )
596+ {
597+ itemPlanningTag . IsLocked = true ;
598+ await itemPlanningTag . Update ( itemsPlanningContext ) . ConfigureAwait ( false ) ;
599+ }
540600 } catch ( Exception ex )
541601 {
542602 Console . WriteLine ( ex . Message ) ;
@@ -545,6 +605,47 @@ private static async void SeedEForms(IServiceCollection services)
545605
546606 }
547607
608+ var parentFolderTranslation =
609+ await sdkDbContext . Folders
610+ // .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
611+ . Include ( x => x . FolderTranslations )
612+ . Where ( x => x . ParentId == null )
613+ . AsNoTracking ( )
614+ . FirstOrDefaultAsync ( x =>
615+ x . FolderTranslations . Any ( y => y . Name == "00.03 Andres opgaver" ) ) ;
616+ if ( parentFolderTranslation != null )
617+ {
618+ var folder = await sdkDbContext . Folders
619+ . FirstAsync ( x => x . ParentId == parentFolderTranslation . Id ) ;
620+ if ( ! folder . IsLocked || ! folder . ManagedByPlugin || ! folder . IsEditable )
621+ {
622+ folder . IsLocked = true ;
623+ folder . ManagedByPlugin = true ;
624+ folder . IsEditable = false ;
625+ await folder . Update ( sdkDbContext ) . ConfigureAwait ( false ) ;
626+ }
627+ }
628+ var ft =
629+ await sdkDbContext . Folders
630+ // .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
631+ . Include ( x => x . FolderTranslations )
632+ . Where ( x => x . ParentId == null )
633+ . AsNoTracking ( )
634+ . FirstOrDefaultAsync ( x =>
635+ x . FolderTranslations . Any ( y => y . Name == "00.01 Mine hasteopgaver" ) ) ;
636+ if ( ft != null )
637+ {
638+ var f = await sdkDbContext . Folders
639+ . FirstAsync ( x => x . ParentId == ft . Id ) ;
640+ if ( ! f . IsLocked || ! f . ManagedByPlugin || ! f . IsEditable )
641+ {
642+ f . IsLocked = true ;
643+ f . ManagedByPlugin = true ;
644+ f . IsEditable = false ;
645+ await f . Update ( sdkDbContext ) . ConfigureAwait ( false ) ;
646+ }
647+ }
648+
548649 foreach ( var newArea in BackendConfigurationSeedAreas . AreasSeed
549650 . Where ( newArea => ! backendConfigurationPnDbContext . Areas . Any ( x => x . Id == newArea . Id ) )
550651 . Where ( x => x . IsDisabled == false ) )
0 commit comments