public MainWindow()
        {
            InitializeComponent();
            CargoCollectionViewModels = new ObservableCollection <CargoCollectionViewModel>();
            CargoViewModels           = new ObservableCollection <CargoViewModel>();
            CMContext = new CargoManagementContext();
            CMContext.CargoCollection.Load();
            CMContext.Cargo.Load();
            CMContext.Block.Load();
            CMContext.Warehouse.Load();
            CMContext.Plane.Load();
            CMContext.PurchaseOrder.Load();
            CMContext.PurchaseOrderCollection.Load();
            CMContext.SellOrder.Load();
            CMContext.SellOrderCollection.Load();
            CMContext.PurchasePrizeDic.Load();
            InitializeViewModels();

            SearchView = new SearchUserControl(CMContext, CargoCollectionViewModels)
            {
                VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch
            };
            PurchaseCargoView = new PurchaseCargoUserControl(CMContext, WarehouseRootViewModel, CargoViewModels, CargoCollectionViewModels, PurchaseOrderCollectionViewModels)
            {
                VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch
            };
            SellCargoView = new SellCargoUserControl(CMContext, CargoCollectionViewModels, SellOrderCollectionViewModels)
            {
                VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch
            };
            CategoryManagementView = new CategoryManagementUserControl(CMContext, CargoViewModels, CargoCollectionViewModels)
            {
                VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch
            };
            WarehouseManagementView = new WarehouseManagementUserControl(CMContext, WarehouseRootViewModel, CargoCollectionViewModels)
            {
                VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch
            };
            LogPurchaseOrderView = new LogPurchaseOrderUserControl(CMContext, PurchaseOrderCollectionViewModels)
            {
                VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch
            };
            LogSellOrderView = new LogSellOrderUserControl(CMContext, SellOrderCollectionViewModels)
            {
                VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch
            };

            //DateTime time = new DateTime();
            //Console.WriteLine(time);
            //Thread.Sleep(1000);
            //DateTime time2 = DateTime.Now;
            //Console.WriteLine(time2);
            //Console.WriteLine(time < time2);
            this.DataContext = new MainWindowViewModel(CMContext);
            this.ShowPanel.Children.Add(SearchView);
        }
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.window = ((CargoManagementSystem.View.WarehouseManagementUserControl)(target));
                return;

            case 2:
                this.DataGrid = ((System.Windows.Controls.DataGrid)(target));
                return;

            case 3:
                this.CargoName = ((MaterialDesignThemes.Wpf.DataGridTextColumn)(target));
                return;

            case 4:
                this.Category = ((MaterialDesignThemes.Wpf.DataGridTextColumn)(target));
                return;

            case 5:
                this.Material = ((MaterialDesignThemes.Wpf.DataGridTextColumn)(target));
                return;

            case 6:
                this.Size = ((MaterialDesignThemes.Wpf.DataGridTextColumn)(target));
                return;

            case 7:
                this.WarehouseName = ((MaterialDesignThemes.Wpf.DataGridTextColumn)(target));
                return;

            case 8:
                this.PlaneName = ((MaterialDesignThemes.Wpf.DataGridTextColumn)(target));
                return;

            case 9:
                this.BlockName = ((MaterialDesignThemes.Wpf.DataGridTextColumn)(target));
                return;

            case 10:
                this.UnitPurchasePrize = ((MaterialDesignThemes.Wpf.DataGridComboBoxColumn)(target));
                return;

            case 11:
                this.Amount = ((MaterialDesignThemes.Wpf.DataGridTextColumn)(target));
                return;

            case 12:
                this.Operation = ((System.Windows.Controls.DataGridTemplateColumn)(target));
                return;
            }
            this._contentLoaded = true;
        }