public ActionResult DataCollection(bool regenerate) { int count = 0; var summary = new ProcessSummary(); var time = Stopwatch.StartNew(); // scan folders to load the database using (var context = new BuildDb()) { // create the database if it doesn't exist if (!context.Context.Database.Exists()) { context.Context.Database.Create(); } else { if (regenerate == true) { context.PurgeOldRecords(defaultDirectory); } } count = context.hashDirectory(defaultDirectory); // display the database summary summary.NewRecords = count; summary.TotalRecords = context.Context.Images.Count(); summary.LastProcessTime = time.Elapsed; } // todo: switch this to Json and let page handle display return(PartialView("_Summary", summary)); }
public void Ctor_WhenCalledWithCorrectNumbers_ThenSummarizesNumbers() { var summary = new ProcessSummary(10, 6); summary.TotalNumberOfFiles.ShouldBe(10); summary.NumberOfValidFiles.ShouldBe(6); summary.NumberOfInvalidFiles.ShouldBe(4); }
public ProcessSummary CreateProcessSummary(DateTime startTime, DateTime endTime, JsonObject fileMeta, JsonArray fileRules, JsonArray participants, IList <CompensationInvestment> investments, Guid fileKey) { ProcessSummary sum = new ProcessSummary(); sum.StartTime = startTime; sum.EndTime = endTime; sum.FileName = fileMeta["fileName"]; sum.FileKey = fileKey.ToString(); sum.RulesDecoded = fileRules != null ? fileRules.Count : 0; sum.Participants = participants != null ? participants.Count : 0; sum.InvestmentsCreated = investments != null ? investments.Count : 0; return(sum); }
public int Compare(object x, object y) { if ((x is ListViewItem) && (y is ListViewItem)) { ProcessSummary p1 = ((ListViewItem)x).Tag as ProcessSummary; ProcessSummary p2 = ((ListViewItem)y).Tag as ProcessSummary; if (!(p1 == null || p2 == null)) { int result = 0; switch (columnIndex) { case 0: result = p1.ProcessId.CompareTo(p2.ProcessId); break; case 1: result = p1.ProcessName.CompareTo(p2.ProcessName); break; case 2: result = p1.MainModuleFileName.CompareTo(p2.MainModuleFileName); break; case 3: result = p1.MainModuleBase.CompareTo(p2.MainModuleBase); break; case 4: result = p1.MainModuleEntryPoint.CompareTo(p2.MainModuleEntryPoint); break; case 5: result = p1.MainModuleImageSize.CompareTo(p2.MainModuleImageSize); break; case 6: result = p1.IsWOW64.CompareTo(p2.IsWOW64); break; } if (sortOrder == SortOrder.Descending) { result = -result; } return(result); } } return(0); }
private void ListView_Selected(object sender, RoutedEventArgs e) { var selected = sender as ListViewItem; ProcessSummary content = selected.Content as ProcessSummary; foreach (Session s in vm.Slave.Items) { if (s.Process.Equals(content.Process)) { vm.Slave.Selected = s; break; } } }
public bool GetProcessSummaryList(out ProcessSummary[] result) { result = new ProcessSummary[0]; if (driverHandle != WinApi.INVALID_HANDLE_VALUE) { int requiredBufferSize = GetProcessListRequiredBufferSize(); if (requiredBufferSize > 0) { IntPtr bufferPointer = MarshalUtility.AllocZeroFilled(requiredBufferSize); KERNEL_PROCESS_LIST_OPERATION operation = new KERNEL_PROCESS_LIST_OPERATION { bufferAddress = (ulong)bufferPointer.ToInt64(), bufferSize = requiredBufferSize }; IntPtr operationPointer = MarshalUtility.CopyStructToMemory(operation); int operationSize = Marshal.SizeOf <KERNEL_PROCESS_LIST_OPERATION>(); if (WinApi.DeviceIoControl(driverHandle, IO_GET_PROCESS_LIST, operationPointer, operationSize, operationPointer, operationSize, IntPtr.Zero, IntPtr.Zero)) { operation = MarshalUtility.GetStructFromMemory <KERNEL_PROCESS_LIST_OPERATION>(operationPointer); if (operation.processCount > 0) { byte[] managedBuffer = new byte[requiredBufferSize]; Marshal.Copy(bufferPointer, managedBuffer, 0, requiredBufferSize); Marshal.FreeHGlobal(bufferPointer); result = new ProcessSummary[operation.processCount]; using (BinaryReader reader = new BinaryReader(new MemoryStream(managedBuffer))) { for (int i = 0; i < result.Length; i++) { result[i] = ProcessSummary.FromStream(reader); } } return(true); } } } } return(false); }
public ProcessSummary StartProcess(string fileContent) { DateTime startTime = DateTime.UtcNow; var objJsonContent = (JsonObject)JsonObject.Parse(fileContent); var fileMetaData = _fileManager.GetMetaData(objJsonContent); var fileRules = _fileManager.GetCompensationFileRules(objJsonContent); var fileParticipants = _fileManager.GetParticipants(objJsonContent); var fileKey = _fileManager.FileKeyGenerator(); var investments = _fileManager.CreateCompensationInvestments(fileMetaData, fileRules, fileParticipants, fileKey); _publisher.SendParticipantMessages(investments); ProcessSummary sum = _messageManager.CreateProcessSummary(startTime, DateTime.UtcNow, fileMetaData, fileRules, fileParticipants, investments, fileKey); int investmentCount = (investments != null ? investments.Count : 0); JsonObject enrichedMeta = _messageManager.CreateMetaMessage(fileMetaData, fileKey.ToString(), investmentCount); _publisher.SendMetaMessages(enrichedMeta); _logger.LogInformation("File completed processing at : {0}. /nFile Summary : # of Rules - {1} # of Participants {2} # of investments - {3} ", DateTime.UtcNow, fileRules?.Count, fileParticipants?.Count, investments?.Count); return(sum); }
public ProcessOfferingViewModel CreateProcessOfferingViewModel(string wpsUri, ProcessSummary sum) { var transmissionMode = sum.OutputTransmission.ToString().ToLower(); if (transmissionMode.Equals("ValueReference", StringComparison.InvariantCultureIgnoreCase)) { transmissionMode = "value reference"; } return(new ProcessOfferingViewModel(wpsUri, sum.Identifier, _dialogService, _wpsClient, _context, this) { ProcessName = sum.Identifier, TransmissionModes = transmissionMode, JobControlOptions = sum.JobControlOptions, Keywords = sum.Keywords != null?string.Join(", ", sum.Keywords) : null, Model = sum.ProcessModel, Version = sum.ProcessVersion, Abstract = sum.Abstract, }); }