using Microsoft.Practices.Prism.Modularity;
using Microsoft.Practices.Prism.Regions;
using Microsoft.Practices.Unity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Philisense.Congress.Prism
{
    public class BootViewModel:IModule
    {
        public IUnityContainer Container { get; private set; }

        private IRegionManager regionManager;
        public BootViewModel(IUnityContainer container, IRegionManager regionManager)
        {
            Container = container;
            this.regionManager = regionManager;

        }
        public void Initialize()
        {
            //文本视图页面绑定
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Device.DeviceView>("DeviceView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Room.RoomList>("RoomList");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Dictionary.DictionaryList>("DictionaryList");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Staff.StaffListView>("staffListInfo");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Staff.StaffLibView>("StaffLib");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.AgendaDetailView>("AgendaDetail");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.CongressList>("CongressList");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.CallingCardView>("CallingCardView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.ShareFileView>("InformationView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Room.SeatModelListView>("SeatModelList");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.TopicDetailView>("TopicDetailView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.CongressPersonView>("CongressPersonView");
            //Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Files.FileListView>("FileListView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Screen.ScreenListView>("ScreenListView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.CheckInDoor.CheckInDoorListView>("CheckInDoorListView");
            
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Sys.UserView>("UserView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Sys.RoleBlockView>("RoleBlockView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Sys.DataBaseView>("DataBaseView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Sys.VersionView>("VersionView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.AfterCongress.ReportView>("ReportView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.AfterCongress.AgendaPersonFileExportView>("AgendaPersonFileExportView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.AfterCongress.DataDownloadView>("DataDownloadView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.AfterCongress.MeetingPlaceOnFileView>("MeetingPlaceOnFileView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.CardListView>("CardListView");
            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.CongressFileView>("CongressFileView");


            Container.RegisterType<object, Philisense.Congress.CollectionUI.View.UCControl.Congress.SeatAllocationView>("SeatAllocationView");
            Container.RegisterType<object, Philisense.Congress.ControlUI.View.UUControl.Congress.CongressChoseView>("CongressChoseView");



            regionManager.RequestNavigate("MainRegion", "DeviceView");
            regionManager.RequestNavigate("MeetingCBRegion", "CongressList");
            regionManager.RequestNavigate("AfterMeetingRegion", "ReportView");
            regionManager.RequestNavigate("SystemSetRegion", "DataBaseView");
            regionManager.RequestNavigate("MeetingControlRegion", "CongressChoseView");

            Philisense.Congress.CollectionUI.CommonCenter.ControlCenter.Instance.LoadingWait(System.Windows.Visibility.Collapsed, "");

        }
    }
}
