Table of Contents

Interface IWorkstationService

Namespace
Acuit.Pinpoint.Workstation
Assembly
Acuit.Pinpoint.Workstation.Interfaces.dll

Services provided by the workstation to plug-ins.

public interface IWorkstationService

Properties

Configuration

Gets the key/value configuration settings for this workstation.

IConfigurationRoot Configuration { get; }

Property Value

IConfigurationRoot

Remarks

When the plug-in is initially loaded and initialized, this will only reflect settings from settings.json files on the local workstation. After the workstation has completed its startup process (i.e., after it has retrieved its station settings from Acuit Pinpoint Server), these configuration settings will be reloaded to reflect settings obtained from Acuit Pinpoint Server.

In general, plug-ins should use GetReloadToken() to monitor for changes and react accordingly, since settings can change while Acuit Pinpoint Workstation is running. When the plug-in is created initially, the settings available through this property will consist only of settings obtained from this local computer. Settings from Acuit Pinpoint Server will be added later via a reload. Settings will also be reloaded whenever a local settings.json file changes.

A plug-in can also wait until the StationStarted event fires to initialize itself, since at that point this property will reflect all settings, including those from Acuit Pinpoint Server. At the very least, it should wait to raise errors due to missing or invalid configuration settings until after the StationStarted event fires.

IsStationStarted

Gets whether the station has been successfully started.

bool IsStationStarted { get; }

Property Value

bool

Remarks

For the station to start, it must connect to Acuit Pinpoint Server and retrieve its configuration settings.

If a plug-in depends on key/value configuration settings that might come from Acuit Pinpoint Server, it should ensure that this is true (or wait until the StationStarted event occurs) to use Configuration to initialize.

IsTransportSecurityActive

Gets whether transport security is currently being used with the Acuit Pinpoint Server connection.

bool IsTransportSecurityActive { get; }

Property Value

bool

IsWorkerLoggedOn

Gets whether a worker is logged on.

bool IsWorkerLoggedOn { get; }

Property Value

bool

Remarks

This will be true for stations with an automatic worker logon is configured, once the station has started.

LineName

Gets the line name.

string LineName { get; }

Property Value

string

PinpointServerAddress

Gets the Acuit Pinpoint Server address.

string PinpointServerAddress { get; }

Property Value

string

PinpointServerName

Gets the Acuit Pinpoint Server name.

string PinpointServerName { get; }

Property Value

string

StationName

Gets the station name.

string StationName { get; }

Property Value

string

StationSettings

Gets the station settings.

IStationSettings StationSettings { get; }

Property Value

IStationSettings

Remarks

Only a subset of the station configuration settings are currently available.

StationTypeName

Gets the station type name.

string StationTypeName { get; }

Property Value

string

UnitProductionScheduleRepository

Gets or sets the unit production schedule repository for this workstation.

IUnitProductionScheduleRepository UnitProductionScheduleRepository { get; set; }

Property Value

IUnitProductionScheduleRepository

Remarks

A plug-in can set this to provide a custom unit production schedule repository implementation. If this is null, the default unit production schedule repository is used, which uses MSMQ to receive production schedules.

This will have no affect if unit production schedules are not enabled for this station type.

UnitSelector

Gets or sets the unit selector used to select a unit to work with at the workstation.

IUnitSelector UnitSelector { get; set; }

Property Value

IUnitSelector

Remarks

By default, this will be set to a default unit selector, which provides a default unit scanning user interface, as configured for the station type. If a plug-in sets this to a some other value, then the default unit scanning user interface is not shown and the plug-in must handle selecting a unit.

This must be set before the workstation starts prompting for a unit. If it is changed while prompting for a unit, then the new setting will not take effect until the next time the workstation starts prompting for a unit.

UnitStation

Gets the unit station for the unit currently at the station, or null if no unit is at the station.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.UnitStation should be used instead.")]
UnitStation UnitStation { get; }

Property Value

UnitStation

Remarks

This behaves like UnitStation.

Methods

