51 lines
1.8 KiB
C#
51 lines
1.8 KiB
C#
using System.Linq;
|
|
using ClassicAssist.Data.Organizer;
|
|
using ClassicAssist.Shared.Resources;
|
|
using UOC = ClassicAssist.Shared.UO.Commands;
|
|
|
|
namespace ClassicAssist.Data.Macros.Commands
|
|
{
|
|
public static class OrganizerCommands
|
|
{
|
|
[CommandsDisplay( Category = nameof( Strings.Agents ) )]
|
|
public static bool Organizing()
|
|
{
|
|
OrganizerManager manager = OrganizerManager.GetInstance();
|
|
|
|
bool organizing = manager.Items.Any( o => o.IsRunning() );
|
|
|
|
return organizing;
|
|
}
|
|
|
|
[CommandsDisplay( Category = nameof( Strings.Agents ),
|
|
Parameters = new[]
|
|
{
|
|
nameof( ParameterType.AgentEntryName ), nameof( ParameterType.SerialOrAlias ),
|
|
nameof( ParameterType.SerialOrAlias )
|
|
} )]
|
|
public static void Organizer( string name, object sourceContainer = null, object destinationContainer = null )
|
|
{
|
|
OrganizerManager manager = OrganizerManager.GetInstance();
|
|
|
|
OrganizerEntry entry = manager.Items.FirstOrDefault( oa => oa.Name.ToLower().Equals( name.ToLower() ) );
|
|
|
|
if ( entry == null )
|
|
{
|
|
UOC.SystemMessage( string.Format( Strings.Organizer___0___not_found___, name ) );
|
|
return;
|
|
}
|
|
|
|
if ( sourceContainer != null && destinationContainer != null )
|
|
{
|
|
int sourceContainerSerial = AliasCommands.ResolveSerial( sourceContainer );
|
|
int destinatinContainerSerial = AliasCommands.ResolveSerial( destinationContainer );
|
|
|
|
manager.Organize( entry, sourceContainerSerial, destinatinContainerSerial ).Wait();
|
|
}
|
|
else
|
|
{
|
|
manager.Organize( entry ).Wait();
|
|
}
|
|
}
|
|
}
|
|
} |