public void Update(Tuple <WalletBalanceResponse, ChannelBalanceResponse> result)
 {
     ChannelBalanceSheet.Update(result.Item2);
     WalletBalanceSheet.Update(result.Item1);
     Utilities.RemoveLoadingMark(Ws);
     Ws.Columns.AutoFit();
 }
        private void WsOnChangeParsePayReq(Range target)
        {
            if (target.Address != "$C$2")
            {
                return;
            }

            string payReq = target.Value2;

            if (string.IsNullOrWhiteSpace(payReq))
            {
                return;
            }

            PayReq response;

            try
            {
                response = LApp.DecodePaymentRequest(payReq);
                PaymentRequestTable.Clear();
                PotentialRoutesTable.Clear();
                ClearSendStatus();
                Utilities.ClearErrorData(_errorData);
                ClearSendPaymentResponseData();
            }
            catch (RpcException e)
            {
                Utilities.DisplayError(_errorData, "Parsing error", e);
                return;
            }
            PaymentRequestTable.Update(response);
            Utilities.ClearErrorData(_errorData);

            try
            {
                var r = LApp.QueryRoutes(response, MaxRoutes);
                PotentialRoutesTable.Update(r.Routes);
            }
            catch (RpcException e)
            {
                Utilities.DisplayError(_errorData, "Query route error", e);
                return;
            }

            _payReqInputCell.Columns.ColumnWidth = PayReqColumnWidth;
        }