/// <summary> /// 添加单步骤物体中的数据 /// </summary> /// <param name="var"></param> void OnAddItemStep(string index, ExperimentStepItem var) { if (var == null) { return; } if (currentExperimentData == null) { OnGreatExperimentDate(); } if (currentExperimentData.stepData == null) { currentExperimentData.stepData = new List <ExperimentStep>(); } ExperimentStep script = OnContains(currentExperimentData.stepData, index); //string itemStepData = JsonMapper.ToJson(var); if (script == null) { script = new ExperimentStep(); script.stepIndex = index; script.stepItemArray = new List <ExperimentStepItem>(); script.stepItemArray.Add(var); OnAddDataStep(script); } else { script.stepItemArray.Add(var); } }
/// <summary> /// 添加实验步骤 /// </summary> /// <param name="var"></param> void OnAddDataStep(ExperimentStep var) { if (var == null) { return; } currentExperimentData.stepData.Add(var); }
public ExperimentStepSetBuilder WithExperimentStep(ExperimentStep experimentStep) { this.experimentStepSet.ExperimentSteps.Add(experimentStep); return(this); }
private static void CreateExperimentSteps(ref AnimlDocument document) { //// Create an ExperimentStepSet that contains all the experiment data. ExperimentStepSet expStepSet = new ExperimentStepSet(); //// Create a first ExperimentStep. This ExperimentStep will reference the Sample. ExperimentStep expStep1 = new ExperimentStep("FirstStep", "E-1"); expStep1.Comment = "This is the 1st experiment step"; //// Create the infrastructure that is needed to establish the reference between the ExperimentStep and the Sample. expStep1.Infrastructure = new Infrastructure(); expStep1.Infrastructure.Timestamp = DateTime.Now; expStep1.Infrastructure.SampleReferencetSet = new SampleReferenceSet(); expStep1.Infrastructure.SampleReferencetSet.SampleReferences.Add(new SampleReference(document.SampleSet.Samples[0].SampleId, "Sample under test.", SamplePurpose.Consumed)); //// Create the method information for the ExperimentStep expStep1.Method = new Method(); expStep1.Method.Author = new Author("John Doe", UserType.Human) { Affiliation = "Black Mesa Corp.", Email = "*****@*****.**", Location = "New Mexico", Phone = "+1 505 1234567", Role = "Lab Technician", }; expStep1.Method.Device = new Device("pH Meter") { DeviceIdentifier = "PH-11-1", FirmwareVersion = "1.21a", Manufacturer = "pH Meter Manufacturing Corp.", SerialNumber = "PHM0815", }; expStep1.Method.Software = new Software("pH Meter PC Software") { Manufacturer = "pH Meter Manufacturing Corp.", OperatingSystem = Environment.OSVersion.ToString(), Version = "2.08", }; List <double> values = GenerateValues(50, 6, 3); //// Create a Result for the 1st ExperimentStep Result pHResult = new Result("pH"); pHResult.SeriesSet = new SeriesSet("pH Measurement", values.Count); Series phTimeSeries = new Series("Time", "SER-PH-TIME", Dependency.Independent, SeriesType.Int32); phTimeSeries.PlotScale = PlotScale.Linear; phTimeSeries.ValueSets.Add(new AutoIncrementedValueSet(0, 1)); pHResult.SeriesSet.Series.Add(phTimeSeries); Series phValueSeries = new Series("pH", "SER-PH-VALS", Dependency.Dependent, SeriesType.Float64); phValueSeries.PlotScale = PlotScale.Linear; phValueSeries.ValueSets.Add(new EncodedValueSet(values)); pHResult.SeriesSet.Series.Add(phValueSeries); expStep1.Results.Add(pHResult); //// Add the 1st ExperimentStep to the ExperimentStepSet. expStepSet.ExperimentSteps.Add(expStep1); //// Create a second ExperimentStep. This ExperimentStep will reference the first ExperimentStep. ExperimentStep expStep2 = new ExperimentStep("SecondStep", "E-2"); expStep2.Comment = "This is the 2nd experiment step"; //// Create the infrastructure that is needed to establish the reference between the 1st and the 2nd ExperimentStep. expStep2.Infrastructure = new Infrastructure(); expStep2.Infrastructure.Timestamp = DateTime.Now; expStep2.Infrastructure.ExperimentDataReferenceSet = new ExperimentDataReferenceSet(); expStep2.Infrastructure.ExperimentDataReferenceSet.ExperimentDataReferences.Add(new ExperimentDataReference("E-1", "Data source", ExperimentDataPurpose.Consumed)); //// Create a Result for the 2nd ExperimentStep Result calcResult = new Result("Calc"); calcResult.SeriesSet = new SeriesSet("Calculated Results", 3); Series resultNamesSeries = new Series("ResultName", "SER-CALC-NAMES", Dependency.Independent, SeriesType.String); resultNamesSeries.PlotScale = PlotScale.None; resultNamesSeries.ValueSets.Add(new IndividualValueSet(new List <string>() { "Min", "Max", "Average" })); calcResult.SeriesSet.Series.Add(resultNamesSeries); Series resultValuesSeries = new Series("ResultValue", "SER-CALC-VALUES", Dependency.Dependent, SeriesType.Float64); resultValuesSeries.PlotScale = PlotScale.None; resultValuesSeries.ValueSets.Add(new IndividualValueSet(new List <double>() { values.Min(), values.Max(), values.Average() })); calcResult.SeriesSet.Series.Add(resultValuesSeries); expStep2.Results.Add(calcResult); //// Add the 2nd ExperimentStep to the ExperimentStepSet. expStepSet.ExperimentSteps.Add(expStep2); document.ExperimentStepSet = expStepSet; }
public ExperimentStepBuilder(string name, string experimentStepId) { this.experimentStep = new ExperimentStep(name, experimentStepId); }