public void UploadenBestandFaalendBestandCursusStartdatum() { //Arrange using (var ms = new MemoryStream()) { using (var writer = new StreamWriter(ms)) { var fileMock = new Mock <IFormFile>(); writer.WriteLine("Titel: C# Programmeren"); writer.WriteLine("Cursuscode: CNETIN"); writer.WriteLine("Duur: 5 dagen"); writer.WriteLine("11/10/2014 "); writer.WriteLine(""); writer.Flush(); ms.Position = 0; fileMock.Setup(m => m.OpenReadStream()).Returns(ms); fileMock.Setup(m => m.Length).Returns(5); MockAgent mockAgent = new MockAgent(); var target = new CursusController(mockAgent); //Act var result = target.Create(fileMock.Object); // Assert CursusCreateMessageViewModel viewModel = (CursusCreateMessageViewModel)(result as ViewResult).Model; Assert.IsNotNull(viewModel); Assert.AreEqual(4, viewModel.ErrorAtLine); } } }
public void UploadenBestandTestVerwijzingMessagePageModelContentInsertCount4() { // Arrange var fileMock = new Mock <IFormFile>(); var lines = File.ReadLines(@"TestFile\goedvoorbeeld.txt").ToList(); using (var memoryStream = new MemoryStream()) { using (var streamWriter = new StreamWriter(memoryStream)) { for (var i = 0; i < lines.Count; i++) { streamWriter.WriteLine(lines[i]); } streamWriter.Flush(); memoryStream.Position = 0; fileMock.Setup(m => m.OpenReadStream()).Returns(memoryStream); fileMock.Setup(m => m.Length).Returns(5); MockAgent mockAgent = new MockAgent(); var target = new CursusController(mockAgent); //Act var result = target.Create(fileMock.Object); // Assert CursusCreateMessageViewModel viewModel = (CursusCreateMessageViewModel)(result as ViewResult).Model; Assert.IsNotNull(viewModel); Assert.AreEqual(4, viewModel.SuccesInsertCount); } } }
public IActionResult Create(IFormFile file) { try { int totalInsertCount = 0; int OKResponsesCount = 0; if (file.Length > 0) { int currentIndex = 1; using (var reader = new StreamReader(file.OpenReadStream())) { List <CursusInstantie> cursusLijst = new List <CursusInstantie>(); while (reader.Peek() >= 0) { string rawtitel = reader.ReadLine(); if (!rawtitel.StartsWith("Titel: ")) { CursusCreateMessageViewModel formatError = new CursusCreateMessageViewModel() { ErrorAtLine = currentIndex }; return(View("CursusCreateMessage", formatError)); } string cursusTitel = Regex.Replace(rawtitel, @"^(Titel: )", string.Empty); currentIndex++; string rawCursuscode = reader.ReadLine(); if (!rawCursuscode.StartsWith("Cursuscode: ")) { CursusCreateMessageViewModel formatError = new CursusCreateMessageViewModel() { ErrorAtLine = currentIndex }; return(View("CursusCreateMessage", formatError)); } string cursusCode = Regex.Replace( rawCursuscode, @"^(Cursuscode: )", string.Empty); currentIndex++; string rawCursusDuur = reader.ReadLine(); if (!rawCursusDuur.StartsWith("Duur: ")) { CursusCreateMessageViewModel formatError = new CursusCreateMessageViewModel() { ErrorAtLine = currentIndex }; return(View("CursusCreateMessage", formatError)); } int cursusDuur = int.Parse( Regex.Match(rawCursusDuur, @"(\d)").Value ); currentIndex++; string rawCursusStartDatum = reader.ReadLine(); if (!rawCursusStartDatum.StartsWith("Startdatum: ")) { CursusCreateMessageViewModel formatError = new CursusCreateMessageViewModel() { ErrorAtLine = currentIndex }; return(View("CursusCreateMessage", formatError)); } DateTime cursusStartDatum = DateTime.Parse( Regex.Match(rawCursusStartDatum, @"(\d{1,2}\/\d{1,2}\/\d{4})").Value ); currentIndex++; reader.ReadLine(); Cursus cursus = new Cursus() { Titel = cursusTitel, Cursuscode = cursusCode, Duur = cursusDuur }; CursusInstantie cursusInstantie = new CursusInstantie() { Startdatum = cursusStartDatum, Cursus = cursus }; cursusLijst.Add(cursusInstantie); } for (int i = 0; i < cursusLijst.Count; i++) { var response = _CursusAgent.PostWithHttpMessagesAsync(cursusLijst[i]); var code = response.Result.Response.StatusCode; if (code == HttpStatusCode.OK) { OKResponsesCount++; } totalInsertCount++; } } } CursusCreateMessageViewModel message = new CursusCreateMessageViewModel() { SuccesInsertCount = OKResponsesCount, TotalInsertCount = totalInsertCount }; return(View("CursusCreateMessage", message)); } catch { return(View()); } }