public InstantActionPageViewModel(PageManager pageManager, IEventAggregator ea, IAppPolicyManager appPolicyManager, IInstantActionManager instantActionManager, IFolderReactionMonitorModel monitor, IHistoryManager historyManager)
			: base(pageManager)
		{
			_EventAggregator = ea;
			AppPolicyManger = appPolicyManager;
			InstantActionManager = instantActionManager;
			Monitor = monitor;
			HistoryManager = historyManager;

			InstantActionVM = new ReactiveProperty<InstantActionStepViewModel>();
				
		}
		public HistoryPageViewModel(IHistoryManager histroyManager, PageManager pageManager, IFolderReactionMonitorModel monitor, IInstantActionManager instantActionManager)
			: base(pageManager)
		{
			HistoryManager = histroyManager;
			Monitor = monitor;
			InstantActionManager = instantActionManager;

			ShowHistoryVMs = new ObservableCollection<HistoryDataViewModel>();

			HistoryFileInfoList = new List<FileInfo>();

			CanIncrementalLoad = ShowHistoryVMs.CollectionChangedAsObservable()
				.Select(_ => HistoryFileInfoList.Count > ShowHistoryVMs.Count)
				.ToReactiveProperty();

			IncrementalLoadHistoryCommand = CanIncrementalLoad
				.ToReactiveCommand();

			IncrementalLoadHistoryCommand.Subscribe(_ => IncrementalLoadHistoryItems());
		}
		public HistoryDataViewModel(HistoryPageViewModel pageVM, PageManager pageManager, IFolderReactionMonitorModel monitor, IInstantActionManager instantActionManager, HistoryData historyData)
		{
			PageVM = pageVM;
			PageManager = pageManager;
			Monitor = monitor;
			InstantActionManage = instantActionManager;
			HistoryData = historyData;

			Actions = HistoryData.Actions
				.Select(x => new HistoryActionViewModel(this, x))
				.ToList();

			Files = HistoryData.FileHistories
				.Select(x => new HistoryDataByFileViewModel(this, x))
				.ToList();

			TargetFileAmount = Files.Count;

			SuccessCount = Files.Where(x => x.IsSuccessed).Count();

			var fileName = Path.GetFileName(HistoryData.ActionSourceFilePath);
			if (fileName.EndsWith(FolderModel.REACTION_EXTENTION))
			{
				IsSourceReaction = true;
			}
			else if (fileName.EndsWith(".rfinstant.json"))
			{
				IsSourceInstantAction = true;
			}
			
		}