protected override void ProcessRecord() { try { if (String.IsNullOrEmpty(AppId)) { AppId = InputHelper.GetUserInput(this, "AppId"); } if (String.IsNullOrEmpty(SecretKey)) { SecretKey = InputHelper.GetUserInput(this, "SecretKey"); } if (String.IsNullOrEmpty(AccountId)) { AccountId = InputHelper.GetUserInput(this, "AccountId"); } if (String.IsNullOrEmpty(OperationId)) { OperationId = InputHelper.GetUserInput(this, "OperationId"); } Latch latch = new Latch(AppId, SecretKey); WriteObject(latch.OperationStatus(AccountId, OperationId), true); } catch (Exception ex) { InvokeCommand.InvokeScript(String.Format("Write-Host Error: \"{0}\"", ex.Message)); } }
public bool LatchIsOpen(string operationId) { var application = GetApplication(); var account = GetPairedAccount(); var latch = new Latch(application.ApplicationId, application.Secret); var response = latch.OperationStatus(account.AccountId, operationId); if (response.Error != null) { return(true); } var isOpen = true; if (response.Data.ContainsKey("operations")) { var operations = response.Data["operations"] as Dictionary <string, object>; if (operations.ContainsKey(operationId)) { var currentOperation = operations[operationId] as Dictionary <string, object>; if (currentOperation.ContainsKey("status")) { var currentStatus = currentOperation["status"] as string; var latchIsOpen = currentStatus.Equals("on", StringComparison.InvariantCultureIgnoreCase); isOpen = latchIsOpen; } } } return(isOpen); }