public void Setup()
        {
            var measurementResultValue = new MeasurementResultValue();
            measurementResultValue.DataValue = MeasurementValue;
            var measurementResult = new MeasurementResult();
            measurementResult.MeasurementResultValues.Add(measurementResultValue);
            var result = new Result();
            result.ResultDateTime = DateTime.Today;
            result.MeasurementResult = measurementResult;
            var samplingFeature = new SamplingFeature();
            samplingFeature.SamplingFeatureTypeCV = "Specimen";
            var featureAction = new FeatureAction();
            featureAction.SamplingFeature = samplingFeature;
            featureAction.Results.Add(result);
            var action = new Core.Action();
            action.ActionID = ActionId;
            action.FeatureActions.Add(featureAction);
            var actions = new List<Core.Action>();
            actions.Add(action);
            supportedData = actions;

            var mockVersionHelper = new Mock<IDataVersioningHelper>();
            mockVersionHelper.Setup(x => x.GetLatestVersionActionData(It.IsAny<Hatfield.EnviroData.Core.Action>())).Returns(action);
            mockVersionHelper.Setup(x => x.CloneActionData(It.IsAny<Hatfield.EnviroData.Core.Action>())).Returns(cloneAction(action));

            var mockRepository = new Mock<IRepository<CV_RelationshipType>>();
            testTool = new ChemistryValueCheckingTool(mockVersionHelper.Object, mockRepository.Object);

            mockChemistryValueCheckingRule = new Mock<ChemistryValueCheckingRule>();
        }
コード例 #2
0
        private MeasurementResult CloneMeasurementResult(MeasurementResult previousVersionMeasurementResult, Result newVersionResult)
        {
            if (previousVersionMeasurementResult == null)
            {
                return(null);
            }
            else
            {
                var newVersionMeasurementResult = new MeasurementResult();
                newVersionMeasurementResult.Result = newVersionResult;
                newVersionMeasurementResult.AggregationStatisticCV  = previousVersionMeasurementResult.AggregationStatisticCV;
                newVersionMeasurementResult.CV_AggregationStatistic = previousVersionMeasurementResult.CV_AggregationStatistic;
                newVersionMeasurementResult.CensorCodeCV            = previousVersionMeasurementResult.CensorCodeCV;
                newVersionMeasurementResult.CV_CensorCode           = previousVersionMeasurementResult.CV_CensorCode;
                newVersionMeasurementResult.QualityCodeCV           = previousVersionMeasurementResult.QualityCodeCV;
                newVersionMeasurementResult.CV_QualityCode          = previousVersionMeasurementResult.CV_QualityCode;

                newVersionMeasurementResult.SpatialReference               = previousVersionMeasurementResult.SpatialReference;
                newVersionMeasurementResult.SpatialReferenceID             = previousVersionMeasurementResult.SpatialReferenceID;
                newVersionMeasurementResult.TimeAggregationInterval        = previousVersionMeasurementResult.TimeAggregationInterval;
                newVersionMeasurementResult.TimeAggregationIntervalUnitsID = previousVersionMeasurementResult.TimeAggregationIntervalUnitsID;
                newVersionMeasurementResult.Unit             = previousVersionMeasurementResult.Unit;
                newVersionMeasurementResult.Unit1            = previousVersionMeasurementResult.Unit1;
                newVersionMeasurementResult.Unit2            = previousVersionMeasurementResult.Unit2;
                newVersionMeasurementResult.Unit3            = previousVersionMeasurementResult.Unit3;
                newVersionMeasurementResult.XLocation        = previousVersionMeasurementResult.XLocation;
                newVersionMeasurementResult.XLocationUnitsID = previousVersionMeasurementResult.XLocationUnitsID;
                newVersionMeasurementResult.YLocation        = previousVersionMeasurementResult.YLocation;
                newVersionMeasurementResult.YLocationUnitsID = previousVersionMeasurementResult.YLocationUnitsID;
                newVersionMeasurementResult.ZLocation        = previousVersionMeasurementResult.ZLocation;
                newVersionMeasurementResult.ZLocationUnitsID = previousVersionMeasurementResult.ZLocationUnitsID;

                if (previousVersionMeasurementResult.MeasurementResultValues != null)
                {
                    newVersionMeasurementResult.MeasurementResultValues = new List <MeasurementResultValue>();
                    foreach (var previousMeasurementResultValue in previousVersionMeasurementResult.MeasurementResultValues)
                    {
                        var newMeasurementResultValue = new MeasurementResultValue();
                        newMeasurementResultValue.MeasurementResult      = newVersionMeasurementResult;
                        newMeasurementResultValue.DataValue              = previousMeasurementResultValue.DataValue;
                        newMeasurementResultValue.ValueDateTime          = previousMeasurementResultValue.ValueDateTime;
                        newMeasurementResultValue.ValueDateTimeUTCOffset = previousMeasurementResultValue.ValueDateTimeUTCOffset;

                        newVersionMeasurementResult.MeasurementResultValues.Add(newMeasurementResultValue);
                    }
                }

                return(newVersionMeasurementResult);
            }
        }
        public static void Link(MeasurementResult measurementResult, MeasurementResultValue measurementResultValue)
        {
            measurementResult.MeasurementResultValues.Add(measurementResultValue);

            measurementResultValue.MeasurementResult = measurementResult;
        }
