public MainViewModel(IProductUnitOfWork productUnitOfWork, IOrderUnitOfWork orderUnitOfWork, ILoginUnitOfWork login, IOrderProcessor processor)
        {
            OrdersViewModel ordersVM = new OrdersViewModel(orderUnitOfWork, 0);

            PageViewModels.Add(ordersVM);
            PageViewModels.Add(new ProductImagesViewModel(productUnitOfWork, 1));
            PageViewModels.Add(new ProductsViewModel(productUnitOfWork, 2));
            PageViewModels.Add(new ProductSizesViewModel(productUnitOfWork, 3));
            PageViewModels.Add(new StatisticViewModel(4, orderUnitOfWork));
            CurrentPageViewModel = PageViewModels[0];

            AddViews.Add(this);
            AddViews.Add(new SendEmailViewModel(login, orderUnitOfWork, ordersVM, processor));
            AddViews.Add(new AddNewImageViewModel(productUnitOfWork, this));
            AddViews.Add(new AddNewSizeViewModel(productUnitOfWork, this));
            AddViews.Add(new AddProductViewModel(productUnitOfWork, this));
            AddViews.Add(new StatisticRightViewModel(orderUnitOfWork));
            CurrentAddView = AddViews[1];

            CloseWindowCommand = new RelayCommand(x => CloseWindow((ICloseable)x));
        }