AddDefect(string, string)

Adds a defect for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.AddDefect should be used instead.")]
AddDefectStatus AddDefect(string fullDefectName, string notes)

Parameters

fullDefectName string

The full defect name, with the path parts delimited by backslashes.

notes string

Additional notes about the defect. This can be null or blank.

Returns

AddDefectStatus

Status information. The UnitStationChanges member of the returned status will not contain any children; they will have already been integrated with the active unit tracked at the workstation.

Remarks

This can take some time since it must contact Acuit Pinpoint Server, so it is recommended to show a wait indication (e.g., via WaitCursor()) while doing this.

Exceptions

ArgumentNullException

fullDefectName is null.

InvalidOperationException

There is no unit at the workstation.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

AddRepair(int, string, string)

Adds a repair to a defect for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.AddRepair should be used instead.")]
AddRepairStatus AddRepair(int unitDefectId, string fullRepairName, string notes)

Parameters

unitDefectId int

The unit defect identifier for the defect that is being repaired.

fullRepairName string

The full repair name, with the path parts delimited by backslashes.

notes string

Additional notes about the repair. This can be null or blank.

Returns

AddRepairStatus

Status information. The UnitStationChanges member of the returned status will not contain any children; they will have already been integrated with the active unit tracked at the workstation.

Remarks

This can take some time since it must contact Acuit Pinpoint Server, so it is recommended to show a wait indication (e.g., via WaitCursor()) while doing this.

Exceptions

InvalidOperationException

There is no unit at the workstation.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

AddTestResult(string, bool, string, string, Dictionary<string, string>)

Adds a test result for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.AddTestResult should be used instead.")]
AddTestResultStatus AddTestResult(string testName, bool passed, string reason, string notes, Dictionary<string, string> extendedData)

Parameters

testName string

The name of the test.

passed bool

Whether the test passed.

reason string

The reason for a failed test. This can be null if the test passed.

notes string

Operator-entered notes about the test.

extendedData Dictionary<string, string>

Extended data associated with the test result. This can be null. This data is not automatically saved with the test result; a server plug-in is expected to process this information.

Returns

AddTestResultStatus

Status information. The UnitStationChanges member of the returned status will not contain any children; they will have already been integrated with the active unit tracked at the workstation.

Remarks

This can take some time since it must contact Acuit Pinpoint Server, so it is recommended to show a wait indication (e.g., via WaitCursor()) while doing this.

Exceptions

ArgumentNullException

testName is null.

InvalidOperationException

There is no unit at the workstation.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

AddTestResult2(string, bool, string, string, string)

Adds a test result for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.AddTestResult should be used instead.")]
AddTestResultStatus AddTestResult2(string testName, bool passed, string reason, string notes, string dataXml)

Parameters

testName string

The name of the test.

passed bool

Whether the test passed.

reason string

The reason for a failed test. This can be null if the test passed.

notes string

Operator-entered notes about the test.

dataXml string

Test-specific data, formatted as XML, or null. The XML should be structured according to the remarks for ParseXmlTestData(string) so that Acuit Pinpoint can interpret and nicely display the data.

Returns

AddTestResultStatus

Status information. The UnitStationChanges member of the returned status will not contain any children; they will have already been integrated with the active unit tracked at the workstation.

Remarks

This can take some time since it must contact Acuit Pinpoint Server, so it is recommended to show a wait indication (e.g., via WaitCursor()) while doing this.

Exceptions

ArgumentNullException

testName is null.

InvalidOperationException

There is no unit at the workstation.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

AuthenticateWorker(string, string)

Prompts for worker credentials via a dialog box.

Worker AuthenticateWorker(string title, string message)

Parameters

title string

The title to use for the dialog box title, or null to use the default "Not Authorized".

message string

The message to use in the dialog box title, or null to use the default "You are not authorization to perform this action. Please enter alternate credentials with sufficient authorization."

Returns

Worker

A Worker for the authenticated worker, or null if the worker authentication prompt was canceled by the user. When connecting to Acuit Pinpoint Server versions older than 6.200, Groups will not be populated.

