Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 3
0
        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());
            }
        }