public void InitAsync(BackgroundWorker backgroundWorker, LoadingState loadingState) { if (backgroundWorker == null) { return; } if (loadingState == null) { loadingState = new LoadingState(); } loadingState.MaxPersentage = 10; //Загрузка всех пользователей loadingState.CurrentPersentage = 0; loadingState.CurrentPersentageDescription = "Loading Users"; backgroundWorker.ReportProgress(1, loadingState); var users = ApiProvider.GetAllUsersAsync(); Users = new Dictionary <int, string>(); foreach (var user in users) { Users.Add(user.ItemId, user.ToString()); } if (backgroundWorker.CancellationPending) { return; } loadingState.CurrentPersentage = 1; loadingState.CurrentPersentageDescription = "Loading Operators"; backgroundWorker.ReportProgress(1, loadingState); Operators = new OperatorCollection(_newLoader.GetObjectList <OperatorDTO, Operator>().ToArray()); AllOperators = new List <AllOperators>(_newLoader.GetObjectList <AllOperatorsDTO, AllOperators>().ToArray()); if (backgroundWorker.CancellationPending) { return; } loadingState.CurrentPersentage = 2; loadingState.CurrentPersentageDescription = "Loading Aircrafts"; backgroundWorker.ReportProgress(1, loadingState); Aircraft = new AircraftCollection(_newLoader.GetObjectList <CAAAircraftDTO, Aircraft>().ToArray()); if (backgroundWorker.CancellationPending) { return; } //Загрузка всех словарей loadingState.CurrentPersentage = 3; loadingState.CurrentPersentageDescription = "Loading Dictionaries"; backgroundWorker.ReportProgress(1, loadingState); GetDictionaries(); if (backgroundWorker.CancellationPending) { return; } }