Exceptions

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

ClearBuyoff(string)

Clears a buyoff for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.ClearBuyoff should be used instead.")]
BuyoffStatus ClearBuyoff(string buyoffName)

Parameters

buyoffName string

The buyoff name.

Returns

BuyoffStatus

Status information. The UnitStationChanges member of the returned status will not contain any children; they will have already been integrated with the active unit tracked at the workstation.

Remarks

This can take some time since it must contact Acuit Pinpoint Server, so it is recommended to show a wait indication (e.g., via WaitCursor()) while doing this.

Exceptions

ArgumentNullException

buyoffName is null.

InvalidOperationException

There is no unit at the workstation.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

EnqueueTypedNumber(string)

Enqueues a number (i.e., a serial number or model number) to the workstation workflow.

void EnqueueTypedNumber(string number)

Parameters

number string

The number to enqueue.

Remarks

This should only be called when the workstation is prompting for a bar code scan of some kind.

GetComponentPartsList(string)

Gets the parts list configured for a component type.

IEnumerable<Part> GetComponentPartsList(string componentTypeName)

Parameters

componentTypeName string

The component type name.

Returns

IEnumerable<Part>

The list of parts.

Exceptions

ArgumentNullException

componentTypeName is null.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

GetComponentScanSettings(string)

Gets the item scan settings for a component type, as configured for this station type.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IItemScanningService.GetComponentScanSettings should be used instead.")]
ItemScanSettings GetComponentScanSettings(string componentTypeName)

Parameters

componentTypeName string

The component type name.

Returns

ItemScanSettings

A new ItemScanSettings with the item scan settings.

Remarks

These settings can be used with StartScanningItem(ItemScanSettings).

Exceptions

ArgumentNullException

componentTypeName is null.

ArgumentException

The componentTypeName component type is not configured to be scanned at this station.

GetNextComponentSerialNumber(string)

Gets the next automatically-generated component serial number.

string GetNextComponentSerialNumber(string componentTypeName)

Parameters

componentTypeName string

The component type name.

Returns

string

The next automatically-generated serial number.

Remarks

The returned serial number will be for a unit record that does not yet exist.

Exceptions

ArgumentNullException

componentTypeName is null.

ArgumentException

componentTypeName does not refer to a component type configured for the line.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

GetNextUnitSerialNumber()

Gets the next automatically-generated unit serial number.

string GetNextUnitSerialNumber()

Returns

string

The next automatically-generated serial number.

Remarks

The returned serial number will be for a unit record that does not yet exist.

Exceptions

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

GetTableData(string)

Retrieves an Acuit Pinpoint table from the Acuit Pinpoint Server database.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.ResourceManagement.TableResourceExtensions.CreateTableResourceReference should be used instead.")]
string GetTableData(string tableName)

Parameters

tableName string

The name of the table.

Returns

string

The table data, in CSV format.

Exceptions

ArgumentNullException

tableName is null.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

GetTableDataAsync(string)

Retrieves an Acuit Pinpoint table from the Acuit Pinpoint Server database.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.ResourceManagement.TableResourceExtensions.CreateTableResourceReference should be used instead.")]
Task<string> GetTableDataAsync(string tableName)

Parameters

tableName string

The name of the table.

Returns

Task<string>

A task that represents the asynchronous operation. The value of its Result property contains the table data, in CSV format.

Exceptions

ArgumentNullException

tableName is null.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault. This will only occur asynchronously, wrapped in an AggregateException as the faulted task's Exception.

TimeoutException

Communication with Acuit Pinpoint Server timed out. This will only occur asynchronously, wrapped in an AggregateException as the faulted task's Exception.

GetUnitScanSettings()

Gets the item scan settings for units, as configured for this station type.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IItemScanningService.GetUnitScanSettings should be used instead.")]
ItemScanSettings GetUnitScanSettings()

Returns

ItemScanSettings

A new ItemScanSettings with the item scan settings.

