/// <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(BabyDiaperRewetEditViewModel viewModel) { var testValue = TestServiceHelper.CreateNewTestValue(viewModel.TestSheetId, viewModel.TestPerson, viewModel.ProductionCodeDay, viewModel.Notes); testValue.ArticleTestType = ArticleType.BabyDiaper; var babyDiaperTestValue = new BabyDiaperTestValue { DiaperCreatedTime = viewModel.ProductionCodeTime, WeightDiaperDry = viewModel.DiaperWeight, Rewet140Value = viewModel.RewetAfter140, Rewet210Value = viewModel.RewetAfter210, StrikeTroughValue = viewModel.StrikeThrough, DistributionOfTheStrikeTrough = viewModel.Distribution, PenetrationTimeAdditionFirst = viewModel.PenetrationTime1, PenetrationTimeAdditionSecond = viewModel.PenetrationTime2, PenetrationTimeAdditionThird = viewModel.PenetrationTime3, PenetrationTimeAdditionFourth = viewModel.PenetrationTime4, TestType = viewModel.TestType }; if (babyDiaperTestValue.TestType == TestTypeBabyDiaper.Rewet) { babyDiaperTestValue.PenetrationTimeAdditionFirst = 0; babyDiaperTestValue.PenetrationTimeAdditionSecond = 0; babyDiaperTestValue.PenetrationTimeAdditionThird = 0; babyDiaperTestValue.PenetrationTimeAdditionFourth = 0; } babyDiaperTestValue = CalculateBabyDiaperRewetValues(babyDiaperTestValue, viewModel.TestSheetId); testValue.BabyDiaperTestValue = babyDiaperTestValue; TestBll.SaveNewTestValue(testValue); return(testValue); }
/// <summary> /// Gets a new BabyDiaperRetentionEditViewModel /// </summary> /// <param name="retentionTestId">The Id of the Babydiaper retention test which will be edited</param> /// <returns>The BabyDiaperRetentionEditViewModel</returns> public BabyDiaperRetentionEditViewModel GetBabyDiapersRetentionEditViewModel(Int32 retentionTestId) { var testValue = TestBll.GetTestValue(retentionTestId); if (testValue.IsNull()) { Logger.Error("TestValue mit id " + retentionTestId + "existiert nicht in DB!"); return(null); } var babyDiapersTestValue = testValue.BabyDiaperTestValue; if (babyDiapersTestValue.IsNull()) { Logger.Error("BabyDiaperRetentionTestValue mit id " + testValue.TestValueId + "existiert nicht in DB!"); return(null); } if (babyDiapersTestValue.TestType != TestTypeBabyDiaper.Retention) { Logger.Error("Requestet test was not an BabyDiaperRetention Test. Id " + testValue.TestValueId); return(null); } var testSheetInfo = testValue.TestSheet; if (testSheetInfo.IsNull()) { Logger.Error("TestBlatt mit id " + testValue.TestSheetId + "existiert nicht in DB!"); return(null); } var notes = testValue.TestValueNote; var errors = TestBll.GetAllNoteCodes(); var errorCodes = errors.Select(error => new ErrorCode { ErrorId = error.ErrorId, Name = error.ErrorCode + " - " + error.Value }) .ToList(); if (notes.IsNull()) { notes = new List <TestValueNote>(); } var testNotes = notes.Select(note => new TestNote { Id = note.TestValueNoteId, ErrorCodeId = note.ErrorId, Message = note.Message }) .ToList(); var viewModel = new BabyDiaperRetentionEditViewModel { TestValueId = retentionTestId, TestSheetId = testValue.TestSheetId, TestPerson = testValue.LastEditedPerson, ProductionCode = TestServiceHelper.CreateProductionCode(testSheetInfo), ProductionCodeDay = testValue.DayInYearOfArticleCreation, ProductionCodeTime = babyDiapersTestValue.DiaperCreatedTime, DiaperWeight = babyDiapersTestValue.WeightDiaperDry, WeightRetentionWet = babyDiapersTestValue.RetentionWetWeight, Notes = testNotes, NoteCodes = errorCodes }; return(viewModel); }
/// <summary> /// deletes the testvalue /// </summary> /// <param name="testValueId">id of the testvalue</param> /// <returns>The deleted testvalue</returns> public TestValue Delete(Int32 testValueId) { var result = TestBll.DeleteTestValue(testValueId); InkoRetentionServiceHelper.UpdateRetentionAverageAndStv(result.TestSheetId); return(result); }
/// <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); }
/// <summary> /// Updates an given Testvalue from the view model /// </summary> /// <param name="viewModel">the data from the view</param> /// <returns>the updated test value</returns> public TestValue UpdateRetentionTest(InkoRetentionEditViewModel viewModel) { var testValue = TestBll.GetTestValue(viewModel.TestValueId); if (testValue.IsNull() || (testValue.ArticleTestType != ArticleType.IncontinencePad) || (testValue.IncontinencePadTestValue.TestType != TestTypeIncontinencePad.Retention)) { Logger.Error("Old Test not found in DB"); return(null); } testValue.LastEditedDateTime = DateTime.Now; testValue.LastEditedPerson = viewModel.TestPerson; testValue.DayInYearOfArticleCreation = viewModel.ProductionCodeDay; testValue.IncontinencePadTestValue.IncontinencePadTime = viewModel.ProductionCodeTime; testValue.IncontinencePadTestValue.ExpireMonth = viewModel.ExpireMonth; testValue.IncontinencePadTestValue.ExpireYear = viewModel.ExpireYear; testValue.IncontinencePadTestValue.RetentionWeight = viewModel.InkoWeight; testValue.IncontinencePadTestValue.RetentionWetValue = viewModel.InkoWeightWet; testValue.IncontinencePadTestValue.RetentionAfterZentrifuge = viewModel.InkoWeightAfterZentrifuge; testValue.IncontinencePadTestValue.TestType = TestTypeIncontinencePad.Retention; TestServiceHelper.UpdateNotes(viewModel.Notes, testValue); testValue.IncontinencePadTestValue = CalculateInkoRetentionValues(testValue.IncontinencePadTestValue, viewModel.TestSheetId); TestBll.UpdateTestValue(testValue); return(testValue); }
/// <summary> /// deletes the testvalue /// </summary> /// <param name="testValueId">id of the testvalue</param> /// <returns>The deleted testvalue</returns> public TestValue Delete(Int32 testValueId) { var result = TestBll.DeleteTestValue(testValueId); BabyDiaperRewetServiceHelper.UpdateRewetAverageAndStv(result.TestSheetId); return(result); }
/// <summary> /// Updates an given Testvalue from the view model /// </summary> /// <param name="viewModel">the data from the view</param> /// <returns>the updated test value</returns> public TestValue UpdateAquisitionTest(InkoAquisitionEditViewModel viewModel) { var testValue = TestBll.GetTestValue(viewModel.TestValueId); if (testValue.IsNull() || (testValue.ArticleTestType != ArticleType.IncontinencePad) || (testValue.IncontinencePadTestValue.TestType != TestTypeIncontinencePad.AcquisitionTimeAndRewet)) { Logger.Error("Old Test not found in DB"); return(null); } testValue.LastEditedDateTime = DateTime.Now; testValue.LastEditedPerson = viewModel.TestPerson; testValue.DayInYearOfArticleCreation = viewModel.ProductionCodeDay; testValue.IncontinencePadTestValue.IncontinencePadTime = viewModel.ProductionCodeTime; testValue.IncontinencePadTestValue.ExpireMonth = viewModel.ExpireMonth; testValue.IncontinencePadTestValue.ExpireYear = viewModel.ExpireYear; testValue.IncontinencePadTestValue.AcquisitionTimeFirst = viewModel.AquisitionAddition1; testValue.IncontinencePadTestValue.AcquisitionTimeSecond = viewModel.AquisitionAddition2; testValue.IncontinencePadTestValue.AcquisitionTimeThird = viewModel.AquisitionAddition3; testValue.IncontinencePadTestValue.AcquisitionWeight = viewModel.InkoWeight; testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight = viewModel.FPDry; testValue.IncontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight = viewModel.FPWet; testValue.IncontinencePadTestValue.TestType = TestTypeIncontinencePad.AcquisitionTimeAndRewet; TestServiceHelper.UpdateNotes(viewModel.Notes, testValue); testValue.IncontinencePadTestValue = CalculateInkoAquisitionValues(testValue.IncontinencePadTestValue, viewModel.TestSheetId); TestBll.UpdateTestValue(testValue); return(testValue); }
/// <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> /// Calculates all values for the baby diaper rewet test /// </summary> /// <param name="babyDiaperTestValue">the test value</param> /// <param name="testSheetId">the test sheet id</param> /// <returns></returns> private BabyDiaperTestValue CalculateBabyDiaperRewetValues(BabyDiaperTestValue babyDiaperTestValue, Int32 testSheetId) { var testSheet = TestBll.GetTestSheetInfo(testSheetId); var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); babyDiaperTestValue.Rewet140Rw = GetRewet140RwType(babyDiaperTestValue.Rewet140Value, productionOrder); babyDiaperTestValue.Rewet210Rw = GetRewet210RwType(babyDiaperTestValue.Rewet210Value, productionOrder); babyDiaperTestValue.PenetrationRwType = GetPenetrationRwType(babyDiaperTestValue.PenetrationTimeAdditionFourth, productionOrder); return(babyDiaperTestValue); }
/// <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> /// 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); }
/// <summary> /// Updates an given Testvalue from the view model /// </summary> /// <param name="viewModel">the data from the view</param> /// <returns>the updated test value</returns> public TestValue UpdateRewetTest(BabyDiaperRewetEditViewModel viewModel) { var testValue = TestBll.GetTestValue(viewModel.TestValueId); if (testValue.IsNull() || (testValue.ArticleTestType != ArticleType.BabyDiaper) || ((testValue.BabyDiaperTestValue.TestType != TestTypeBabyDiaper.Rewet) && (testValue.BabyDiaperTestValue.TestType != TestTypeBabyDiaper.RewetAndPenetrationTime))) { Logger.Error("Old Test not found in DB"); return(null); } testValue.LastEditedDateTime = DateTime.Now; testValue.LastEditedPerson = viewModel.TestPerson; testValue.DayInYearOfArticleCreation = viewModel.ProductionCodeDay; testValue.BabyDiaperTestValue.DiaperCreatedTime = viewModel.ProductionCodeTime; testValue.BabyDiaperTestValue.WeightDiaperDry = viewModel.DiaperWeight; testValue.BabyDiaperTestValue.Rewet140Value = viewModel.RewetAfter140; testValue.BabyDiaperTestValue.Rewet210Value = viewModel.RewetAfter210; testValue.BabyDiaperTestValue.StrikeTroughValue = viewModel.StrikeThrough; testValue.BabyDiaperTestValue.DistributionOfTheStrikeTrough = viewModel.Distribution; if (viewModel.TestType == TestTypeBabyDiaper.RewetAndPenetrationTime) { testValue.BabyDiaperTestValue.PenetrationTimeAdditionFirst = viewModel.PenetrationTime1; testValue.BabyDiaperTestValue.PenetrationTimeAdditionSecond = viewModel.PenetrationTime2; testValue.BabyDiaperTestValue.PenetrationTimeAdditionThird = viewModel.PenetrationTime3; testValue.BabyDiaperTestValue.PenetrationTimeAdditionFourth = viewModel.PenetrationTime4; } else { testValue.BabyDiaperTestValue.PenetrationTimeAdditionFirst = 0; testValue.BabyDiaperTestValue.PenetrationTimeAdditionSecond = 0; testValue.BabyDiaperTestValue.PenetrationTimeAdditionThird = 0; testValue.BabyDiaperTestValue.PenetrationTimeAdditionFourth = 0; } testValue.BabyDiaperTestValue.TestType = viewModel.TestType; TestServiceHelper.UpdateNotes(viewModel.Notes, testValue); testValue.BabyDiaperTestValue = CalculateBabyDiaperRewetValues(testValue.BabyDiaperTestValue, viewModel.TestSheetId); TestBll.UpdateTestValue(testValue); return(testValue); }
/// <summary> /// Updates the Average and standard deviation values of the testsheet for retention values /// </summary> /// <param name="testSheetId">id of the test sheet</param> /// <returns>the updated test sheet</returns> public TestSheet UpdateRetentionAverageAndStv(Int32 testSheetId) { var testSheet = TestBll.GetTestSheetInfo(testSheetId); var retentionTestAvg = testSheet.TestValues.FirstOrDefault( tv => (tv.ArticleTestType == ArticleType.BabyDiaper) && (tv.BabyDiaperTestValue.TestType == TestTypeBabyDiaper.Retention) && (tv.TestValueType == TestValueType.Average)); var retentionTestStDev = testSheet.TestValues.FirstOrDefault( tv => (tv.ArticleTestType == ArticleType.BabyDiaper) && (tv.BabyDiaperTestValue.TestType == TestTypeBabyDiaper.Retention) && (tv.TestValueType == TestValueType.StandardDeviation)); UpdateRetentionAvg(testSheet, retentionTestAvg); UpdateRetentionStDev(testSheet, retentionTestAvg, retentionTestStDev); TestBll.UpdateTestSheet(); return(testSheet); }
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; }
/// <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(BabyDiaperRetentionEditViewModel viewModel) { var testValue = TestServiceHelper.CreateNewTestValue(viewModel.TestSheetId, viewModel.TestPerson, viewModel.ProductionCodeDay, viewModel.Notes); testValue.ArticleTestType = ArticleType.BabyDiaper; var babyDiaperTestValue = new BabyDiaperTestValue { DiaperCreatedTime = viewModel.ProductionCodeTime, WeightDiaperDry = viewModel.DiaperWeight, RetentionWetWeight = viewModel.WeightRetentionWet, TestType = TestTypeBabyDiaper.Retention }; babyDiaperTestValue = CalculateBabyDiaperRetentionValues(babyDiaperTestValue, viewModel.TestSheetId); testValue.BabyDiaperTestValue = babyDiaperTestValue; testValue = TestBll.SaveNewTestValue(testValue); return(testValue); }
private void UpdateRetentionAvg(TestSheet testSheet, TestValue retentionTestAvg) { var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); var tempBabyDiaper = new BabyDiaperTestValue { RetentionRw = RwType.Ok }; var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && (testValue.BabyDiaperTestValue.TestType == TestTypeBabyDiaper.Retention)) ) { tempBabyDiaper.WeightDiaperDry += testValue.BabyDiaperTestValue.WeightDiaperDry; tempBabyDiaper.RetentionWetWeight += testValue.BabyDiaperTestValue.RetentionWetWeight; tempBabyDiaper.RetentionAfterZentrifugeValue += testValue.BabyDiaperTestValue.RetentionAfterZentrifugeValue; tempBabyDiaper.RetentionAfterZentrifugePercent += testValue.BabyDiaperTestValue.RetentionAfterZentrifugePercent; if (testValue.BabyDiaperTestValue.RetentionRw == RwType.Worse) { tempBabyDiaper.RetentionRw = RwType.SomethingWorse; } tempBabyDiaper.SapGHoewiValue += testValue.BabyDiaperTestValue.SapGHoewiValue; counter++; } if (counter == 0) { counter = 1; } retentionTestAvg.BabyDiaperTestValue.WeightDiaperDry = tempBabyDiaper.WeightDiaperDry / counter; retentionTestAvg.BabyDiaperTestValue.RetentionWetWeight = tempBabyDiaper.RetentionWetWeight / counter; retentionTestAvg.BabyDiaperTestValue.RetentionAfterZentrifugeValue = tempBabyDiaper.RetentionAfterZentrifugeValue / counter; retentionTestAvg.BabyDiaperTestValue.RetentionAfterZentrifugePercent = tempBabyDiaper.RetentionAfterZentrifugePercent / counter; if ((GetRetentionRwType(retentionTestAvg.BabyDiaperTestValue.RetentionAfterZentrifugeValue, productionOrder) == RwType.Worse) && (tempBabyDiaper.RetentionRw != RwType.Ok)) { tempBabyDiaper.RetentionRw = RwType.Worse; } retentionTestAvg.BabyDiaperTestValue.RetentionRw = tempBabyDiaper.RetentionRw; retentionTestAvg.BabyDiaperTestValue.SapGHoewiValue = tempBabyDiaper.SapGHoewiValue / counter; }
private void UpdatePenetrationAvg(TestSheet testSheet, TestValue penetrationTestAvg) { var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); var tempBabyDiaper = new BabyDiaperTestValue { PenetrationRwType = RwType.Ok }; var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && (testValue.BabyDiaperTestValue.TestType == TestTypeBabyDiaper.RewetAndPenetrationTime)) ) { tempBabyDiaper.WeightDiaperDry += testValue.BabyDiaperTestValue.WeightDiaperDry; tempBabyDiaper.PenetrationTimeAdditionFirst += testValue.BabyDiaperTestValue.PenetrationTimeAdditionFirst; tempBabyDiaper.PenetrationTimeAdditionSecond += testValue.BabyDiaperTestValue.PenetrationTimeAdditionSecond; tempBabyDiaper.PenetrationTimeAdditionThird += testValue.BabyDiaperTestValue.PenetrationTimeAdditionThird; tempBabyDiaper.PenetrationTimeAdditionFourth += testValue.BabyDiaperTestValue.PenetrationTimeAdditionFourth; if (testValue.BabyDiaperTestValue.PenetrationRwType == RwType.Worse) { tempBabyDiaper.PenetrationRwType = RwType.SomethingWorse; } counter++; } if (counter == 0) { counter = 1; } penetrationTestAvg.BabyDiaperTestValue.WeightDiaperDry = tempBabyDiaper.WeightDiaperDry / counter; penetrationTestAvg.BabyDiaperTestValue.PenetrationTimeAdditionFirst = tempBabyDiaper.PenetrationTimeAdditionFirst / counter; penetrationTestAvg.BabyDiaperTestValue.PenetrationTimeAdditionSecond = tempBabyDiaper.PenetrationTimeAdditionSecond / counter; penetrationTestAvg.BabyDiaperTestValue.PenetrationTimeAdditionThird = tempBabyDiaper.PenetrationTimeAdditionThird / counter; penetrationTestAvg.BabyDiaperTestValue.PenetrationTimeAdditionFourth = tempBabyDiaper.PenetrationTimeAdditionFourth / counter; if (GetPenetrationRwType(penetrationTestAvg.BabyDiaperTestValue.PenetrationTimeAdditionFourth, productionOrder) == RwType.Worse) { tempBabyDiaper.PenetrationRwType = RwType.Worse; } penetrationTestAvg.BabyDiaperTestValue.PenetrationRwType = tempBabyDiaper.PenetrationRwType; }
/// <summary> /// Gets the InkoRetentionEditViewModel for edit /// </summary> /// <param name="testSheetId">The Id of the test sheet where the Inko rewet test is for</param> /// <returns>The InkoRewetEditViewModel</returns> public InkoRetentionEditViewModel GetNewInkoRetentionEditViewModel(Int32 testSheetId) { var testSheet = TestBll.GetTestSheetInfo(testSheetId); if (testSheet.IsNull() || (testSheet.ArticleType != ArticleType.IncontinencePad)) { Logger.Error("TestBlatt mit id " + testSheetId + "existiert nicht in DB!"); return(null); } var errors = TestBll.GetAllNoteCodes(); var errorCodes = errors.Select(error => new ErrorCode { ErrorId = error.ErrorId, Name = error.ErrorCode + " - " + error.Value }) .ToList(); var viewModel = new InkoRetentionEditViewModel { TestSheetId = testSheetId, TestValueId = -1, ProductionCode = TestServiceHelper.CreateProductionCode(testSheet), NoteCodes = errorCodes, Notes = new List <TestNote>() }; var oldTestValue = testSheet.TestValues.Where(t => t.TestValueType == TestValueType.Single) .ToList() .LastOrDefault(); if (oldTestValue == null) { return(viewModel); } viewModel.TestPerson = oldTestValue.LastEditedPerson; viewModel.ProductionCodeDay = oldTestValue.DayInYearOfArticleCreation; viewModel.ProductionCodeTime = oldTestValue.IncontinencePadTestValue.IncontinencePadTime; viewModel.ExpireMonth = oldTestValue.IncontinencePadTestValue.ExpireMonth; viewModel.ExpireYear = oldTestValue.IncontinencePadTestValue.ExpireYear; return(viewModel); }
/// <summary> /// Calculates all values for the baby diaper retention test /// </summary> /// <param name="babyDiaperTestValue">the test value</param> /// <param name="testSheetId">the test sheet id</param> /// <returns></returns> private BabyDiaperTestValue CalculateBabyDiaperRetentionValues(BabyDiaperTestValue babyDiaperTestValue, Int32 testSheetId) { var testSheet = TestBll.GetTestSheetInfo(testSheetId); var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); babyDiaperTestValue.RetentionAfterZentrifugeValue = babyDiaperTestValue.RetentionWetWeight - babyDiaperTestValue.WeightDiaperDry; if (Math.Abs(babyDiaperTestValue.WeightDiaperDry) > 0.1) { babyDiaperTestValue.RetentionAfterZentrifugePercent = (babyDiaperTestValue.RetentionWetWeight - babyDiaperTestValue.WeightDiaperDry) * 100.0 / babyDiaperTestValue.WeightDiaperDry; } babyDiaperTestValue.RetentionRw = GetRetentionRwType(babyDiaperTestValue.RetentionAfterZentrifugeValue, productionOrder); babyDiaperTestValue.SapType = testSheet.SAPType; babyDiaperTestValue.SapNr = testSheet.SAPNr; babyDiaperTestValue.SapGHoewiValue = (babyDiaperTestValue.RetentionWetWeight - babyDiaperTestValue.WeightDiaperDry - productionOrder.Component.PillowRetentWithoutSAP) / productionOrder.Component.SAP; return(babyDiaperTestValue); }
/// <summary> /// Updates the Average and standard deviation values of the testsheet for retention values /// </summary> /// <param name="testSheetId">id of the test sheet</param> /// <returns>the updated test sheet</returns> public TestSheet UpdateRetentionAverageAndStv(Int32 testSheetId) { var testSheet = TestBll.GetTestSheetInfo(testSheetId); var inkoRetentionTestAvg = testSheet.TestValues.FirstOrDefault( tv => (tv.ArticleTestType == ArticleType.IncontinencePad) && (tv.IncontinencePadTestValue.TestType == TestTypeIncontinencePad.Retention) && (tv.TestValueType == TestValueType.Average)); var inkoRetentionTestStDev = testSheet.TestValues.FirstOrDefault( tv => (tv.ArticleTestType == ArticleType.IncontinencePad) && (tv.IncontinencePadTestValue.TestType == TestTypeIncontinencePad.Retention) && (tv.TestValueType == TestValueType.StandardDeviation)); UpdateInkoRetentionAvg(testSheet, inkoRetentionTestAvg); UpdateInkoRetentionStDev(testSheet, inkoRetentionTestAvg, inkoRetentionTestStDev); TestBll.UpdateTestSheet(); return(testSheet); }
/// <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> /// Gets the BabyDiaperRewetEditViewModel for edit /// </summary> /// <param name="testSheetId">The Id of the test sheet where the Babydiaper rewet test is for</param> /// <returns>The BabyDiaperRewetEditViewModel</returns> public BabyDiaperRewetEditViewModel GetNewBabyDiaperRewetEditViewModel(Int32 testSheetId) { var testSheetInfo = TestBll.GetTestSheetInfo(testSheetId); if (testSheetInfo.IsNull()) { Logger.Error("TestBlatt mit id " + testSheetId + "existiert nicht in DB!"); return(null); } var errors = TestBll.GetAllNoteCodes(); var errorCodes = errors.Select(error => new ErrorCode { ErrorId = error.ErrorId, Name = error.ErrorCode + " - " + error.Value }) .ToList(); var viewModel = new BabyDiaperRewetEditViewModel { TestSheetId = testSheetId, TestValueId = -1, ProductionCode = TestServiceHelper.CreateProductionCode(testSheetInfo), NoteCodes = errorCodes, Notes = new List <TestNote>() }; var oldTestValue = testSheetInfo.TestValues.Where(t => t.TestValueType == TestValueType.Single) .ToList() .LastOrDefault(); if (oldTestValue == null) { return(viewModel); } viewModel.TestPerson = oldTestValue.LastEditedPerson; viewModel.ProductionCodeDay = oldTestValue.DayInYearOfArticleCreation; viewModel.ProductionCodeTime = oldTestValue.BabyDiaperTestValue.DiaperCreatedTime; return(viewModel); }
/// <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); }
/// <summary> /// Updates an given Testvalue from the view model /// </summary> /// <param name="viewModel">the data from the view</param> /// <returns>the updated test value</returns> public TestValue UpdateRetentionTest(BabyDiaperRetentionEditViewModel viewModel) { var testValue = TestBll.GetTestValue(viewModel.TestValueId); if (testValue.IsNull() || (testValue.ArticleTestType != ArticleType.BabyDiaper) || (testValue.BabyDiaperTestValue.TestType != TestTypeBabyDiaper.Retention)) { Logger.Error("Old Test not found in DB"); return(null); } testValue.LastEditedDateTime = DateTime.Now; testValue.LastEditedPerson = viewModel.TestPerson; testValue.DayInYearOfArticleCreation = viewModel.ProductionCodeDay; testValue.BabyDiaperTestValue.DiaperCreatedTime = viewModel.ProductionCodeTime; testValue.BabyDiaperTestValue.WeightDiaperDry = viewModel.DiaperWeight; testValue.BabyDiaperTestValue.RetentionWetWeight = viewModel.WeightRetentionWet; TestServiceHelper.UpdateNotes(viewModel.Notes, testValue); testValue.BabyDiaperTestValue = CalculateBabyDiaperRetentionValues(testValue.BabyDiaperTestValue, viewModel.TestSheetId); TestBll.UpdateTestValue(testValue); return(testValue); }
/// <summary> /// Gets a new InkoRetentionEditViewModel /// </summary> /// <param name="rewetTestId">The Id of the Inko rewet test which will be edited</param> /// <returns>The InkoRewetEditViewModel</returns> public InkoRetentionEditViewModel GetInkoRetentionEditViewModel(Int32 rewetTestId) { var testValue = TestBll.GetTestValue(rewetTestId); if (testValue.IsNull()) { Logger.Error("TestValue mit id " + rewetTestId + "existiert nicht in DB!"); return(null); } var incontinencePadTestValue = testValue.IncontinencePadTestValue; if (incontinencePadTestValue.IsNull()) { Logger.Error("IncontinencePadTestValue mit id " + testValue.TestValueId + "existiert nicht in DB!"); return(null); } if (incontinencePadTestValue.TestType != TestTypeIncontinencePad.Retention) { Logger.Error("Requestet test was not an InkoRewet Test. Id " + testValue.TestValueId); return(null); } var testSheet = testValue.TestSheet; if (testSheet.IsNull()) { Logger.Error("TestBlatt mit id " + testValue.TestSheetId + "existiert nicht in DB!"); return(null); } var notes = testValue.TestValueNote; var errors = TestBll.GetAllNoteCodes(); var errorCodes = errors.Select(error => new ErrorCode { ErrorId = error.ErrorId, Name = error.ErrorCode + " - " + error.Value }) .ToList(); if (notes.IsNull()) { notes = new List <TestValueNote>(); } var testNotes = notes.Select(note => new TestNote { Id = note.TestValueNoteId, ErrorCodeId = note.ErrorId, Message = note.Message }) .ToList(); var viewModel = new InkoRetentionEditViewModel { TestValueId = rewetTestId, TestSheetId = testValue.TestSheetId, TestPerson = testValue.LastEditedPerson, ProductionCode = TestServiceHelper.CreateProductionCode(testSheet), ProductionCodeDay = testValue.DayInYearOfArticleCreation, ProductionCodeTime = incontinencePadTestValue.IncontinencePadTime, ExpireMonth = incontinencePadTestValue.ExpireMonth, ExpireYear = incontinencePadTestValue.ExpireYear, InkoWeight = incontinencePadTestValue.RetentionWeight, InkoWeightWet = incontinencePadTestValue.RetentionWetValue, InkoWeightAfterZentrifuge = incontinencePadTestValue.RetentionAfterZentrifuge, Notes = testNotes, NoteCodes = errorCodes }; return(viewModel); }
private void UpdateRewetAvg(TestSheet testSheet, TestValue rewetTestAvg) { var productionOrder = TestBll.GetProductionOrder(testSheet.FaNr); var tempBabyDiaper = new BabyDiaperTestValue { Rewet140Rw = RwType.Ok, Rewet210Rw = RwType.Ok }; var counter = 0; foreach ( var testValue in testSheet.TestValues.Where( testValue => (testValue.TestValueType == TestValueType.Single) && ((testValue.BabyDiaperTestValue.TestType == TestTypeBabyDiaper.Rewet) || (testValue.BabyDiaperTestValue.TestType == TestTypeBabyDiaper.RewetAndPenetrationTime))) ) { tempBabyDiaper.WeightDiaperDry += testValue.BabyDiaperTestValue.WeightDiaperDry; tempBabyDiaper.Rewet140Value += testValue.BabyDiaperTestValue.Rewet140Value; tempBabyDiaper.Rewet210Value += testValue.BabyDiaperTestValue.Rewet210Value; tempBabyDiaper.StrikeTroughValue += testValue.BabyDiaperTestValue.StrikeTroughValue; tempBabyDiaper.DistributionOfTheStrikeTrough += testValue.BabyDiaperTestValue.DistributionOfTheStrikeTrough; if (testValue.BabyDiaperTestValue.Rewet140Rw == RwType.Worse) { tempBabyDiaper.Rewet140Rw = RwType.SomethingWorse; } if (testValue.BabyDiaperTestValue.Rewet210Rw == RwType.Worse) { tempBabyDiaper.Rewet210Rw = RwType.SomethingWorse; } if (testValue.BabyDiaperTestValue.PenetrationRwType == RwType.Worse) { tempBabyDiaper.PenetrationRwType = RwType.SomethingWorse; } counter++; } if (counter == 0) { counter = 1; } rewetTestAvg.BabyDiaperTestValue.WeightDiaperDry = tempBabyDiaper.WeightDiaperDry / counter; rewetTestAvg.BabyDiaperTestValue.Rewet140Value = tempBabyDiaper.Rewet140Value / counter; rewetTestAvg.BabyDiaperTestValue.Rewet210Value = tempBabyDiaper.Rewet210Value / counter; rewetTestAvg.BabyDiaperTestValue.StrikeTroughValue = tempBabyDiaper.StrikeTroughValue / counter; rewetTestAvg.BabyDiaperTestValue.DistributionOfTheStrikeTrough = tempBabyDiaper.DistributionOfTheStrikeTrough / counter; if (GetRewet140RwType(rewetTestAvg.BabyDiaperTestValue.Rewet140Value, productionOrder) == RwType.Worse) { tempBabyDiaper.Rewet140Rw = RwType.Worse; } if (GetRewet210RwType(rewetTestAvg.BabyDiaperTestValue.Rewet210Value, productionOrder) == RwType.Worse) { tempBabyDiaper.Rewet210Rw = RwType.Worse; } if (GetPenetrationRwType(rewetTestAvg.BabyDiaperTestValue.PenetrationTimeAdditionFourth, productionOrder) == RwType.Worse) { tempBabyDiaper.PenetrationRwType = RwType.Worse; } rewetTestAvg.BabyDiaperTestValue.Rewet140Rw = tempBabyDiaper.Rewet140Rw; rewetTestAvg.BabyDiaperTestValue.Rewet210Rw = tempBabyDiaper.Rewet210Rw; rewetTestAvg.BabyDiaperTestValue.PenetrationRwType = tempBabyDiaper.PenetrationRwType; }
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; }
/// <summary> /// Gets a new BabyDiaperRewetEditViewModel or returns null if something is wrong /// </summary> /// <param name="rewetTestId">The Id of the Babydiaper rewet test which will be edited</param> /// <returns>The BabyDiaperRewetEditViewModel</returns> public BabyDiaperRewetEditViewModel GetBabyDiaperRewetEditViewModel(Int32 rewetTestId) { var testValue = TestBll.GetTestValue(rewetTestId); if (testValue.IsNull()) { Logger.Error("TestValue mit id " + rewetTestId + "existiert nicht in DB!"); return(null); } var babyDiapersTestValue = testValue.BabyDiaperTestValue; if (babyDiapersTestValue.IsNull()) { Logger.Error("BabyDiaperRetentionTestValue mit id " + testValue.TestValueId + "existiert nicht in DB!"); return(null); } if ((babyDiapersTestValue.TestType != TestTypeBabyDiaper.Rewet) && (babyDiapersTestValue.TestType != TestTypeBabyDiaper.RewetAndPenetrationTime)) { Logger.Error("Requestet test was not an BabyDiaperRetention Test. Id " + testValue.TestValueId); return(null); } var testSheetInfo = testValue.TestSheet; if (testSheetInfo.IsNull()) { Logger.Error("TestBlatt mit id " + testValue.TestSheetId + "existiert nicht in DB!"); return(null); } var notes = testValue.TestValueNote; var errors = TestBll.GetAllNoteCodes(); var errorCodes = errors.Select(error => new ErrorCode { ErrorId = error.ErrorId, Name = error.ErrorCode + " - " + error.Value }) .ToList(); if (notes.IsNull()) { notes = new List <TestValueNote>(); } var testNotes = notes.Select(note => new TestNote { Id = note.TestValueNoteId, ErrorCodeId = note.ErrorId, Message = note.Message }) .ToList(); var viewModel = new BabyDiaperRewetEditViewModel { TestValueId = rewetTestId, TestSheetId = testValue.TestSheetId, TestPerson = testValue.LastEditedPerson, ProductionCode = TestServiceHelper.CreateProductionCode(testSheetInfo), ProductionCodeDay = testValue.DayInYearOfArticleCreation, ProductionCodeTime = babyDiapersTestValue.DiaperCreatedTime, DiaperWeight = babyDiapersTestValue.WeightDiaperDry, RewetAfter140 = babyDiapersTestValue.Rewet140Value, RewetAfter210 = babyDiapersTestValue.Rewet210Value, StrikeThrough = babyDiapersTestValue.StrikeTroughValue, Distribution = babyDiapersTestValue.DistributionOfTheStrikeTrough, PenetrationTime1 = babyDiapersTestValue.PenetrationTimeAdditionFirst, PenetrationTime2 = babyDiapersTestValue.PenetrationTimeAdditionSecond, PenetrationTime3 = babyDiapersTestValue.PenetrationTimeAdditionThird, PenetrationTime4 = babyDiapersTestValue.PenetrationTimeAdditionFourth, TestType = babyDiapersTestValue.TestType, Notes = testNotes, NoteCodes = errorCodes }; return(viewModel); }