Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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);
        }