Remarks

These settings can be used with StartScanningItem(ItemScanSettings).

InitiateRescanComponent(string)

Initiates rescanning a component for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.InitiateComponentScan should be used instead.")]
void InitiateRescanComponent(string componentTypeName)

Parameters

componentTypeName string

The component type name.

Exceptions

InvalidOperationException

There is no unit at the workstation.

- or -

The workstation is busy (e.g., it is prompting for a component scan or is displaying a message or dialog box).

ArgumentException

The componentTypeName component type is not configured to be scanned at this station.

InitiateTestOverride(int)

Initiates overriding a test for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.PerformTestOverride should be used instead.")]
OverrideTestStatus InitiateTestOverride(int unitTestId)

Parameters

unitTestId int

The id of the test to override.

Returns

OverrideTestStatus

Status information if the test was overridden, or null if the operator canceled. The UnitStationChanges member of the returned status will not contain any children; they will have already been integrated with the active unit tracked at the workstation.

Remarks

If the operator does not have authorization to override the specified test, then a dialog will first appear so that a different worker who has authorization can provide credentials. Once the override is authorized, a dialog will appear, prompting the operator for verification and allowing notes to be entered.

Exceptions

InvalidOperationException

There is no unit at the workstation.

InvokeAutomationElementAsync(string)

Invokes an automation element.

Task<bool> InvokeAutomationElementAsync(string automationId)

Parameters

automationId string

The automation id of the element to invoke.

Returns

Task<bool>

true if the element was invoked, or false if no invokable element with the specified id was found.

InvokeServerPlugIn(string, string, string)

Invokes a server plug-in for any custom purpose.

string InvokeServerPlugIn(string plugInName, string methodName, string parameter)

Parameters

plugInName string

The name of the server plug-in.

methodName string

A name that specifies a method to invoke.

parameter string

A parameter for the method.

Returns

string

Data from the method.

Remarks

This is available to allow a workstation plug-in to interact with a server plug-in.

This can take some time since it must contact Acuit Pinpoint Server, so it is recommended to show a wait indication (e.g., via WaitCursor()) while doing this.

Exceptions

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

InvokeServerPlugInAsync(string, string, string)

Invokes a server plug-in for any custom purpose.

Task<string> InvokeServerPlugInAsync(string plugInName, string methodName, string parameter)

Parameters

plugInName string

The name of the server plug-in.

methodName string

A name that specifies a method to invoke.

parameter string

A parameter for the method.

Returns

Task<string>

A task that represents the asynchronous operation. The value of its Result property contains data from the method.

Remarks

This is available to allow a workstation plug-in to interact with a server plug-in.

Exceptions

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault. This will only occur asynchronously, wrapped in an AggregateException as the faulted task's Exception.

TimeoutException

Communication with Acuit Pinpoint Server timed out. This will only occur asynchronously, wrapped in an AggregateException as the faulted task's Exception.

InvokeServerPlugInAsync(string, string, string, string)

Invokes a server plug-in for any custom purpose.

Task<string> InvokeServerPlugInAsync(string lineName, string plugInName, string methodName, string parameter)

Parameters

lineName string

The line name.

plugInName string

The name of the server plug-in.

methodName string

A name that specifies a method to invoke.

parameter string

A parameter for the method.

Returns

Task<string>

A task that represents the asynchronous operation. The value of its Result property contains data from the method.

Remarks

This is available to allow a workstation plug-in to interact with a server plug-in from a different line.

Exceptions

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault. This will only occur asynchronously, wrapped in an AggregateException as the faulted task's Exception.

TimeoutException

Communication with Acuit Pinpoint Server timed out. This will only occur asynchronously, wrapped in an AggregateException as the faulted task's Exception.

ReleaseUnit()

Releases the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.ReleaseUnit should be used instead.")]
bool ReleaseUnit()

Returns

bool

true if the unit was released, or false if something prevented the unit from being released, such as a running test that could not be canceled.

Exceptions

InvalidOperationException

