/// <summary> /// Testdata /// </summary> /// <returns>TestValues</returns> public static List <TestValue> TestValuesOkRewetStandardDeviation(IncontinencePadTestValue expected) => new List <TestValue> { new TestValue { TestValueType = TestValueType.StandardDeviation, ArticleTestType = ArticleType.IncontinencePad, IncontinencePadTestValue = new IncontinencePadTestValue { TestType = TestTypeIncontinencePad.AcquisitionTimeAndRewet } }, new TestValue { TestValueType = TestValueType.StandardDeviation, ArticleTestType = ArticleType.IncontinencePad, IncontinencePadTestValue = expected }, new TestValue { TestValueType = TestValueType.StandardDeviation, ArticleTestType = ArticleType.IncontinencePad, IncontinencePadTestValue = new IncontinencePadTestValue { TestType = TestTypeIncontinencePad.Retention } } };
private static void UpdateInkoRewetStDev(TestSheet testSheet, TestValue rewetTestAvg, TestValue rewetTestStDev) { var tempInko = new IncontinencePadTestValue(); var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && (testValue.IncontinencePadTestValue.TestType == TestTypeIncontinencePad.RewetFree)) ) { tempInko.RewetFreeDryValue += Math.Pow(testValue.IncontinencePadTestValue.RewetFreeDryValue - rewetTestAvg.IncontinencePadTestValue.RewetFreeDryValue, 2); tempInko.RewetFreeWetValue += Math.Pow(testValue.IncontinencePadTestValue.RewetFreeWetValue - rewetTestAvg.IncontinencePadTestValue.RewetFreeWetValue, 2); tempInko.RewetFreeDifference += Math.Pow(testValue.IncontinencePadTestValue.RewetFreeDifference - rewetTestAvg.IncontinencePadTestValue.RewetFreeDifference, 2); counter++; } if (counter < 2) { rewetTestStDev.IncontinencePadTestValue.RewetFreeDryValue = 0; rewetTestStDev.IncontinencePadTestValue.RewetFreeWetValue = 0; rewetTestStDev.IncontinencePadTestValue.RewetFreeDifference = 0; } else { counter--; rewetTestStDev.IncontinencePadTestValue.RewetFreeDryValue = Math.Sqrt(tempInko.RewetFreeDryValue / counter); rewetTestStDev.IncontinencePadTestValue.RewetFreeWetValue = Math.Sqrt(tempInko.RewetFreeWetValue / counter); rewetTestStDev.IncontinencePadTestValue.RewetFreeDifference = Math.Sqrt(tempInko.RewetFreeDifference / counter); } }
/// <summary> /// Testdata /// </summary> /// <returns>TestValues</returns> public static List <TestValue> TestValuesOkRetentionTimeSingle(IncontinencePadTestValue expected) => new List <TestValue> { new TestValue { TestValueType = TestValueType.Single, ArticleTestType = ArticleType.IncontinencePad, IncontinencePadTestValue = new IncontinencePadTestValue { TestType = TestTypeIncontinencePad.AcquisitionTimeAndRewet } }, new TestValue { TestValueType = TestValueType.Single, ArticleTestType = ArticleType.IncontinencePad, IncontinencePadTestValue = expected }, new TestValue { TestValueType = TestValueType.Single, ArticleTestType = ArticleType.IncontinencePad, IncontinencePadTestValue = new IncontinencePadTestValue { TestType = TestTypeIncontinencePad.RewetFree } } };
/// <summary> /// Creates an new TestValue from the view model /// </summary> /// <param name="viewModel">the data from the view</param> /// <returns>The created test value</returns> public TestValue SaveNewAquisitionTest(InkoAquisitionEditViewModel viewModel) { var testValue = TestServiceHelper.CreateNewTestValue(viewModel.TestSheetId, viewModel.TestPerson, viewModel.ProductionCodeDay, viewModel.Notes); testValue.ArticleTestType = ArticleType.IncontinencePad; var incontinencePadTestValue = new IncontinencePadTestValue { IncontinencePadTime = viewModel.ProductionCodeTime, ExpireMonth = viewModel.ExpireMonth, ExpireYear = viewModel.ExpireYear, AcquisitionTimeFirst = viewModel.AquisitionAddition1, AcquisitionTimeSecond = viewModel.AquisitionAddition2, AcquisitionTimeThird = viewModel.AquisitionAddition3, AcquisitionWeight = viewModel.InkoWeight, RewetAfterAcquisitionTimeDryWeight = viewModel.FPDry, RewetAfterAcquisitionTimeWetWeight = viewModel.FPWet, TestType = TestTypeIncontinencePad.AcquisitionTimeAndRewet }; incontinencePadTestValue = CalculateInkoAquisitionValues(incontinencePadTestValue, viewModel.TestSheetId); testValue.IncontinencePadTestValue = incontinencePadTestValue; TestBll.SaveNewTestValue(testValue); return(testValue); }
private static void UpdateInkoAquisitionStDev(TestSheet testSheet, TestValue aquisitionTestAvg, TestValue aquisitionTestStDev) { var tempInko = new IncontinencePadTestValue(); var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && (testValue.IncontinencePadTestValue.TestType == TestTypeIncontinencePad.AcquisitionTimeAndRewet)) ) { tempInko.AcquisitionTimeFirst += Math.Pow( testValue.IncontinencePadTestValue.AcquisitionTimeFirst - aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeFirst, 2); tempInko.AcquisitionTimeSecond += Math.Pow(testValue.IncontinencePadTestValue.AcquisitionTimeSecond - aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeSecond, 2); tempInko.AcquisitionTimeThird += Math.Pow( testValue.IncontinencePadTestValue.AcquisitionTimeThird - aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeThird, 2); tempInko.AcquisitionWeight += Math.Pow(testValue.IncontinencePadTestValue.AcquisitionWeight - aquisitionTestAvg.IncontinencePadTestValue.AcquisitionWeight, 2); tempInko.RewetAfterAcquisitionTimeDryWeight += Math.Pow( testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight - aquisitionTestAvg.IncontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight, 2); tempInko.RewetAfterAcquisitionTimeWetWeight += Math.Pow( testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight - aquisitionTestAvg.IncontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight, 2); tempInko.RewetAfterAcquisitionTimeWeightDifference += Math.Pow( testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference - aquisitionTestAvg.IncontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference, 2); counter++; } if (counter < 2) { aquisitionTestStDev.IncontinencePadTestValue.AcquisitionTimeFirst = 0; aquisitionTestStDev.IncontinencePadTestValue.AcquisitionTimeSecond = 0; aquisitionTestStDev.IncontinencePadTestValue.AcquisitionTimeThird = 0; aquisitionTestStDev.IncontinencePadTestValue.AcquisitionWeight = 0; aquisitionTestStDev.IncontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight = 0; aquisitionTestStDev.IncontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight = 0; aquisitionTestStDev.IncontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference = 0; } else { counter--; aquisitionTestStDev.IncontinencePadTestValue.AcquisitionTimeFirst = Math.Sqrt(tempInko.AcquisitionTimeFirst / counter); aquisitionTestStDev.IncontinencePadTestValue.AcquisitionTimeSecond = Math.Sqrt(tempInko.AcquisitionTimeSecond / counter); aquisitionTestStDev.IncontinencePadTestValue.AcquisitionTimeThird = Math.Sqrt(tempInko.AcquisitionTimeThird / counter); aquisitionTestStDev.IncontinencePadTestValue.AcquisitionWeight = Math.Sqrt(tempInko.AcquisitionWeight / counter); aquisitionTestStDev.IncontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight = Math.Sqrt(tempInko.RewetAfterAcquisitionTimeDryWeight / counter); aquisitionTestStDev.IncontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight = Math.Sqrt(tempInko.RewetAfterAcquisitionTimeWetWeight / counter); aquisitionTestStDev.IncontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference = Math.Sqrt(tempInko.RewetAfterAcquisitionTimeWeightDifference / counter); } }
/// <summary> /// Calculates all values for the incontinence rewet test /// </summary> /// <param name="incontinencePadTestValue">the test value</param> /// <param name="testSheetId">the test sheet id</param> /// <returns></returns> private IncontinencePadTestValue CalculateInkoRewetValues(IncontinencePadTestValue incontinencePadTestValue, Int32 testSheetId) { var testSheet = TestBll.GetTestSheetInfo(testSheetId); var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); incontinencePadTestValue.RewetFreeDifference = incontinencePadTestValue.RewetFreeWetValue - incontinencePadTestValue.RewetFreeDryValue; incontinencePadTestValue.RewetFreeRw = GetRewetFreeRwType(incontinencePadTestValue.RewetFreeDifference, productionOrder); return(incontinencePadTestValue); }
/// <summary> /// Creates the rewet TestValue from diffrent input data /// </summary> /// <param name="rewet">the incontinence pad test value containing the rewet data</param> /// <param name="testPerson">the person who did the test</param> /// <param name="prodCode">the diaper production code</param> /// <param name="testValueId">the id of the testvalue</param> /// <returns></returns> public IncontinencePadRewetTestValue ToRewetTestValue(IncontinencePadTestValue rewet, String testPerson, String prodCode, Int32 testValueId) { var vm = new IncontinencePadRewetTestValue { IncontinencePadTestInfo = ToTestInfo(testPerson, prodCode, testValueId), IncontinencePadRewet = ToRewet(rewet) }; return(vm); }
/// <summary> /// Sets the values for the Acquisition Time View Model out of the IncontinencePadTestValue Model /// </summary> /// <param name="acquisitionTime">the Incontinence Pad Test value with the acquisition time data</param> /// <returns>The acquisition time View Model with the data collected from the model</returns> public IncontinencePadAcquisitionTime ToAcquisitionTime(IncontinencePadTestValue acquisitionTime) => new IncontinencePadAcquisitionTime { AcquisitionTimeAdditionFirst = Round(acquisitionTime.AcquisitionTimeFirst), AcquisitionTimeAdditionSecond = Round(acquisitionTime.AcquisitionTimeSecond), AcquisitionTimeAdditionThird = Round(acquisitionTime.AcquisitionTimeThird), Weight = Round(acquisitionTime.AcquisitionWeight), AcquisitionTimeAdditionFirstRW = acquisitionTime.AcquisitionTimeFirstRw, AcquisitionTimeAdditionSecondRW = acquisitionTime.AcquisitionTimeSecondRw, AcquisitionTimeAdditionThirdRW = acquisitionTime.AcquisitionTimeThirdRw };
/// <summary> /// Creates the Acquisition TestValue from diffrent input data /// </summary> /// <param name="acquisitionTime">the incontinence pad test value containing the acquisition time data</param> /// <param name="testPerson">the person who did the test</param> /// <param name="prodCode">the diaper production code</param> /// <param name="testValueId">the id of the test value</param> /// <returns></returns> public IncontinencePadAcquisitionTimeTestValue ToAcquisitionTimeTestValue(IncontinencePadTestValue acquisitionTime, String testPerson, String prodCode, Int32 testValueId) { var vm = new IncontinencePadAcquisitionTimeTestValue { IncontinencePadTestInfo = ToTestInfo(testPerson, prodCode, testValueId), AcquisitionTime = ToAcquisitionTime(acquisitionTime), RewetAfterAcquisitionTime = ToRewetAfterAcquisitionTime(acquisitionTime) }; return(vm); }
/// <summary> /// Calculates all values for the incontinence rewet test /// </summary> /// <param name="incontinencePadTestValue">the test value</param> /// <param name="testSheetId">the test sheet id</param> /// <returns></returns> private IncontinencePadTestValue CalculateInkoRetentionValues(IncontinencePadTestValue incontinencePadTestValue, Int32 testSheetId) { var testSheet = TestBll.GetTestSheetInfo(testSheetId); var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); incontinencePadTestValue.RetentionAbsorbtion = incontinencePadTestValue.RetentionWetValue - incontinencePadTestValue.RetentionWeight; incontinencePadTestValue.RetentionEndValue = incontinencePadTestValue.RetentionAfterZentrifuge - incontinencePadTestValue.RetentionWeight; incontinencePadTestValue.RetentionRw = GetRetentionRwType(incontinencePadTestValue.RetentionEndValue, productionOrder); return(incontinencePadTestValue); }
/// <summary> /// Sets the values for the rewet View Model out of the incontinence pad TestValue Model /// </summary> /// <param name="rewet">the incontinence pad Test value with the rewet data</param> /// <returns>The rewet View Model with the data collected from the model</returns> public IncontinencePadRewet ToRewet(IncontinencePadTestValue rewet) { ValidateRequiredItem(rewet.RewetFreeRw, "rewet free rw"); return (new IncontinencePadRewet { WeightDry = Round(rewet.RewetFreeDryValue), WeightWet = Round(rewet.RewetFreeWetValue), WeightDiff = Round(rewet.RewetFreeDifference), RewetRW = rewet.RewetFreeRw }); }
/// <summary> /// Sets the values for the rewet View Model out of the incontinence pad TestValue Model /// </summary> /// <param name="rewet">the incontinence pad Test value with the rewet after acquisition data</param> /// <returns>The rewet after acquisition View Model with the data collected from the model</returns> public IncontinencePadRewet ToRewetAfterAcquisitionTime(IncontinencePadTestValue rewet) { ValidateRequiredItem(rewet.RewetAfterAcquisitionTimeRw, "rewet after acquisition rw"); return (new IncontinencePadRewet { WeightDry = Round(rewet.RewetAfterAcquisitionTimeDryWeight), WeightWet = Round(rewet.RewetAfterAcquisitionTimeWetWeight), WeightDiff = Round(rewet.RewetAfterAcquisitionTimeWeightDifference), RewetRW = rewet.RewetAfterAcquisitionTimeRw }); }
/// <summary> /// Sets the values for the Retention View Model out of the incontinence pad TestValue Model /// </summary> /// <param name="retention">the Incontinence Pad Test value with the retention data</param> /// <returns>The Retention View Model with the data collected from the model</returns> public IncontinencePadRetention ToRetention(IncontinencePadTestValue retention) { ValidateRequiredItem(retention.RetentionRw, "retention rw"); return(new IncontinencePadRetention { RetentionAfterZentrifugeValue = Round(retention.RetentionAfterZentrifuge), RetentionRw = retention.RetentionRw, RetentionWetWeight = Round(retention.RetentionWetValue), RetentionDryWeight = Round(retention.RetentionWeight), AbsorptionDiff = Round(retention.RetentionAbsorbtion), RetentionDiff = Round(retention.RetentionEndValue) }); }
/// <summary> /// Calculates all values for the incontinence acquisition test /// </summary> /// <param name="incontinencePadTestValue">the test value</param> /// <param name="testSheetId">the test sheet id</param> /// <returns></returns> private IncontinencePadTestValue CalculateInkoAquisitionValues(IncontinencePadTestValue incontinencePadTestValue, Int32 testSheetId) { var testSheet = TestBll.GetTestSheetInfo(testSheetId); var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); incontinencePadTestValue.AcquisitionTimeFirstRw = GetMaxRw(incontinencePadTestValue.AcquisitionTimeFirst, productionOrder.Article.MaxHyTec1); incontinencePadTestValue.AcquisitionTimeSecondRw = GetMaxRw(incontinencePadTestValue.AcquisitionTimeSecond, productionOrder.Article.MaxHyTec2); incontinencePadTestValue.AcquisitionTimeThirdRw = GetMaxRw(incontinencePadTestValue.AcquisitionTimeThird, productionOrder.Article.MaxHyTec3); incontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference = incontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight - incontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight; incontinencePadTestValue.RewetAfterAcquisitionTimeRw = GetMaxRw(incontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference, productionOrder.Article.MaxInkoRewetAfterAquisition); return(incontinencePadTestValue); }
private void UpdateInkoRetentionAvg(TestSheet testSheet, TestValue retentionTestAvg) { var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); var tempInko = new IncontinencePadTestValue { RetentionRw = RwType.Ok }; var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && (testValue.IncontinencePadTestValue.TestType == TestTypeIncontinencePad.Retention)) ) { tempInko.RetentionWeight += testValue.IncontinencePadTestValue.RetentionWeight; tempInko.RetentionWetValue += testValue.IncontinencePadTestValue.RetentionWetValue; tempInko.RetentionAfterZentrifuge += testValue.IncontinencePadTestValue.RetentionAfterZentrifuge; tempInko.RetentionAbsorbtion += testValue.IncontinencePadTestValue.RetentionAbsorbtion; tempInko.RetentionEndValue += testValue.IncontinencePadTestValue.RetentionEndValue; if (testValue.IncontinencePadTestValue.RetentionRw == RwType.Worse) { tempInko.RetentionRw = RwType.SomethingWorse; } counter++; } if (counter == 0) { counter = 1; } retentionTestAvg.IncontinencePadTestValue.RetentionWeight = tempInko.RetentionWeight / counter; retentionTestAvg.IncontinencePadTestValue.RetentionWetValue = tempInko.RetentionWetValue / counter; retentionTestAvg.IncontinencePadTestValue.RetentionAfterZentrifuge = tempInko.RetentionAfterZentrifuge / counter; retentionTestAvg.IncontinencePadTestValue.RetentionAbsorbtion = tempInko.RetentionAbsorbtion / counter; retentionTestAvg.IncontinencePadTestValue.RetentionEndValue = tempInko.RetentionEndValue / counter; if ((GetRetentionRwType(retentionTestAvg.IncontinencePadTestValue.RetentionEndValue, productionOrder) == RwType.Worse) && (tempInko.RetentionRw != RwType.Ok)) { tempInko.RetentionRw = RwType.Worse; } retentionTestAvg.IncontinencePadTestValue.RetentionRw = tempInko.RetentionRw; }
private static void UpdateInkoRetentionStDev(TestSheet testSheet, TestValue retentionTestAvg, TestValue retentionTestStDev) { var tempInko = new IncontinencePadTestValue(); var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && (testValue.IncontinencePadTestValue.TestType == TestTypeIncontinencePad.Retention)) ) { tempInko.RetentionWeight += Math.Pow(testValue.IncontinencePadTestValue.RetentionWeight - retentionTestAvg.IncontinencePadTestValue.RetentionWeight, 2); tempInko.RetentionWetValue += Math.Pow(testValue.IncontinencePadTestValue.RetentionWetValue - retentionTestAvg.IncontinencePadTestValue.RetentionWetValue, 2); tempInko.RetentionAfterZentrifuge += Math.Pow(testValue.IncontinencePadTestValue.RetentionAfterZentrifuge - retentionTestAvg.IncontinencePadTestValue.RetentionAfterZentrifuge, 2); tempInko.RetentionAbsorbtion += Math.Pow(testValue.IncontinencePadTestValue.RetentionAbsorbtion - retentionTestAvg.IncontinencePadTestValue.RetentionAbsorbtion, 2); tempInko.RetentionEndValue += Math.Pow(testValue.IncontinencePadTestValue.RetentionEndValue - retentionTestAvg.IncontinencePadTestValue.RetentionEndValue, 2); counter++; } if (counter < 2) { retentionTestStDev.IncontinencePadTestValue.RetentionWeight = 0; retentionTestStDev.IncontinencePadTestValue.RetentionWetValue = 0; retentionTestStDev.IncontinencePadTestValue.RetentionAfterZentrifuge = 0; retentionTestStDev.IncontinencePadTestValue.RetentionAbsorbtion = 0; retentionTestStDev.IncontinencePadTestValue.RetentionEndValue = 0; } else { counter--; retentionTestStDev.IncontinencePadTestValue.RetentionWeight = Math.Sqrt(tempInko.RetentionWeight / counter); retentionTestStDev.IncontinencePadTestValue.RetentionWetValue = Math.Sqrt(tempInko.RetentionWetValue / counter); retentionTestStDev.IncontinencePadTestValue.RetentionAfterZentrifuge = Math.Sqrt(tempInko.RetentionAfterZentrifuge / counter); retentionTestStDev.IncontinencePadTestValue.RetentionAbsorbtion = Math.Sqrt(tempInko.RetentionAbsorbtion / counter); retentionTestStDev.IncontinencePadTestValue.RetentionEndValue = Math.Sqrt(tempInko.RetentionEndValue / counter); } #endregion }
/// <summary> /// Creates an new TestValue from the view model /// </summary> /// <param name="viewModel">the data from the view</param> /// <returns>The created test value</returns> public TestValue SaveNewRewetTest(InkoRewetEditViewModel viewModel) { var testValue = TestServiceHelper.CreateNewTestValue(viewModel.TestSheetId, viewModel.TestPerson, viewModel.ProductionCodeDay, viewModel.Notes); testValue.ArticleTestType = ArticleType.IncontinencePad; var incontinencePadTestValue = new IncontinencePadTestValue { IncontinencePadTime = viewModel.ProductionCodeTime, ExpireMonth = viewModel.ExpireMonth, ExpireYear = viewModel.ExpireYear, RewetFreeDryValue = viewModel.FPDry, RewetFreeWetValue = viewModel.FPWet, TestType = TestTypeIncontinencePad.RewetFree }; incontinencePadTestValue = CalculateInkoRewetValues(incontinencePadTestValue, viewModel.TestSheetId); testValue.IncontinencePadTestValue = incontinencePadTestValue; TestBll.SaveNewTestValue(testValue); return(testValue); }
private void UpdateInkoRewetAvg(TestSheet testSheet, TestValue rewetTestAvg) { var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); var tempInko = new IncontinencePadTestValue { RewetFreeRw = RwType.Ok }; var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && (testValue.IncontinencePadTestValue.TestType == TestTypeIncontinencePad.RewetFree)) ) { tempInko.RewetFreeDryValue += testValue.IncontinencePadTestValue.RewetFreeDryValue; tempInko.RewetFreeWetValue += testValue.IncontinencePadTestValue.RewetFreeWetValue; tempInko.RewetFreeDifference += testValue.IncontinencePadTestValue.RewetFreeDifference; if (testValue.IncontinencePadTestValue.RewetFreeRw == RwType.Worse) { tempInko.RewetFreeRw = RwType.SomethingWorse; } counter++; } if (counter == 0) { counter = 1; } rewetTestAvg.IncontinencePadTestValue.RewetFreeDryValue = tempInko.RewetFreeDryValue / counter; rewetTestAvg.IncontinencePadTestValue.RewetFreeWetValue = tempInko.RewetFreeWetValue / counter; rewetTestAvg.IncontinencePadTestValue.RewetFreeDifference = tempInko.RewetFreeDifference / counter; if (GetRewetFreeRwType(rewetTestAvg.IncontinencePadTestValue.RewetFreeDifference, productionOrder) == RwType.Worse) { tempInko.RewetFreeRw = RwType.Worse; } rewetTestAvg.IncontinencePadTestValue.RewetFreeRw = tempInko.RewetFreeRw; }
/// <summary> /// Creates an new TestValue from the view model /// </summary> /// <param name="viewModel">the data from the view</param> /// <returns>The created test value</returns> public TestValue SaveNewRetentionTest(InkoRetentionEditViewModel viewModel) { var testValue = TestServiceHelper.CreateNewTestValue(viewModel.TestSheetId, viewModel.TestPerson, viewModel.ProductionCodeDay, viewModel.Notes); testValue.ArticleTestType = ArticleType.IncontinencePad; var incontinencePadTestValue = new IncontinencePadTestValue { IncontinencePadTime = viewModel.ProductionCodeTime, ExpireMonth = viewModel.ExpireMonth, ExpireYear = viewModel.ExpireYear, RetentionWeight = viewModel.InkoWeight, RetentionWetValue = viewModel.InkoWeightWet, RetentionAfterZentrifuge = viewModel.InkoWeightAfterZentrifuge, TestType = TestTypeIncontinencePad.Retention }; incontinencePadTestValue = CalculateInkoRetentionValues(incontinencePadTestValue, viewModel.TestSheetId); testValue.IncontinencePadTestValue = incontinencePadTestValue; TestBll.SaveNewTestValue(testValue); return(testValue); }
private void UpdateInkoAquisitionAvg(TestSheet testSheet, TestValue aquisitionTestAvg) { var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); var tempInko = new IncontinencePadTestValue { RewetFreeRw = RwType.Ok }; var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && (testValue.IncontinencePadTestValue.TestType == TestTypeIncontinencePad.AcquisitionTimeAndRewet)) ) { tempInko.AcquisitionTimeFirst += testValue.IncontinencePadTestValue.AcquisitionTimeFirst; tempInko.AcquisitionTimeSecond += testValue.IncontinencePadTestValue.AcquisitionTimeSecond; tempInko.AcquisitionTimeThird += testValue.IncontinencePadTestValue.AcquisitionTimeThird; tempInko.AcquisitionWeight += testValue.IncontinencePadTestValue.AcquisitionWeight; tempInko.RewetAfterAcquisitionTimeDryWeight += testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight; tempInko.RewetAfterAcquisitionTimeWetWeight += testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight; tempInko.RewetAfterAcquisitionTimeWeightDifference += testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference; if (testValue.IncontinencePadTestValue.AcquisitionTimeFirstRw == RwType.Worse) { tempInko.AcquisitionTimeFirstRw = RwType.SomethingWorse; } if (testValue.IncontinencePadTestValue.AcquisitionTimeSecondRw == RwType.Worse) { tempInko.AcquisitionTimeSecondRw = RwType.SomethingWorse; } if (testValue.IncontinencePadTestValue.AcquisitionTimeThirdRw == RwType.Worse) { tempInko.AcquisitionTimeThirdRw = RwType.SomethingWorse; } if (testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeRw == RwType.Worse) { tempInko.RewetAfterAcquisitionTimeRw = RwType.SomethingWorse; } counter++; } if (counter == 0) { counter = 1; } aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeFirst = tempInko.AcquisitionTimeFirst / counter; aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeSecond = tempInko.AcquisitionTimeSecond / counter; aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeThird = tempInko.AcquisitionTimeThird / counter; aquisitionTestAvg.IncontinencePadTestValue.AcquisitionWeight = tempInko.AcquisitionWeight / counter; aquisitionTestAvg.IncontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight = tempInko.RewetAfterAcquisitionTimeDryWeight / counter; aquisitionTestAvg.IncontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight = tempInko.RewetAfterAcquisitionTimeWetWeight / counter; aquisitionTestAvg.IncontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference = tempInko.RewetAfterAcquisitionTimeWeightDifference / counter; if (GetMaxRw(aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeFirst, productionOrder.Article.MaxHyTec1) == RwType.Worse) { tempInko.AcquisitionTimeFirstRw = RwType.Worse; } aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeFirstRw = tempInko.AcquisitionTimeFirstRw; if (GetMaxRw(aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeSecond, productionOrder.Article.MaxHyTec2) == RwType.Worse) { tempInko.AcquisitionTimeSecondRw = RwType.Worse; } aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeSecondRw = tempInko.AcquisitionTimeSecondRw; if (GetMaxRw(aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeThird, productionOrder.Article.MaxHyTec3) == RwType.Worse) { tempInko.AcquisitionTimeThirdRw = RwType.Worse; } aquisitionTestAvg.IncontinencePadTestValue.AcquisitionTimeThirdRw = tempInko.AcquisitionTimeThirdRw; if (GetMaxRw(aquisitionTestAvg.IncontinencePadTestValue.RewetAfterAcquisitionTimeWeightDifference, productionOrder.Article.MaxInkoRewetAfterAquisition) == RwType.Worse) { tempInko.RewetAfterAcquisitionTimeRw = RwType.Worse; } aquisitionTestAvg.IncontinencePadTestValue.RewetAfterAcquisitionTimeRw = tempInko.RewetAfterAcquisitionTimeRw; }