コード例 #4
0
        private static ChemistryFileData MapChemistryFileData(Hatfield.EnviroData.Core.Action action, Result result, MeasurementResultValue measurementResultValue)
        {
            var chemistryFileData = new ChemistryFileData();

            chemistryFileData.ExtractionDate   = action.BeginDateTime;
            chemistryFileData.AnalysedDate     = action.EndDateTime.HasValue ? action.EndDateTime.Value : DateTime.MinValue;
            chemistryFileData.Result           = measurementResultValue.DataValue;
            chemistryFileData.ResultUnit       = result.MeasurementResult.Unit.UnitsName;
            chemistryFileData.OriginalChemName = result.Variable.VariableDefinition;
            chemistryFileData.ChemCode         = result.Variable.VariableCode;
            chemistryFileData.MethodName       = action.Method.MethodName;
            chemistryFileData.MethodType       = action.Method.MethodDescription;

            var propertyValueDictionary = result.ResultExtensionPropertyValues.ToDictionary(x => x.ExtensionProperty.PropertyName, x => x.PropertyValue);

            chemistryFileData.SampleCode = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeySampleCode) ?
                                           propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeySampleCode] :
                                           string.Empty;

            chemistryFileData.Prefix = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyPrefix) ?
                                       propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyPrefix] :
                                       string.Empty;

            chemistryFileData.TotalOrFiltered = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyTotalOrFiltered) ?
                                                propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyTotalOrFiltered] :
                                                string.Empty;

            chemistryFileData.ResultType = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyResultType) ?
                                           propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyResultType] :
                                           string.Empty;

            chemistryFileData.EQL = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyEQL) ?
                                    MappingHelper.ToNullableDouble(propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyEQL]) :
                                    null;

            chemistryFileData.EQLUnits = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyEQLUnits) ?
                                         propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyEQLUnits] :
                                         string.Empty;

            chemistryFileData.Comments = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyComments) ? propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyComments] : string.Empty;
            chemistryFileData.UCL      = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyUCL) ? MappingHelper.ToNullableDouble(propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyUCL]) : null;
            chemistryFileData.LCL      = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyLCL) ? MappingHelper.ToNullableDouble(propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyLCL]) : null;

            return(chemistryFileData);
        }
        private MeasurementResult CloneMeasurementResult(MeasurementResult previousVersionMeasurementResult, Result newVersionResult)
        {
            if (previousVersionMeasurementResult == null)
            {
                return null;
            }
            else
            {
                var newVersionMeasurementResult = new MeasurementResult();
                newVersionMeasurementResult.Result = newVersionResult;
                newVersionMeasurementResult.AggregationStatisticCV = previousVersionMeasurementResult.AggregationStatisticCV;
                newVersionMeasurementResult.CV_AggregationStatistic = previousVersionMeasurementResult.CV_AggregationStatistic;
                newVersionMeasurementResult.CensorCodeCV = previousVersionMeasurementResult.CensorCodeCV;
                newVersionMeasurementResult.CV_CensorCode = previousVersionMeasurementResult.CV_CensorCode;
                newVersionMeasurementResult.QualityCodeCV = previousVersionMeasurementResult.QualityCodeCV;
                newVersionMeasurementResult.CV_QualityCode = previousVersionMeasurementResult.CV_QualityCode;
                
                newVersionMeasurementResult.SpatialReference = previousVersionMeasurementResult.SpatialReference;
                newVersionMeasurementResult.SpatialReferenceID = previousVersionMeasurementResult.SpatialReferenceID;
                newVersionMeasurementResult.TimeAggregationInterval = previousVersionMeasurementResult.TimeAggregationInterval;
                newVersionMeasurementResult.TimeAggregationIntervalUnitsID = previousVersionMeasurementResult.TimeAggregationIntervalUnitsID;
                newVersionMeasurementResult.Unit = previousVersionMeasurementResult.Unit;
                newVersionMeasurementResult.Unit1 = previousVersionMeasurementResult.Unit1;
                newVersionMeasurementResult.Unit2 = previousVersionMeasurementResult.Unit2;
                newVersionMeasurementResult.Unit3 = previousVersionMeasurementResult.Unit3;
                newVersionMeasurementResult.XLocation = previousVersionMeasurementResult.XLocation;
                newVersionMeasurementResult.XLocationUnitsID = previousVersionMeasurementResult.XLocationUnitsID;
                newVersionMeasurementResult.YLocation = previousVersionMeasurementResult.YLocation;
                newVersionMeasurementResult.YLocationUnitsID = previousVersionMeasurementResult.YLocationUnitsID;
                newVersionMeasurementResult.ZLocation = previousVersionMeasurementResult.ZLocation;
                newVersionMeasurementResult.ZLocationUnitsID = previousVersionMeasurementResult.ZLocationUnitsID;
                
                if(previousVersionMeasurementResult.MeasurementResultValues != null)
                {
                    newVersionMeasurementResult.MeasurementResultValues = new List<MeasurementResultValue>();
                    foreach(var previousMeasurementResultValue in previousVersionMeasurementResult.MeasurementResultValues)
                    {
                        var newMeasurementResultValue = new MeasurementResultValue();
                        newMeasurementResultValue.MeasurementResult = newVersionMeasurementResult;
                        newMeasurementResultValue.DataValue = previousMeasurementResultValue.DataValue;
                        newMeasurementResultValue.ValueDateTime = previousMeasurementResultValue.ValueDateTime;
                        newMeasurementResultValue.ValueDateTimeUTCOffset = previousMeasurementResultValue.ValueDateTimeUTCOffset;

                        newVersionMeasurementResult.MeasurementResultValues.Add(newMeasurementResultValue);
                    }
                }

                return newVersionMeasurementResult;
            }
        }
