예제 #1
0
        public InvestigationVm(IWindsorContainer applicationWindsorContainer, ISnooperFactory snooperFactory, IFrameworkControllerFactory frameworkControllerFactory, Investigation model, ExportService exportService, IDetectiveMessenger messenger,
                               ISerializationPersistor <Investigation> investigationSerializationPersistor) : base(applicationWindsorContainer, model, exportService)
        {
            this.SnooperFactory      = snooperFactory;
            this.Investigation       = model;
            this.FrameworkController = frameworkControllerFactory.Create();
            this.ApplicationOrInvestigationWindsorContainer = this.InvestigationWindsorContainer;

            this.SourceLogs = new ViewModelVirtualizingIoCObservableCollection <SourceLogVm, SourceLog>(this.Investigation.SourceLogs, this.InvestigationWindsorContainer);

            this.OperationLogs = new ViewModelVirtualizingIoCObservableCollection <OperationLogVm, OperationLog>(this.Investigation.OperationLogs, this.InvestigationWindsorContainer);
            this.Captures      = new ViewModelVirtualizingIoCObservableCollection <CaptureVm, PmCaptureBase>(this.Investigation.Captures, this.InvestigationWindsorContainer);

            this.ConversationsGroups = new ViewModelVirtualizingIoCObservableCollection <ConversationsGroupVm, ConversationsGroup>(this.Investigation.ConversationsGroups,
                                                                                                                                   this.InvestigationWindsorContainer);
            this.ConversationsGroups.CollectionChanged += this.ConversationsGroups_CollectionChanged;

            this.ExportGroups = new ViewModelVirtualizingIoCObservableCollection <ExportGroupVm, ExportGroup>(this.Investigation.ExportsGroups, this.InvestigationWindsorContainer);

            this.ExportGroupName = "Exports - " + DateTime.Now;
            this.CreateSubGroup  = true;

            this._messenger = messenger;
            this._investigationSerializationPersistor = investigationSerializationPersistor;
        }
예제 #2
0
        public ExportService(IWindsorContainer investigationWindsorContainer, IFrameworkController frameworkController, IInvestigationInfo investigationInfo, ISnooperFactory snooperFactory, VirtualizingObservableDBSetPagedCollection <ExportGroup> exportGroups) : base()
        {
            this.InvestigationWindsorContainer = investigationWindsorContainer;
            this.FrameworkController           = frameworkController;
            this.InvestigationInfo             = investigationInfo;
            this.SnooperFactory = snooperFactory;
            var snooperToExportGroupDictionary = new Dictionary <Type, ExportGroup>();

            foreach (var snooper in this.SnooperFactory.AvailableSnoopers)
            {
                try
                {
                    var exportGroup = exportGroups.FirstOrDefault(g => g.Name == snooper.Name && g.Parent == null);
                    if (exportGroup == null)
                    {
                        var snooperExportObjectType = snooper.PrototypExportObject.GetType();

                        exportGroup = new ExportGroup(snooperExportObjectType, this.InvestigationWindsorContainer)
                        {
                            Name = snooper.Name
                        };
                        exportGroups.Add(exportGroup);
                    }
                    snooperToExportGroupDictionary.Add(snooper.PrototypExportObject.GetType(), exportGroup);
                }
                catch (Exception ex)
                {
                    this.Logger?.Error("Cannot create export groups", ex);
                    Debugger.Break();
                }
            }
            this.SnooperToExportGroupDictionary = snooperToExportGroupDictionary;
        }
예제 #3
0
 public FrameworkController(IControllerCaptureProcessorFactory controllerCaptureProcessorFactory, ISnooperFactory snooperFactory)
 {
     this.ControllerCaptureProcessorFactory = controllerCaptureProcessorFactory;
     this.SnooperFactory = snooperFactory;
 }
예제 #4
0
 public ExportFacade(NetfoxUnitOfWorkProvider unitOfWorkProvider, NetfoxRepositoryProvider repositoryProvider, ISnooperFactory snooperFactory) : base(unitOfWorkProvider, repositoryProvider)
 {
     this.SnooperFactory = snooperFactory;
 }