/// <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;
        }
Example #3
0
        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
            });
        }