private void Refresh()
        {
            //var cmd = IsClientChecked
            //    ? $"<command id=\"get_united_portfolio\" client=\"{UnionOrClient}\" />"
            //    : $"<command id=\"get_united_portfolio\" union=\"{UnionOrClient}\" />";

            UnitedPortfolioDataGridRows.Clear();
            UnitedPortfolioSecurityDataGridRowses.Clear();
            AssetDataGridRowses.Clear();
            MoneyDataGridRowses.Clear();
            ValuePartDataGridRowses.Clear();

            TXmlConnector.SendNewUnitedPortfolio += XmlConnector_OnSendUnitesPortfolio;
            TXmlConnector.ConnectorSendCommand($"<command id=\"get_united_portfolio\" client=\"{ClientInfo.Id}\" />");
        }
        private void XmlConnector_OnSendUnitesPortfolio(string data)
        {
            UnitedPortfolio portfolio = null;

            Dispatcher.Invoke(() =>
            {
                portfolio =
                    (UnitedPortfolio)
                    new XmlSerializer(typeof(UnitedPortfolio), new XmlRootAttribute("united_portfolio"))
                    .Deserialize(
                        new StringReader(data));
            });

            Dispatcher.Invoke(() =>
            {
                UnitedPortfolioDataGridRows.Add(new UnitedPortfolioDataGridRow()
                {
                    ChrgoffIr  = portfolio.ChrgoffIr,
                    ChrgoffMr  = portfolio.ChrgoffMr,
                    Client     = portfolio.Client,
                    Equity     = portfolio.Equity,
                    Finres     = portfolio.Finres,
                    Go         = portfolio.Go,
                    InitReq    = portfolio.InitReq,
                    MaintReq   = portfolio.MaintReq,
                    OpenEquity = portfolio.OpenEquity,
                    RegEquity  = portfolio.RegEquity,
                    RegIr      = portfolio.RegIr,
                    RegMr      = portfolio.RegMr,
                    Union      = portfolio.Union,
                    Vm         = portfolio.Vm
                });
            });
            Dispatcher.Invoke(() =>
            {
                foreach (var asset in portfolio.Assets)
                {
                    AssetDataGridRowses.Add(new AssetDataGridRow()
                    {
                        Code       = asset.Code,
                        InitReq    = asset.InitReq,
                        MaintReq   = asset.MaintReq,
                        Name       = asset.Name,
                        SetoffRate = asset.SetoffRate
                    });
                    foreach (var security in asset.Securities)
                    {
                        UnitedPortfolioSecurityDataGridRowses.Add(new UnitedPortfolioSecurityDataGridRow()
                        {
                            Balance       = security.Balance,
                            Bought        = security.Bought,
                            Buying        = security.Bought,
                            OpenBalance   = security.OpenBalance,
                            Equity        = security.Equity,
                            Market        = security.Market,
                            Maxbuy        = security.Maxbuy,
                            Maxsell       = security.Maxsell,
                            Pl            = security.Pl,
                            PnlIncome     = security.PnlIncome,
                            Sold          = security.Sold,
                            RegEquity     = security.RegEquity,
                            PnlIntraday   = security.PnlIntraday,
                            Price         = security.Price,
                            ReserateLong  = security.ReserateLong,
                            ReserateShort = security.ReserateShort,
                            RiskrateLong  = security.RiskrateLong,
                            RiskrateShort = security.RiskrateShort,
                            Seccode       = security.Seccode,
                            Secid         = security.Secid,
                            Selling       = security.Selling
                        });
                        foreach (var valuePart in security.ValueParts)
                        {
                            ValuePartDataGridRowses.Add(new ValuePartDataGridRow()
                            {
                                Balance     = valuePart.Balance,
                                Bought      = valuePart.Bought,
                                OpenBalance = valuePart.OpenBalance,
                                Register    = valuePart.Register,
                                Settled     = valuePart.Settled,
                                Sold        = valuePart.Sold
                            });
                        }
                    }
                }
            });
            Dispatcher.Invoke(() =>
            {
                foreach (var money in portfolio.Money)
                {
                    MoneyDataGridRowses.Add(new MoneyDataGridRow()
                    {
                        Balance     = money.Balance,
                        Bought      = money.Bought,
                        Name        = money.Name,
                        OpenBalance = money.OpenBalance,
                        Settled     = money.Settled,
                        Sold        = money.Sold,
                        Tax         = money.Tax
                    });
                    foreach (var valuePart in money.ValueParts)
                    {
                        ValuePartDataGridRowses.Add(new ValuePartDataGridRow()
                        {
                            Balance     = valuePart.Balance,
                            Bought      = valuePart.Bought,
                            OpenBalance = valuePart.OpenBalance,
                            Register    = valuePart.Register,
                            Settled     = valuePart.Settled,
                            Sold        = valuePart.Sold
                        });
                    }
                }
            });
            TXmlConnector.SendNewUnitedPortfolio -= XmlConnector_OnSendUnitesPortfolio;
        }