Files
DP44/Common/DTS.Common.Import/Factories/DatabaseLocksFactory.cs
2026-04-17 14:55:32 -04:00

40 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DTS.Common.Import.Interfaces;
using DTS.Slice.Users;
using DTS.Common.Import.DatabaseLocks;
namespace DTS.Common.Import.Factories
{
public static class DatabaseLocksFactory
{
//FB 36740 Factory to build objects which implement ILockImport
public static List<ILockImport> Create(ImportObject importObject, User user, double strandedLockTimeoutMinutes)
{
List<ILockImport> lockImports = new List<ILockImport>();
if (importObject.TestSetups().Any())
{
var testSetupsLock = new LockImportTestSetups(user, strandedLockTimeoutMinutes);
lockImports.Add(testSetupsLock);
}
if (importObject.Sensors().Any())
{
var sensorsLock = new LockImportSensors(user, strandedLockTimeoutMinutes);
lockImports.Add(sensorsLock);
}
if (importObject.StaticGroups().Any())
{
var groupsLock = new LockImportGroups(user, strandedLockTimeoutMinutes);
lockImports.Add(groupsLock);
}
return lockImports;
}
}
}