There is no unit at the workstation.

- or -

The workstation is busy (e.g., it is prompting for a component scan or is displaying a message or dialog box).

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

ScanComponent(string, string, string)

Verifies and records a component scan for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.VerifyAndAddComponentScan should be used instead.")]
ComponentStatus ScanComponent(string componentTypeName, string componentSerialNumber, string componentModelNumber)

Parameters

componentTypeName string

The component type name.

componentSerialNumber string

The component serial number to verify. This can be null or blank if no serial number was scanned for the component.

componentModelNumber string

The component model number to verify. This can be null or blank if no model number was scanned for the component. See remarks for "checkInstalledOnly" components.

Returns

ComponentStatus

A ComponentStatus object representing the results. The UnitStationChanges member of the returned status will not contain any children; they will have already been integrated with the active unit tracked at the workstation.

Remarks

This can take some time since it must contact Acuit Pinpoint Server, so it is recommended to show a wait indication (e.g., via WaitCursor()) while doing this.

For component types marked "checkInstalledOnly", componentModelNumber indicates whether the component is installed or not. Any non-null, non-blank value means that the component is installed; a null or blank value means that the component is not installed.

Exceptions

ArgumentNullException

componentTypeName is null.

InvalidOperationException

There is no unit at the workstation.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

ScanUnit(string, string)

Scans a unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; ScanUnit2 should be used instead.")]
bool ScanUnit(string serialNumber, string modelNumber)

Parameters

serialNumber string

The unit serial number.

modelNumber string

The unit model number. This can be null or an empty string.

Returns

bool

true if the unit was scanned, or false if either a unit already at the station could not be released, or if the new unit scan was canceled (i.e., by a plug-in).

Exceptions

ArgumentException

The model number does not match the model number defined for this station type.

InvalidOperationException

This is not valid for a preassembly station.

- or -

The workstation is busy (e.g., it is prompting for a component scan or is displaying a message or dialog box).

- or -

The workstation cannot accept unit scans right now (e.g., it is waiting for a worker log on).

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

ScanUnit2(string, string)

Scans a unit at the workstation.

Unit ScanUnit2(string serialNumber, string modelNumber)

Parameters

serialNumber string

The unit serial number.

modelNumber string

The unit model number. This can be null or an empty string.

Returns

Unit

The resulting unit, or null if either a unit already at the station could not be released, or if the new unit scan was canceled (i.e., by a plug-in).

Exceptions

ArgumentException

The model number does not match the model number defined for this station type.

InvalidOperationException

This is not valid for a preassembly station.

- or -

The workstation is busy (e.g., it is prompting for a component scan or is displaying a message or dialog box).

- or -

The workstation cannot accept unit scans right now (e.g., it is waiting for a worker log on).

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

SendMail(string, string, string, string)

Sends an email via Acuit Pinpoint Server.

void SendMail(string from, string recipients, string subject, string body)

Parameters

from string

The address information of the message sender. If this is null or empty, then the "from" address configured on Acuit Pinpoint Server will be used.

recipients string

The addresses that the message is sent to. Multiple addresses should be separated by commas.

subject string

The subject line for the message.

body string

The message body.

Remarks

The email request is sent to Acuit Pinpoint Server synchronously, but then the email is sent asynchronously from Acuit Pinpoint Server. Any errors sending the email will be logged on the server.

Exceptions

ArgumentNullException

recipients is null.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

SendNotification(string, string, string)

Sends a notification via Acuit Pinpoint Server.

void SendNotification(string recipients, string subjectContext, string body)

Parameters

recipients string

The email addresses to which to send the notification. Multiple addresses should be separated by commas. If this is null or empty, then the administrator email address(es) configured on Acuit Pinpoint Server will be used.

subjectContext string

The notification subject context. The resulting email subject will be "Acuit Pinpoint Notification: ", followed by this subject context.

body string

The notification body.

Remarks

