/// <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); }
public ActionResult AddNote(BabyDiaperRetentionEditViewModel viewModel) { if (viewModel.Notes.IsNull()) { viewModel.Notes = new List <TestNote>(); } viewModel.Notes.Add(new TestNote()); return(View("Edit", viewModel)); }
public void AddNoteTest2() { var viewModel = new BabyDiaperRetentionEditViewModel(); var controller = new BabyDiaperRetentionController(new NLogLoggerFactory()); var result = controller.AddNote(viewModel) as ViewResult; var newViewModel = (BabyDiaperRetentionEditViewModel)result?.ViewData.Model; Assert.NotNull(newViewModel); Assert.Equal(1, newViewModel.Notes.Count); }
public void SaveNewRetentionTestCalculationTest() { var viewModel = new BabyDiaperRetentionEditViewModel { TestPerson = "Hans", TestValueId = -1, TestSheetId = 1, ProductionCodeTime = new TimeSpan(12, 34, 0), ProductionCodeDay = 123, DiaperWeight = 30.1, WeightRetentionWet = 399.8, Notes = new List <TestNote> { new TestNote { ErrorCodeId = 1, Id = 1, Message = "Testnote" } } }; var testValueReturnedFromHelper = new TestValue { TestSheetId = 1, CreatedDateTime = new DateTime(2016, 1, 2), LastEditedDateTime = new DateTime(2016, 1, 2), CreatedPerson = "Hans", LastEditedPerson = "Hans", DayInYearOfArticleCreation = 123, ArticleTestType = ArticleType.BabyDiaper, TestValueNote = new List <TestValueNote> { new TestValueNote { ErrorId = 1, Message = "Testnote" } } }; var testSheetDataFromDb = GetTestSheetTestData(); var productionOrderDataFromDb = GetProductionOrderTestData(); var babyDiaperRetentionBll = MockHelperBll.GetTestBllForSavingAndUpdating(testSheetDataFromDb, productionOrderDataFromDb, null); var babyDiaperServiceHelper = MockHelperTestServiceHelper.GetTestServiceHelperCreateNewTestValue(testValueReturnedFromHelper); var target = new BabyDiaperRetentionServiceHelper(new NLogLoggerFactory()) { TestBll = babyDiaperRetentionBll, TestServiceHelper = babyDiaperServiceHelper }; var actual = target.SaveNewRetentionTest(viewModel); Assert.Equal(369.7, actual.BabyDiaperTestValue.RetentionAfterZentrifugeValue); Assert.Equal(1228.2392026578073, actual.BabyDiaperTestValue.RetentionAfterZentrifugePercent, 2); Assert.Equal("EKX", actual.BabyDiaperTestValue.SapType); Assert.Equal("EN67", actual.BabyDiaperTestValue.SapNr); Assert.Equal(10.351681957186543, actual.BabyDiaperTestValue.SapGHoewiValue, 2); }
public void CreateReturnsCorrectViewTest() { var viewModel = new BabyDiaperRetentionEditViewModel { TestValueId = -1, TestSheetId = 5 }; var babyDiaperRetentionService = MockHelperLaborControllerService.GetBabyDiaperRetentionService(viewModel); var controller = new BabyDiaperRetentionController(new NLogLoggerFactory()) { BabyDiaperRetentionService = babyDiaperRetentionService }; var result = controller.Create(5) as ViewResult; Assert.Equal("Edit", result?.ViewName); }
public void EditTest() { var viewModel = new BabyDiaperRetentionEditViewModel { TestValueId = -1, TestSheetId = 5 }; var babyDiaperRetentionService = MockHelperLaborControllerService.GetBabyDiaperRetentionService(viewModel); var controller = new BabyDiaperRetentionController(new NLogLoggerFactory()) { BabyDiaperRetentionService = babyDiaperRetentionService }; var result = controller.Edit(5) as ViewResult; var newViewModel = (BabyDiaperRetentionEditViewModel)result?.ViewData.Model; Assert.Equal(viewModel, newViewModel); }
/// <summary> /// Saves or updates the BabyDiaperRetentionEditViewModel /// </summary> /// <param name="viewModel">The viewmodel which will be saved or updated</param> /// <returns>The saved or updated BabyDiaperRetentionEditViewModel</returns> public TestValue Save(BabyDiaperRetentionEditViewModel viewModel) { TestValue testValue; try { testValue = viewModel.TestValueId <= 0 ? BabyDiaperRetentionServiceHelper.SaveNewRetentionTest(viewModel) : BabyDiaperRetentionServiceHelper.UpdateRetentionTest(viewModel); BabyDiaperRetentionServiceHelper.UpdateRetentionAverageAndStv(viewModel.TestSheetId); } catch (Exception e) { Logger.Error("Update oder Create new Test Value ist fehlgeschlagen: " + e.Message); testValue = null; } return(testValue); }
/// <summary> /// The Mock for the IBabyDiaperRetentionService /// </summary> public static IBabyDiaperRetentionService GetBabyDiaperRetentionService(BabyDiaperRetentionEditViewModel viewModel) { var mock = new Mock <IBabyDiaperRetentionService> { Name = "MockHelperService.GetBabyDiaperRetentionService", DefaultValue = DefaultValue.Mock }; mock.Setup(s => s.GetNewBabyDiapersRetentionEditViewModel(0)) .Returns((BabyDiaperRetentionEditViewModel)null); mock.Setup(s => s.GetNewBabyDiapersRetentionEditViewModel(It.Is <Int32>(x => x > 0))) .Returns(viewModel); mock.Setup(s => s.GetBabyDiapersRetentionEditViewModel(0)) .Returns((BabyDiaperRetentionEditViewModel)null); mock.Setup(s => s.GetBabyDiapersRetentionEditViewModel(It.Is <Int32>(x => x > 0))) .Returns(viewModel); return(mock.Object); }
/// <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); }
/// <summary> /// Gets the BabyDiaperRetentionEditViewModel for edit /// </summary> /// <param name="testSheetId">The Id of the test sheet where the Babydiaper retention test is for</param> /// <returns>The BabyDiaperRetentionEditViewModel</returns> public BabyDiaperRetentionEditViewModel GetNewBabyDiapersRetentionEditViewModel(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 BabyDiaperRetentionEditViewModel { 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> /// 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); }
public void UpdateRetentionTestBaseTest() { var viewModel = new BabyDiaperRetentionEditViewModel { TestPerson = "Hans", TestValueId = 2, TestSheetId = 1, ProductionCodeTime = new TimeSpan(12, 34, 0), ProductionCodeDay = 123, DiaperWeight = 30.1, WeightRetentionWet = 399.8, Notes = new List <TestNote> { new TestNote { ErrorCodeId = 1, Id = 1, Message = "Testnote" } } }; var testValueReturnedFromDb = new TestValue { TestSheetId = 1, TestValueId = 2, CreatedDateTime = new DateTime(2016, 1, 2), LastEditedDateTime = new DateTime(2016, 1, 2), CreatedPerson = "Fritz", LastEditedPerson = "Fritz", DayInYearOfArticleCreation = 123, ArticleTestType = ArticleType.BabyDiaper, TestValueNote = new List <TestValueNote> { new TestValueNote { ErrorId = 1, Message = "Testnote" } }, BabyDiaperTestValue = new BabyDiaperTestValue { DiaperCreatedTime = new TimeSpan(11, 11, 0), WeightDiaperDry = 15, RetentionWetWeight = 2, TestType = TestTypeBabyDiaper.Retention } }; var testSheetDataFromDb = GetTestSheetTestData(); var productionOrderDataFromDb = GetProductionOrderTestData(); var testBll = MockHelperBll.GetTestBllForSavingAndUpdating(testSheetDataFromDb, productionOrderDataFromDb, testValueReturnedFromDb); var testServiceHelper = MockHelperTestServiceHelper.GetTestServiceHelperForUpdating(); var target = new BabyDiaperRetentionServiceHelper(new NLogLoggerFactory()) { TestBll = testBll, TestServiceHelper = testServiceHelper }; var actual = target.UpdateRetentionTest(viewModel); Assert.Equal(testValueReturnedFromDb, actual); Assert.Equal(30.1, actual.BabyDiaperTestValue.WeightDiaperDry); Assert.Equal(399.8, actual.BabyDiaperTestValue.RetentionWetWeight); Assert.Equal("Hans", actual.LastEditedPerson); Assert.Equal("Fritz", actual.CreatedPerson); Assert.NotEqual(new DateTime(2016, 1, 2), actual.LastEditedDateTime); }
public ActionResult Save(BabyDiaperRetentionEditViewModel viewModel) { var savedModel = BabyDiaperRetentionService.Save(viewModel); return(RedirectToAction("Edit", "LaborCreatorBaby", new { area = "Labor", id = savedModel.TestSheetId })); }