public void ShouldBeSetAsInactiveWhenEvaluatedAsInefficient()
        {
            Nonconformity nonconformity = new Nonconformity("Controlled materials stored without proper indication.");

            nonconformity.setAsInefficient();
            Assert.Equal(StatusEnum.Inactive, nonconformity.Status);
        }
예제 #2
0
        public void AddActionToNonconformity(int id, Models.Action action)
        {
            Nonconformity nonconformity = _context.Nonconformities.FirstOrDefault(p => p.Id == id);

            nonconformity?.Actions?.Add(action);
            _context.SaveChanges();
        }
        public void ShouldUpdateCode()
        {
            Nonconformity nonconformity = new Nonconformity("Controlled materials stored without proper indication.");

            nonconformity.UpdateCode("2019:02:05");
            Assert.Equal("2019:02:05", nonconformity.Code);
        }
예제 #4
0
        public void UpdateAsInefficient(int id)
        {
            Nonconformity nonconformity = _context.Nonconformities.FirstOrDefault(p => p.Id == id);

            nonconformity.setAsInefficient();
            _context.Nonconformities.Update(nonconformity);
            _context.SaveChanges();
        }
예제 #5
0
        public Nonconformity Add(Nonconformity nonconformity)
        {
            _context.Nonconformities.Add(nonconformity);
            _context.SaveChanges();

            var addedNonconformity = _context.Nonconformities.FirstOrDefault(p => p.Id == nonconformity.Id);

            return(addedNonconformity);
        }
예제 #6
0
        public Nonconformity AddNewVersion(Nonconformity nonconformity, int oldNonconformityId)
        {
            _context.Nonconformities.Add(nonconformity);
            _context.SaveChanges();

            var addedNonconformity = _context.Nonconformities.OrderByDescending(p => p.Id).FirstOrDefault();

            addedNonconformity = UpdateCodeWhenAddNewVersionOfInconformity(addedNonconformity, oldNonconformityId);
            return(addedNonconformity);
        }
        private Nonconformity UpdateCodeWhenAdd(Nonconformity nonconformity)
        {
            var code = string.Concat((System.DateTime.UtcNow.Year) + ":" + nonconformity.Id.ToString("D2") + ":"
                                     + nonconformity.Version.ToString("D2"));

            nonconformity.UpdateCode(code);
            _nonconformityRepository.Update(nonconformity);

            return(nonconformity);
        }
예제 #8
0
        private Nonconformity UpdateCodeWhenAddNewVersionOfInconformity(Nonconformity addedNonconformity,
                                                                        int oldNonconformityId)
        {
            var code = string.Concat((DateTime.UtcNow.Year) + ":" + oldNonconformityId.ToString("D2") + ":"
                                     + addedNonconformity.Version.ToString("D2"));

            addedNonconformity.UpdateCode(code);
            _context.Nonconformities.Update(addedNonconformity);
            _context.SaveChanges();
            return(addedNonconformity);
        }
        public ResultViewModel AddNonconformity(AddNonconformityViewModel request)
        {
            Nonconformity    nonconformity    = new Nonconformity(request.Description);
            ValidationResult validationResult = nonconformity.isValid();

            if (!validationResult.IsValid)
            {
                return(new ResultViewModel(false, nonconformity.Id, validationResult.ToString()));
            }

            nonconformity = _nonconformityRepository.Add(nonconformity);
            nonconformity = UpdateCodeWhenAdd(nonconformity);

            var resultViewModel = new ResultViewModel(true, nonconformity.Id, "Nonconformity successfully saved!");

            return(resultViewModel);
        }
        public ResultViewModel EvaluateAsInefficient(int id)
        {
            var nonconformity = _nonconformityRepository.GetById(id);

            if (nonconformity == null)
            {
                return(new ResultViewModel(false, id, "Nonconformity does not exist!"));
            }
            if (nonconformity.Status == StatusEnum.Inactive)
            {
                return(new ResultViewModel(false, nonconformity.Id, "Can't evaluate inactive nonconformity!"));
            }
            _nonconformityRepository.UpdateAsInefficient(id);

            var newNonconformity = new Nonconformity(nonconformity.Description, nonconformity.Version + 1);

            _nonconformityRepository.AddNewVersion(newNonconformity, nonconformity.Id);
            return(new ResultViewModel(true, nonconformity.Id,
                                       "Nonconformity successfully set as inefficient and new version of nonconformity created!"));
        }
예제 #11
0
 public void AddNonconformity(Nonconformity nonconformity)
 {
     Nonconformities.Add(nonconformity);
 }
예제 #12
0
 public void Remove(Nonconformity nonconformity)
 {
     _context.Nonconformities.Remove(nonconformity);
     _context.SaveChanges();
 }
예제 #13
0
 public void Update(Nonconformity nonconformity)
 {
     _context.Nonconformities.Update(nonconformity);
     _context.SaveChanges();
 }
        public void NewNonconformityShouldStartWithVersionOne()
        {
            Nonconformity nonconformity = new Nonconformity("Controlled materials stored without proper indication.");

            Assert.Equal(1, nonconformity.Version);
        }
        public void NonconformityDescriptionGreaterThanMaxCaractersShouldFail(string description)
        {
            Nonconformity nonconformity = new Nonconformity(description);

            Assert.False(nonconformity.isValid().IsValid);
        }
        public void NonconformityDescriptionLessThanMaxCaractersShouldPass(string description)
        {
            Nonconformity nonconformity = new Nonconformity(description);

            Assert.True(nonconformity.isValid().IsValid);
        }