40 lines
1.3 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|