Files
2026-04-17 14:55:32 -04:00

39 lines
1.3 KiB
C#

using DTS.Common.Import.Enums;
using DTS.Slice.Users;
using System;
namespace DTS.Common.Import.Persist
{
public class SaveUsers : SaveVariantBase
{
public IUIItems[] UIItems { get; set; }
public User CurrentUser { get; set; }
public SaveUsers(ImportObject importObject, IPersistCalculator persistCalculator, IImportNotification importNotification, Func<bool> isCancelled = null) :
base(importObject, persistCalculator, importNotification, isCancelled)
{
}
public override void Save()
{
_importNotification.SetStatus.Invoke(new ImportStatus { ExtraStatus = ImportExtraStatus.ReadingUsers, PossibleStatus = PossibleStatus.Importing });
foreach (var user in _importObject.Users())
{
if (IsCancelled())
{
return;
}
System.Diagnostics.Trace.Assert(CurrentUser.IsAdmin, "importing users from a non admin user. [should have been prevented earlier up chain]");
UserCollection.UsersList.Commit(user,
CurrentUser.UserName, UIItems);
_persistCalculator.AddDone();
_importNotification.SetProgress(_persistCalculator.ProgressValue);
}
}
}
}