public BusinessTasksJournalViewModel(
            CallTaskFilterViewModel filterViewModel,
            BusinessTasksJournalFooterViewModel footerViewModel,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeRepository employeeRepository,
            IBottlesRepository bottleRepository,
            ICallTaskRepository callTaskRepository,
            IPhoneRepository phoneRepository,
            IOrganizationProvider organizationProvider,
            ICounterpartyContractRepository counterpartyContractRepository,
            CounterpartyContractFactory counterpartyContractFactory,
            IRoboAtsCounterpartyJournalFactory roboAtsCounterpartyJournalFactory,
            IContactsParameters contactsParameters
            ) : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            TabName = "Журнал задач для обзвона";
            this.employeeRepository             = employeeRepository;
            this.bottleRepository               = bottleRepository;
            this.callTaskRepository             = callTaskRepository;
            this.phoneRepository                = phoneRepository;
            this.organizationProvider           = organizationProvider ?? throw new ArgumentNullException(nameof(organizationProvider));
            this.counterpartyContractRepository = counterpartyContractRepository ?? throw new ArgumentNullException(nameof(counterpartyContractRepository));
            this.counterpartyContractFactory    = counterpartyContractFactory ?? throw new ArgumentNullException(nameof(counterpartyContractFactory));
            this.footerViewModel                = footerViewModel;
            this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _roboAtsCounterpartyJournalFactory = roboAtsCounterpartyJournalFactory ?? throw new ArgumentNullException(nameof(roboAtsCounterpartyJournalFactory));
            _contactsParameters = contactsParameters ?? throw new ArgumentNullException(nameof(contactsParameters));

            actionsViewModel = new BusinessTasksJournalActionsViewModel(new EmployeeJournalFactory());

            RegisterTasks();

            var threadLoader = DataLoader as ThreadDataLoader <BusinessTaskJournalNode>;

            FinishJournalConfiguration();

            UpdateOnChanges(
                typeof(ClientTask),
                typeof(PaymentTask)
                );

            DataLoader.ItemsListUpdated += (sender, e) => GetStatistics();
        }
 public BusinessTasksJournalFooterView(BusinessTasksJournalFooterViewModel viewModel)
 {
     this.Build();
     ViewModel = viewModel;
     Configure();
 }