This is similar to SendMail(string, string, string, string). The only effective differences are (1) the configured "from" address in Acuit Pinpoint Server is always used, and (2) the subject line in the notification email will be "Acuit Pinpoint Notification: ", followed by this subject context.

Currently, notifications are only sent via email, which requires the mail settings to be configured for the server.

The notification request is sent to Acuit Pinpoint Server synchronously, but then the notification email is sent asynchronously from Acuit Pinpoint Server. Any errors sending the email will be logged on the server.

Exceptions

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

SetBuyoff(string)

Sets a buyoff for the unit at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.SetBuyoff should be used instead.")]
BuyoffStatus SetBuyoff(string buyoffName)

Parameters

buyoffName string

The buyoff name.

Returns

BuyoffStatus

Status information. The UnitStationChanges member of the returned status will not contain any children; they will have already been integrated with the active unit tracked at the workstation.

Remarks

This can take some time since it must contact Acuit Pinpoint Server, so it is recommended to show a wait indication (e.g., via WaitCursor()) while doing this.

Exceptions

ArgumentNullException

buyoffName is null.

InvalidOperationException

There is no unit at the workstation.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

SetLightStackAuxRelay(int, bool)

This is obsolete and no longer functions. There is no replacement API.

[Obsolete("This is obsolete and no longer functions; there is no replacement API.")]
void SetLightStackAuxRelay(int index, bool state)

Parameters

index int

Not used.

state bool

Not used.

Exceptions

NotImplementedException

This will always throw this exception.

ShowAlarm(string, string, bool)

Shows an alarm at the workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IAlarmsManager.AddNewAlarm should be used instead.")]
void ShowAlarm(string message, string context, bool interactive)

Parameters

message string

The alarm message.

context string

An optional alarm context. This is included in the alarm message when it is shown in the alarm display, since it can appear when the context for which the alarm applies (e.g., the current unit) no longer exists. It is not included when the alarm message is shown modally (and, thus, the context is implied).

interactive bool

Whether this alarm is the result of an interactive operator action. When this is true, and the workstation is manned, then the error will be displayed modally.

Remarks

If interactive is false or the station is automated, then the message (with context, if provided), will be queued to be displayed in the alarm display. Otherwise, message is displayed via an error message box.

If context is not null or empty, then the message with context is formatted like "context: message".

An informational entry will be added to the application log containing the message (with context, if provided).

ShowAlert(string)

Shows an alert at the workstation.

void ShowAlert(string message)

Parameters

message string

The alert message.

Remarks

If the station is automated, the message is shown as an alarm. Otherwise, the message is shown via a warning message box.

StartScanningItem(ItemScanSettings)

Starts scanning an item.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IItemScanningService.StartScanningItem should be used instead.")]
IItemScanner StartScanningItem(ItemScanSettings settings)

Parameters

settings ItemScanSettings

The item scan settings.

Returns

IItemScanner

A IItemScanner for interacting with the item scanning process.

Remarks

Close() must be called to close the scanner, either after numbers have been received or the scanner is canceled. The scan window will never close on its own.

Exceptions

ArgumentNullException

settings is null.

InvalidOperationException

An item scanner is already active.

TryGetWorkerAuthorization(string, out AuthorizedWorker)

Gets worker authorization for a station permission, prompting for alternate credentials if necessary.

bool TryGetWorkerAuthorization(string permission, out AuthorizedWorker worker)

Parameters

permission string

The station permission to check.

worker AuthorizedWorker

On return, will contain information about the authorized worker if successful, or null if not.

Returns

bool

true if the worker (or another via alternate credentials) is authorized for the station permission, or false if the worker is not authorized and the prompt for alternate credentials was canceled or an error occurred.

Remarks

If there is a worker logged onto the station, this will first attempt to authorize that worker for the specified permission at this station. If that authorization fails, then a prompt for alternate worker credentials will appear.

Exceptions

ArgumentNullException

permission is null.

CommunicationException

An Acuit Pinpoint Server communication error occurred, or Acuit Pinpoint Server returned a fault.

TimeoutException

Communication with Acuit Pinpoint Server timed out.

