Ejemplo n.º 1
0
        /// <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);
        }
        public void SaveNewRewetTestCalculationRwWorseTest()
        {
            var viewModel = new BabyDiaperRewetEditViewModel
            {
                TestPerson         = "Hans",
                TestValueId        = -1,
                TestSheetId        = 1,
                ProductionCodeTime = new TimeSpan(12, 34, 0),
                ProductionCodeDay  = 123,
                DiaperWeight       = 30.1,
                RewetAfter140      = 0.5,
                RewetAfter210      = 0.6,
                StrikeThrough      = 0.3,
                Distribution       = 250,
                PenetrationTime1   = 1,
                PenetrationTime2   = 2,
                PenetrationTime3   = 3,
                PenetrationTime4   = 260,
                TestType           = TestTypeBabyDiaper.RewetAndPenetrationTime,
                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 BabyDiaperRewetServiceHelper(new NLogLoggerFactory())
            {
                TestBll           = babyDiaperRetentionBll,
                TestServiceHelper = babyDiaperServiceHelper
            };

            var actual = target.SaveNewRewetTest(viewModel);

            Assert.Equal(RwType.Worse, actual.BabyDiaperTestValue.Rewet140Rw);
            Assert.Equal(RwType.Worse, actual.BabyDiaperTestValue.Rewet140Rw);
            Assert.Equal(RwType.Worse, actual.BabyDiaperTestValue.PenetrationRwType);
        }
Ejemplo n.º 3
0
 public ActionResult AddNote(BabyDiaperRewetEditViewModel 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 BabyDiaperRewetEditViewModel();
            var controller   = new BabyDiaperRewetController(new NLogLoggerFactory());
            var result       = controller.AddNote(viewModel) as ViewResult;
            var newViewModel = (BabyDiaperRewetEditViewModel)result?.ViewData.Model;

            Assert.NotNull(newViewModel);
            Assert.Equal(1, newViewModel.Notes.Count);
        }
        public void CreateReturnsCorrectViewTest()
        {
            var viewModel = new BabyDiaperRewetEditViewModel
            {
                TestValueId = -1,
                TestSheetId = 5
            };
            var babyDiaperRewetService = MockHelperLaborControllerService.GetBabyDiaperRewetService(viewModel);
            var controller             = new BabyDiaperRewetController(new NLogLoggerFactory())
            {
                BabyDiaperRewetService = babyDiaperRewetService
            };
            var result = controller.Create(5) as ViewResult;

            Assert.Equal("Edit", result?.ViewName);
        }
        public void CreateTest()
        {
            var viewModel = new BabyDiaperRewetEditViewModel
            {
                TestValueId = -1,
                TestSheetId = 5
            };
            var babyDiaperRewetService = MockHelperLaborControllerService.GetBabyDiaperRewetService(viewModel);
            var controller             = new BabyDiaperRewetController(new NLogLoggerFactory())
            {
                BabyDiaperRewetService = babyDiaperRewetService
            };
            var result       = controller.Create(5) as ViewResult;
            var newViewModel = (BabyDiaperRewetEditViewModel)result?.ViewData.Model;

            Assert.Equal(viewModel, newViewModel);
        }
        /// <summary>
        ///     Saves or updates the BabyDiaperRewetEditViewModel
        /// </summary>
        /// <param name="viewModel">The viewmodel which will be saved or updated</param>
        /// <returns>The saved or updated TestValue</returns>
        public TestValue Save(BabyDiaperRewetEditViewModel viewModel)
        {
            TestValue testValue;

            try
            {
                testValue = viewModel.TestValueId <= 0
                    ? BabyDiaperRewetServiceHelper.SaveNewRewetTest(viewModel)
                    : BabyDiaperRewetServiceHelper.UpdateRewetTest(viewModel);
                BabyDiaperRewetServiceHelper.UpdateRewetAverageAndStv(viewModel.TestSheetId);
            }
            catch (Exception e)
            {
                Logger.Error("Update oder Create new Test Value ist fehlgeschlagen: " + e.Message);
                testValue = null;
            }
            return(testValue);
        }
Ejemplo n.º 8
0
        /// <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>
        ///     The Mock for the IBabyDiaperRetentionService
        /// </summary>
        public static IBabyDiaperRewetService GetBabyDiaperRewetService(BabyDiaperRewetEditViewModel viewModel)
        {
            var mock = new Mock <IBabyDiaperRewetService>
            {
                Name         = "MockHelperService.GetBabyDiaperRewetService",
                DefaultValue = DefaultValue.Mock
            };

            mock.Setup(s => s.GetNewBabyDiaperRewetEditViewModel(0))
            .Returns((BabyDiaperRewetEditViewModel)null);
            mock.Setup(s => s.GetNewBabyDiaperRewetEditViewModel(It.Is <Int32>(x => x > 0)))
            .Returns(viewModel);

            mock.Setup(s => s.GetBabyDiaperRewetEditViewModel(0))
            .Returns((BabyDiaperRewetEditViewModel)null);
            mock.Setup(s => s.GetBabyDiaperRewetEditViewModel(It.Is <Int32>(x => x > 0)))
            .Returns(viewModel);

            return(mock.Object);
        }
Ejemplo n.º 10
0
        /// <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);
        }
        public void UpdateRewetTestBaseTest()
        {
            var viewModel = new BabyDiaperRewetEditViewModel
            {
                TestPerson         = "Hans",
                TestValueId        = -1,
                TestSheetId        = 1,
                ProductionCodeTime = new TimeSpan(12, 34, 0),
                ProductionCodeDay  = 123,
                DiaperWeight       = 30.1,
                RewetAfter140      = 0,
                RewetAfter210      = 0.1,
                StrikeThrough      = 0.3,
                Distribution       = 250,
                PenetrationTime1   = 1,
                PenetrationTime2   = 2,
                PenetrationTime3   = 3,
                PenetrationTime4   = 4,
                TestType           = TestTypeBabyDiaper.RewetAndPenetrationTime,
                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,
                    TestType          = TestTypeBabyDiaper.RewetAndPenetrationTime
                }
            };
            var testSheetDataFromDb       = GetTestSheetTestData();
            var productionOrderDataFromDb = GetProductionOrderTestData();

            var babyDiaperBll = MockHelperBll.GetTestBllForSavingAndUpdating(testSheetDataFromDb, productionOrderDataFromDb, testValueReturnedFromDb);

            var testServiceHelper = MockHelperTestServiceHelper.GetTestServiceHelperForUpdating();

            var target = new BabyDiaperRewetServiceHelper(new NLogLoggerFactory())
            {
                TestBll           = babyDiaperBll,
                TestServiceHelper = testServiceHelper
            };

            var actual = target.UpdateRewetTest(viewModel);

            Assert.Equal(testValueReturnedFromDb, actual);
            Assert.Equal(30.1, actual.BabyDiaperTestValue.WeightDiaperDry);
            Assert.Equal(0.3, actual.BabyDiaperTestValue.StrikeTroughValue);
            Assert.Equal("Hans", actual.LastEditedPerson);
            Assert.Equal("Fritz", actual.CreatedPerson);
            Assert.NotEqual(new DateTime(2016, 1, 2), actual.LastEditedDateTime);
        }
Ejemplo n.º 12
0
        /// <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);
        }
Ejemplo n.º 13
0
        public ActionResult Save(BabyDiaperRewetEditViewModel viewModel)
        {
            var savedModel = BabyDiaperRewetService.Save(viewModel);

            return(RedirectToAction("Edit", "LaborCreatorBaby", new { area = "Labor", id = savedModel.TestSheetId }));
        }