コード例 #6
0
        public static void Link(MeasurementResult measurementResult, MeasurementResultValue measurementResultValue)
        {
            measurementResult.MeasurementResultValues.Add(measurementResultValue);

            measurementResultValue.MeasurementResult = measurementResult;
        }
        private Core.Action cloneAction(Core.Action action)
        {
            var measurementResultValueClone = new MeasurementResultValue();
            measurementResultValueClone.DataValue = action.FeatureActions.FirstOrDefault().Results.FirstOrDefault()
                .MeasurementResult.MeasurementResultValues.FirstOrDefault().DataValue;
            var measurementResultClone = new MeasurementResult();
            measurementResultClone.MeasurementResultValues.Add(measurementResultValueClone);
            var resultClone = new Result();
            resultClone.ResultDateTime = action.FeatureActions.FirstOrDefault().Results.FirstOrDefault().ResultDateTime;
            resultClone.MeasurementResult = measurementResultClone;
            var samplingFeatureClone = new SamplingFeature();
            samplingFeatureClone.SamplingFeatureTypeCV = action.FeatureActions.FirstOrDefault().SamplingFeature.SamplingFeatureTypeCV;
            var featureActionClone = new FeatureAction();
            featureActionClone.SamplingFeature = samplingFeatureClone;
            featureActionClone.Results.Add(resultClone);
            var actionClone = new Core.Action();
            actionClone.FeatureActions.Add(featureActionClone);

            return actionClone;
        }
コード例 #8
0
        private static ChemistryFileData MapChemistryFileData(Hatfield.EnviroData.Core.Action action, Result result, MeasurementResultValue measurementResultValue)
        {
            var chemistryFileData = new ChemistryFileData();

            chemistryFileData.ExtractionDate = action.BeginDateTime;
            chemistryFileData.AnalysedDate = action.EndDateTime.HasValue ? action.EndDateTime.Value : DateTime.MinValue;
            chemistryFileData.Result = measurementResultValue.DataValue;
            chemistryFileData.ResultUnit = result.MeasurementResult.Unit.UnitsName;
            chemistryFileData.OriginalChemName = result.Variable.VariableDefinition;
            chemistryFileData.ChemCode = result.Variable.VariableCode;
            chemistryFileData.MethodName = action.Method.MethodName;
            chemistryFileData.MethodType = action.Method.MethodDescription;

            var propertyValueDictionary = result.ResultExtensionPropertyValues.ToDictionary(x => x.ExtensionProperty.PropertyName, x => x.PropertyValue);

            chemistryFileData.SampleCode = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeySampleCode) ?
                                            propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeySampleCode] :
                                            string.Empty;

            chemistryFileData.Prefix = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyPrefix) ?
                                            propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyPrefix] :
                                            string.Empty;

            chemistryFileData.TotalOrFiltered = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyTotalOrFiltered) ?
                                                    propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyTotalOrFiltered] :
                                                    string.Empty;

            chemistryFileData.ResultType = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyResultType) ?
                                                propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyResultType] :
                                                string.Empty;

            chemistryFileData.EQL = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyEQL) ?
                                        MappingHelper.ToNullableDouble(propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyEQL]) :
                                        null;

            chemistryFileData.EQLUnits = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyEQLUnits) ?
                                            propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyEQLUnits] :
                                            string.Empty;

            chemistryFileData.Comments = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyComments) ? propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyComments] : string.Empty;
            chemistryFileData.UCL = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyUCL) ? MappingHelper.ToNullableDouble(propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyUCL]) : null;
            chemistryFileData.LCL = propertyValueDictionary.ContainsKey(ESDATChemistryConstants.ResultExtensionPropertyValueKeyLCL) ? MappingHelper.ToNullableDouble(propertyValueDictionary[ESDATChemistryConstants.ResultExtensionPropertyValueKeyLCL]) : null;

            return chemistryFileData;
        }