public ActionResult Add(AddPathwayInputModel pathwayInputModel) { if (ModelState.IsValid) { using (var unitOfwork = new UnitOfWork()) { var pathway = new Pathway { PPINumber = pathwayInputModel.PPINumber, Patient = GetPatientByNhsNumber(pathwayInputModel.SelectedPatientNHSNumber, unitOfwork), OrganizationCode = pathwayInputModel.OrganizationCode }; pathway.ValidationFailed += ruleViolation => { ruleViolation.CreatedAt = DateTime.UtcNow; unitOfwork.RuleViolations.Add(ruleViolation); }; pathway.Validate(); unitOfwork.Pathways.Add(pathway); unitOfwork.SaveChanges(); } return(RedirectToAction("Add")); } pathwayInputModel.Patients = GetAllPatients(); pathwayInputModel.AllPathways = GetAllPathways(); return(View(pathwayInputModel)); }
public void Validate_RaisesValidationFailedEvent_WhenPpiNumberHasALengthDifferentThan20Characters() { //Arrange var pathway = new Pathway { PPINumber = new string('x', 22) }; RuleViolation eventRaised = null; pathway.ValidationFailed += delegate { eventRaised = new RuleViolation(); }; //Act pathway.Validate(); //Assert Assert.IsNotNull(eventRaised); }