Пример #1
0
		void AddChild(FilterObjectViewModel parentDeviceViewModel, FilterObjectViewModel childDeviceViewModel)
		{
			parentDeviceViewModel.AddChild(childDeviceViewModel);
			AllFilters.Add(childDeviceViewModel);
		}
Пример #2
0
		void BuildTree()
		{
			RootFilters = new ObservableCollection<FilterObjectViewModel>();
			AllFilters = new List<FilterObjectViewModel>();

			var gkViewModel = new FilterObjectViewModel(JournalSubsystemType.GK);
			gkViewModel.IsExpanded = true;
			RootFilters.Add(gkViewModel);

			var gkDevicesViewModel = new FilterObjectViewModel(JournalObjectType.GKDevice);
			AddChild(gkViewModel, gkDevicesViewModel);
			foreach (var childDevice in GKManager.DeviceConfiguration.RootDevice.Children)
			{
				AddGKDeviceInternal(childDevice, gkDevicesViewModel);
			}

			var gkZonesViewModel = new FilterObjectViewModel(JournalObjectType.GKZone);
			AddChild(gkViewModel, gkZonesViewModel);
			foreach (var zone in GKManager.Zones)
			{
				var filterObjectViewModel = new FilterObjectViewModel(zone);
				AddChild(gkZonesViewModel, filterObjectViewModel);
			}

			var gkDirectionsViewModel = new FilterObjectViewModel(JournalObjectType.GKDirection);
			AddChild(gkViewModel, gkDirectionsViewModel);
			foreach (var direction in GKManager.Directions)
			{
				var filterObjectViewModel = new FilterObjectViewModel(direction);
				AddChild(gkDirectionsViewModel, filterObjectViewModel);
			}

			var gkMPTsViewModel = new FilterObjectViewModel(JournalObjectType.GKMPT);
			AddChild(gkViewModel, gkMPTsViewModel);
			foreach (var mpt in GKManager.MPTs)
			{
				var filterObjectViewModel = new FilterObjectViewModel(mpt);
				AddChild(gkMPTsViewModel, filterObjectViewModel);
			}

			var gkPumpStationsViewModel = new FilterObjectViewModel(JournalObjectType.GKPumpStation);
			AddChild(gkViewModel, gkPumpStationsViewModel);
			foreach (var pumpStation in GKManager.PumpStations)
			{
				var filterObjectViewModel = new FilterObjectViewModel(pumpStation);
				AddChild(gkPumpStationsViewModel, filterObjectViewModel);
			}

			var gkDelaysViewModel = new FilterObjectViewModel(JournalObjectType.GKDelay);
			AddChild(gkViewModel, gkDelaysViewModel);
			foreach (var delay in GKManager.Delays)
			{
				var filterObjectViewModel = new FilterObjectViewModel(delay);
				AddChild(gkDelaysViewModel, filterObjectViewModel);
			}

			var gkGuardZonesViewModel = new FilterObjectViewModel(JournalObjectType.GKGuardZone);
			AddChild(gkViewModel, gkGuardZonesViewModel);
			foreach (var guardZone in GKManager.GuardZones)
			{
				var filterObjectViewModel = new FilterObjectViewModel(guardZone);
				AddChild(gkGuardZonesViewModel, filterObjectViewModel);
			}

			var gkSKDZonesViewModel = new FilterObjectViewModel(JournalObjectType.GKSKDZone);
			AddChild(gkViewModel, gkSKDZonesViewModel);
			foreach (var skdZone in GKManager.SKDZones)
			{
				var filterObjectViewModel = new FilterObjectViewModel(skdZone);
				AddChild(gkSKDZonesViewModel, filterObjectViewModel);
			}

			var gkDoorsViewModel = new FilterObjectViewModel(JournalObjectType.GKDoor);
			AddChild(gkViewModel, gkDoorsViewModel);
			foreach (var door in GKManager.Doors)
			{
				var filterObjectViewModel = new FilterObjectViewModel(door);
				AddChild(gkDoorsViewModel, filterObjectViewModel);
			}

			var gkPIMsViewModel = new FilterObjectViewModel(JournalObjectType.GKPim);
			AddChild(gkViewModel, gkPIMsViewModel);
			foreach (var pim in GKManager.GlobalPims)
			{
				var filterObjectViewModel = new FilterObjectViewModel(pim);
				AddChild(gkPIMsViewModel, filterObjectViewModel);
			}

			var gkUsersViewModel = new FilterObjectViewModel(JournalObjectType.GKUser);
			AddChild(gkViewModel, gkUsersViewModel);
			AllFilters.Add(gkUsersViewModel);

			var videoViewModel = new FilterObjectViewModel(JournalSubsystemType.Video);
			videoViewModel.IsExpanded = true;
			RootFilters.Add(videoViewModel);

			var videoDevicesViewModel = new FilterObjectViewModel(JournalObjectType.Camera);
			AddChild(videoViewModel, videoDevicesViewModel);
			foreach (var camera in ClientManager.SystemConfiguration.Cameras)
			{
				var filterObjectViewModel = new FilterObjectViewModel(camera);
				AddChild(videoDevicesViewModel, filterObjectViewModel);
			}

			var skdViewModel = new FilterObjectViewModel(JournalSubsystemType.SKD);
			skdViewModel.IsExpanded = true;
			RootFilters.Add(skdViewModel);

			var organisationsViewModel = new FilterObjectViewModel(JournalObjectType.Organisation);
			AddChild(skdViewModel, organisationsViewModel);
			var organisations = OrganisationHelper.Get(new OrganisationFilter(), false);
			if (organisations != null)
				foreach (var organisation in organisations)
					AddChild(organisationsViewModel, new FilterObjectViewModel(organisation));

			var employeesViewModel = new FilterObjectViewModel(JournalObjectType.Employee);
			AddChild(skdViewModel, employeesViewModel);
			var employees = EmployeeHelper.Get(new EmployeeFilter(), false);
			if (employees != null)
				foreach (var employee in employees)
					AddChild(employeesViewModel, new FilterObjectViewModel(employee));

			var positionsViewModel = new FilterObjectViewModel(JournalObjectType.Position);
			AddChild(skdViewModel, positionsViewModel);
			var positions = PositionHelper.Get(new PositionFilter(), false);
			if (positions != null)
				foreach (var position in positions)
					AddChild(positionsViewModel, new FilterObjectViewModel(position));

			var departmentsViewModel = new FilterObjectViewModel(JournalObjectType.Department);
			AddChild(skdViewModel, departmentsViewModel);
			var departments = DepartmentHelper.Get(new DepartmentFilter(), false);
			if (departments != null)
				foreach (var department in departments)
					AddChild(departmentsViewModel, new FilterObjectViewModel(department));

			var cardsViewModel = new FilterObjectViewModel(JournalObjectType.Card);
			AddChild(skdViewModel, cardsViewModel);
			var cards = CardHelper.Get(new CardFilter(), false);
			if (cards != null)
				foreach (var card in cards)
					AddChild(cardsViewModel, new FilterObjectViewModel(card));

			var passCardTemplatesViewModel = new FilterObjectViewModel(JournalObjectType.PassCardTemplate);
			AddChild(skdViewModel, passCardTemplatesViewModel);
			var passCardTemplates = PassCardTemplateHelper.Get(new PassCardTemplateFilter(), false);
			if (passCardTemplates != null)
				foreach (var passCardTemplate in passCardTemplates)
					AddChild(passCardTemplatesViewModel, new FilterObjectViewModel(passCardTemplate));

			var accessTemplatesViewModel = new FilterObjectViewModel(JournalObjectType.AccessTemplate);
			AddChild(skdViewModel, accessTemplatesViewModel);
			var accessTemplates = AccessTemplateHelper.Get(new AccessTemplateFilter(), false);
			if (accessTemplates != null)
				foreach (var accessTemplate in accessTemplates)
					AddChild(accessTemplatesViewModel, new FilterObjectViewModel(accessTemplate));

			var additionalColumnsViewModel = new FilterObjectViewModel(JournalObjectType.AdditionalColumn);
			AddChild(skdViewModel, additionalColumnsViewModel);
			var additionalColumns = AdditionalColumnTypeHelper.Get(new AdditionalColumnTypeFilter(), false);
			if (additionalColumns != null)
				foreach (var additionalColumn in additionalColumns)
					AddChild(additionalColumnsViewModel, new FilterObjectViewModel(additionalColumn));

			var dayIntervalsViewModel = new FilterObjectViewModel(JournalObjectType.DayInterval);
			AddChild(skdViewModel, dayIntervalsViewModel);
			var dayIntervals = DayIntervalHelper.Get(new DayIntervalFilter(), false);
			if (dayIntervals != null)
				foreach (var dayInterval in dayIntervals)
					AddChild(dayIntervalsViewModel, new FilterObjectViewModel(dayInterval));

			var scheduleSchemesViewModel = new FilterObjectViewModel(JournalObjectType.ScheduleScheme);
			AddChild(skdViewModel, scheduleSchemesViewModel);
			var scheduleSchemes = ScheduleSchemeHelper.Get(new ScheduleSchemeFilter(), false);
			if (scheduleSchemes != null)
				foreach (var scheduleScheme in scheduleSchemes)
					AddChild(scheduleSchemesViewModel, new FilterObjectViewModel(scheduleScheme));

			var schedulesViewModel = new FilterObjectViewModel(JournalObjectType.Schedule);
			AddChild(skdViewModel, schedulesViewModel);
			var schedules = ScheduleHelper.Get(new ScheduleFilter(), false);
			if (schedules != null)
				foreach (var schedule in schedules)
					AddChild(schedulesViewModel, new FilterObjectViewModel(schedule));

			var holidaysViewModel = new FilterObjectViewModel(JournalObjectType.Holiday);
			AddChild(skdViewModel, holidaysViewModel);
			var holidays = HolidayHelper.Get(new HolidayFilter(), false);
			if (holidays != null)
				foreach (var holiday in holidays)
					AddChild(holidaysViewModel, new FilterObjectViewModel(holiday));

			var noneViewModel = new FilterObjectViewModel(JournalObjectType.None);
			RootFilters.Add(noneViewModel);
			AllFilters.Add(noneViewModel);
		}
Пример #3
0
		FilterObjectViewModel AddGKDeviceInternal(GKDevice device, FilterObjectViewModel parentDeviceViewModel)
		{
			var deviceViewModel = new FilterObjectViewModel(device);
			if (parentDeviceViewModel != null)
				AddChild(parentDeviceViewModel, deviceViewModel);

			foreach (var childDevice in device.Children)
			{
				AddGKDeviceInternal(childDevice, deviceViewModel);
			}
			return deviceViewModel;
		}