public ActionResult Index(IndexViewModel model) { if (ModelState.IsValid) { if (Request.IsAjaxRequest()) { var reader = new PostalAddressReader(Server.MapPath(@"~/Data")); var result = reader.Read(model.SelectedSampleFile); var resultViewModel = new ResultViewModel() { FileName = model.SelectedSampleFile, SummaryMessage = result.SummaryMessage, Errors = result.Errors.Select(x => x.Message), Warnings = result.Warnings.Select(x => x.Message) }; return View("Results", resultViewModel); } return RedirectToAction("Index", "Home", new { id = model.SelectedSampleFile }); } else { var reader = new PostalAddressReader(Server.MapPath(@"~/Data")); var fileNames = reader.GetFileNames(); var selectList = new SelectList(fileNames); var viewModel = new IndexViewModel() { SampleFiles = selectList, SelectedSampleFile = model.SelectedSampleFile }; return View(viewModel); } }
public void ReadInvalidPostalAddress() { var reader = new PostalAddressReader(DataFolder); var result = reader.Read("PostalAddressInvalidSample1.xml"); Assert.IsNotNull(result); Assert.IsFalse(result.IsDocumentValid); Assert.AreEqual("Scan Aborted as the XML document does not meet the XSD schema", result.SummaryMessage); }
public void AbortPostalAddressWithMorethat10PercentErrors() { var reader = new PostalAddressReader(DataFolder); var result = reader.Read("PostalAddressWithMoreThan10PercentErrors.xml"); Assert.IsNotNullOrEmpty(result.SummaryMessage); Assert.IsTrue(result.ExceedsErrorThreshold); Assert.AreEqual("Scan aborted as more than 10% of records contained errors", result.SummaryMessage); }
// // GET: /Home/ public ActionResult Index(string id) { var reader = new PostalAddressReader(Server.MapPath(@"~/Data")); var fileNames = reader.GetFileNames(); var selectList = new SelectList(fileNames); var viewModel = new IndexViewModel() { SampleFiles = selectList }; if (!string.IsNullOrEmpty(id)) { var result = reader.Read(id); viewModel.SelectedSampleFile = id; viewModel.Result = new ResultViewModel() { FileName = id, SummaryMessage = result.SummaryMessage, Errors = result.Errors.Select(x => x.Message), Warnings = result.Warnings.Select(x => x.Message) }; } return View(viewModel); }
public void ReadPostalAddressWithEmptyAddress1() { var reader = new PostalAddressReader(DataFolder); var result = reader.Read("PostalAddressWithAddress1Empty.xml"); Assert.AreEqual(1, result.Errors.Count()); Assert.AreEqual("<address1/>", result.Errors.First().Tag); }
public void ReadPostalAddressWhereCountryIsNotSupported() { var reader = new PostalAddressReader(DataFolder); var result = reader.Read("PostalAddressWithUnknownCountry.xml"); Assert.AreEqual(1, result.Warnings.Count()); Assert.AreEqual("UK isn't within permitted set of countries", result.Warnings.First().Message); }
public void ReadValidPostalAddress() { var reader = new PostalAddressReader(DataFolder); var result = reader.Read("PostalAddressValidSample1.xml"); Assert.IsNotNull(result); Assert.IsTrue(result.IsDocumentValid); }
public void ReadPostalAddressWithEmptyCityTag() { var reader = new PostalAddressReader(DataFolder); var result = reader.Read("PostalAddressWithCityEmpty.xml"); Assert.AreEqual(2, result.Warnings.Count()); }