Пример #1
0
        /// <summary>
        /// Грузим список опреаций для расчетов по бумаге для выбранного аккаунта
        /// </summary>
        /// <param name="acc">аккаунт</param>
        /// <returns></returns>
        public async Task DoLoad_ObligList(Account_m acc, bool fl_refresh = false) //грузим инфу по портфелью
        {
            var bounds      = Program.InnerAccount.Portfolios[acc];
            var load_signal = bounds.BoundsList.Select(t => t.Bound.Operations_list).Select(t => t.Count).Sum(); //если операции загружены то > 0

            try
            {
                if (load_signal > 0)
                {
                    if (!fl_refresh)
                    {
                        LoadObligInfoDone?.Invoke(Program.InnerAccount.Portfolios[acc]);
                        return;
                    }
                }
                //if (bounds.BoundsList.Count == 0)
                //{
                //    LoadObligInfoDone?.Invoke(bounds);
                //    return;
                //}

                foreach (var item in bounds.BoundsList)
                {
                    item.Bound.Operations_list = await Program.CurrentContext.OperationsAsync(new DateTime(2015, 01, 01), DateTime.Now, item.Bound.Base.Figi, bounds.Acc.BrokerAccountId);

                    //item.SetMode();
                }
                await LoadAllBndHistory(bounds);

                foreach (var item in bounds.BoundsList)
                {
                    await LoadInfoBound(item.Bound);

                    //item.SetMode();
                }
                LoadObligInfoDone?.Invoke(bounds);
            }
            catch (Exception mes)
            {
                LoadObligInfoDone?.Invoke(bounds, mes.Message);
                //throw;
            }
        }
Пример #2
0
 public Bounds(Account_m acc)
 {
     _boundslist = new List <Bound_Conclav>();
     Acc         = acc;
 }