Events

BarCodeScan

Occurs when a bar code scan occurs that is not otherwise handled by Acuit Pinpoint Workstation.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IBarCodeScannersService should be used instead.")]
event EventHandler<BarCodeScanEventArgs> BarCodeScan

Event Type

EventHandler<BarCodeScanEventArgs>

Remarks

Upon receiving this event, a plug-in must first check Handled, and ignore the event if it is true. If the plug-in handles the bar code, it should set Handled to true.

BuyoffChanged

Occurs when a buyoff is set or cleared at this station, either by the operator clicking the buyoff button or by a plug-in setting or clearing a buyoff.

event EventHandler<BuyoffChangedEventArgs> BuyoffChanged

Event Type

EventHandler<BuyoffChangedEventArgs>

Remarks

This event is not raised when a buyoff status changes due to business logic in the server (e.g., a buyoff being cleared because it is associated with a failed test result). These changes can be monitored by monitoring the UnitBuyoffs collection for changes.

NoScanStateReady

Occurs when a workstation configured for "no scan" operation has finished initializing and processing the worker logon.

event EventHandler NoScanStateReady

Event Type

EventHandler

ShellClosing

Occurs when the application shell is closing.

event EventHandler<CancelEventArgs> ShellClosing

Event Type

EventHandler<CancelEventArgs>

Remarks

Plug-ins should use this event to monitor when the application is about to be closed (and to optionally cancel) instead of Application.Current.MainWindow.Closing.

StationStarted

Occurs when the station has successfully started.

event EventHandler StationStarted

Event Type

EventHandler

Remarks

For the station to start, it must connect to Acuit Pinpoint Server and retrieve its configuration settings.

If a plug-in depends on key/value configuration settings that might come from Acuit Pinpoint Server, it should wait until this event occurs (or ensure that IsStationStarted is already true in case the plug-in is being loaded dynamically after the station has already started) to use Configuration to initialize.

UnitReadyForOperator

Occurs when a unit has been scanned, its components have been scanned, and Acuit Pinpoint Workstation is waiting for the operator.

event EventHandler<UnitStationEventArgs> UnitReadyForOperator

Event Type

EventHandler<UnitStationEventArgs>

Remarks

This event will only be raised for manned workstations, as automated workstations never enter this state.

UnitReleased

Occurs when a unit is released.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.UnitReleased should be used instead.")]
event EventHandler<UnitReleaseEventArgs> UnitReleased

Event Type

EventHandler<UnitReleaseEventArgs>

Remarks

This behaves like UnitReleased.

UnitReleasing

Occurs when a unit is about to be released.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.UnitReleasing should be used instead.")]
event EventHandler<UnitReleasingEventArgs> UnitReleasing

Event Type

EventHandler<UnitReleasingEventArgs>

Remarks

This behaves like UnitReleasing.

UnitScanned

Occurs when a unit is scanned.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.UnitScanned should be used instead.")]
event EventHandler<UnitScanEventArgs> UnitScanned

Event Type

EventHandler<UnitScanEventArgs>

Remarks

This behaves like UnitScanned.

UnitScanning

Occurs when a unit is being scanned.

[Obsolete("This is deprecated and will be removed in a future version; Acuit.Pinpoint.Workstation.IUnitAtStationService.UnitScanning should be used instead.")]
event EventHandler<UnitScanningEventArgs> UnitScanning

Event Type

EventHandler<UnitScanningEventArgs>

Remarks

This behaves like UnitScanning.

WorkerLoggedOff

Occurs when a worker has logged off.

event EventHandler WorkerLoggedOff

Event Type

EventHandler

Remarks

Note that this event fires for automated (i.e., unmanned) stations as well.

WorkerLoggedOn

Occurs when a worker has logged on.

event EventHandler<WorkerLoggedOnEventArgs> WorkerLoggedOn

Event Type

EventHandler<WorkerLoggedOnEventArgs>

Remarks

Note that this event fires for automated (i.e., unmanned) stations as well.