/// <summary> /// Process an exhibit with the default workflow (full) of an specific acquisition format /// </summary> /// <param name="exhibitId"></param> /// <param name="mediaId"></param> /// <param name="acquisitionFormat"></param> public void ProcessExhibit(int exhibitId, int mediaId, AcquisitionFormatType acquisitionFormat) { // Get workflow steps by acquisition type var workflowSteps = WorkflowStep.GetWorkflowStep_AcquisitionFormat(acquisitionFormat); var workflowStepId = workflowSteps.Select(x => x.WorkflowStepId).Distinct().ToArray(); var workflowStepEvents = WorkflowStepEvent.GetWorkflowStepEvent_WorkflowSteps(workflowStepId); var workflowStepProperties = WorkflowStepProperty.GetWorkflowStepProperty_WorkflowSteps(workflowStepId); var activities = Activity.GetActivity_All(); var workflowHelper = new WorkflowHelper(workflowSteps, activities, workflowStepProperties, workflowStepEvents); var workflowCustom = new List <EVE.Workflow.WorkflowStep>(); var initialSteps = (from workflowStep in workflowSteps where workflowStepEvents.All(x => x.LinkedWorkflowStepId != workflowStep.WorkflowStepId) select workflowStep).ToList(); foreach (var step in initialSteps.Select(initialStep => workflowHelper.CreateStep(initialStep.WorkflowStepId))) { workflowCustom.Add(step); workflowHelper.ParseChildren(workflowCustom, step); } // Process default workflow ProcessExhibit(exhibitId, mediaId, workflowCustom); }
public static void PrepareDbData(MediaDataModel mediaDataModel, AcquisitionFormatType type) { mediaDataModel.EvidencePath = Path.GetFullPath(_settings["EvidencePath"].Value); var details = new ExhibitHelper().PrepareDbData(mediaDataModel.EvidencePath, type); _caseId = details.CaseId; _exhibitId = details.ExhibitId; _mediaId = details.MediaId; }
private static void Setup() { _settings = GetSettingsFromConfig(); _exhibitDetailsDataFilePath = GetPathToExpectedExhibitDetails(); _mediaDataModel.EvidencePath = Path.GetFullPath(_settings["EvidencePath"].Value); _type = AcquisitionFormatType.MobileDeviceUfed; string pathToFileWithProcessingTimeData = Path.GetFullPath(_settings["PathToFileWithProcessingTimeData"].Value); string processingTimeCsvFileName = Path.GetFullPath(_settings["ProcessingTimeCsvFileName"].Value); WriteDefaultValueToProcessingTimeCsvFile(pathToFileWithProcessingTimeData, processingTimeCsvFileName); PrepareDbData(_mediaDataModel, _type); InitialiseTables(); _distributedDatabase.ResetDistributedDatabase(); }
public ExhibitHelperModel PrepareDbData(string evidencePath, AcquisitionFormatType type) { var exhibitDataModel = new ExhibitDataModel().GetDefault(); var caseDataModel = new CaseDataModel().GetDefault(); var mediaDataModel = new MediaDataModel().GetDefault(); caseDataModel.SiteId = new SiteTable(Config.GetConnectionString(DataStore.Central)).GetSiteId(); var caseId = Case.InsertCase(caseDataModel.PoliceFileNumber, caseDataModel.EclCaseNumber, caseDataModel.Description, caseDataModel.OfficerInChargeId, caseDataModel.DistrictId, caseDataModel.SiteId, caseDataModel.OffenceTypeId, caseDataModel.CreatedById); var exhibitId = EVE.BLL.Exhibit.CreateExhibit(caseId, caseDataModel.CreatedById, exhibitDataModel.EclExhibitNumber, exhibitDataModel.Description, exhibitDataModel.PoliceExhibitNumber); mediaDataModel.EvidencePath = Path.GetFullPath(evidencePath); var mediaId = Media.InsertMedia(exhibitId, mediaDataModel.MediaNumber, mediaDataModel.Description, mediaDataModel.EvidencePath, MediaStatus.Defined, type, string.Empty); return(new ExhibitHelperModel { ExhibitId = exhibitId, MediaId = mediaId, CaseId = caseId, CasePoliceNumber = caseDataModel.PoliceFileNumber, EclExhibitNumber = exhibitDataModel.EclExhibitNumber, MediaNumber = mediaDataModel.MediaNumber }); }