protected internal CompanyDataVM(Action firstRow)
 {
     this.firstRow                         = firstRow;
     CompanyDataM                          = new CompanyDataM();
     ZipCodeSearch                         = new BackgroundWorker();
     ZipCodeSearch.DoWork                 += ZipCodeDoWork;
     SettlementSearch                      = new BackgroundWorker();
     SettlementSearch.DoWork              += SettlementDoWork;
     LoadingFixMembers                     = new BackgroundWorker();
     LoadingFixMembers.DoWork             += LoadingFixMembersModel;
     LoadingFixMembers.RunWorkerCompleted += LoadingFixMembersComplete;
     LoadingList                     = new BackgroundWorker();
     LoadingList.DoWork             += LoadingListModel;
     LoadingList.RunWorkerCompleted += LoadingListComplete;
     LoadingFixMembers.RunWorkerAsync();
 }
        private async void LoadingListComplete(object sender, RunWorkerCompletedEventArgs e)
        {
            if (workingConn)
            {
                foreach (CompanyDataM.Company item in CompanyDataM.Companies)
                {
                    item.AcceptChanges();
                }
                CompanyDataM.SelectedCompany = CompanyDataM.Companies[0];
                CompanyDataM.AcceptChanges();
                modified = false;
                firstRow();
            }
            else
            {
                ConnectionMessage();
            }

            await Loading.Hide();
        }