/// <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 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); }
public ActionResult AddNote(InkoAquisitionEditViewModel viewModel) { if (viewModel.Notes.IsNull()) { viewModel.Notes = new List <TestNote>(); } viewModel.Notes.Add(new TestNote()); return(View("Edit", viewModel)); }
/// <summary> /// Saves or updates the InkoAquisitionEditViewModel /// </summary> /// <param name="viewModel">The viewmodel which will be saved or updated</param> /// <returns>The saved or updated TestValue</returns> public TestValue Save(InkoAquisitionEditViewModel viewModel) { TestValue testValue; try { testValue = viewModel.TestValueId <= 0 ? InkoAquisitionServiceHelper.SaveNewAquisitionTest(viewModel) : InkoAquisitionServiceHelper.UpdateAquisitionTest(viewModel); InkoAquisitionServiceHelper.UpdateAquisitionAverageAndStv(viewModel.TestSheetId); } catch (Exception e) { Logger.Error("Update oder Create new Test Value ist fehlgeschlagen: " + e.Message); testValue = null; } return(testValue); }
/// <summary> /// Gets the InkoAquisitionEditViewModel for edit /// </summary> /// <param name="testSheetId">The Id of the test sheet where the Inko rewet test is for</param> /// <returns>The InkoAquisitionEditViewModel</returns> public InkoAquisitionEditViewModel GetNewInkoAquisitionEditViewModel(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 InkoAquisitionEditViewModel { 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> /// Gets a new InkoAquisitionEditViewModel /// </summary> /// <param name="rewetTestId">The Id of the Inko rewet test which will be edited</param> /// <returns>The InkoAquisitionEditViewModel</returns> public InkoAquisitionEditViewModel GetInkoAquisitionEditViewModel(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.AcquisitionTimeAndRewet) { Logger.Error("Requestet test was not an InkoAquisition 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 InkoAquisitionEditViewModel { TestValueId = rewetTestId, TestSheetId = testValue.TestSheetId, TestPerson = testValue.LastEditedPerson, ProductionCode = TestServiceHelper.CreateProductionCode(testSheet), ProductionCodeDay = testValue.DayInYearOfArticleCreation, ProductionCodeTime = incontinencePadTestValue.IncontinencePadTime, ExpireMonth = incontinencePadTestValue.ExpireMonth, ExpireYear = incontinencePadTestValue.ExpireYear, AquisitionAddition1 = incontinencePadTestValue.AcquisitionTimeFirst, AquisitionAddition2 = incontinencePadTestValue.AcquisitionTimeSecond, AquisitionAddition3 = incontinencePadTestValue.AcquisitionTimeThird, InkoWeight = incontinencePadTestValue.AcquisitionWeight, FPDry = incontinencePadTestValue.RewetAfterAcquisitionTimeDryWeight, FPWet = incontinencePadTestValue.RewetAfterAcquisitionTimeWetWeight, Notes = testNotes, NoteCodes = errorCodes }; return(viewModel); }
public ActionResult Save(InkoAquisitionEditViewModel viewModel) { var savedModel = InkoAquisitionService.Save(viewModel); return(RedirectToAction("Edit", "LaborCreatorInko", new { area = "Labor", id = savedModel.TestSheetId })); }