public async Task <IActionResult> Validate(IFormFile formFile)
        {
            try
            {
                string filePath = string.Empty;
                if (formFile != null)
                {
                    if (formFile.Length > 0)
                    {
                        filePath = Path.Combine(Directory.GetCurrentDirectory() + @"\files",
                                                formFile.FileName.Split(".")[0] + Path.GetRandomFileName() + "." + formFile.FileName.Split(".")[1]);

                        using (var stream = System.IO.File.Create(filePath))
                        {
                            await formFile.CopyToAsync(stream);
                        }
                    }
                }
                var xmlParserService = new XmlParserService();
                var result           = xmlParserService.ParseXML(
                    new ParserRequest
                {
                    FileName = filePath
                });
                return(new JsonResult(result));
            }
            catch (Exception exp)
            {
                return(new JsonResult(exp.Message));
            }
        }
        public IActionResult GetAllLearner()
        {
            var xmlParserService = new XmlParserService();
            var result           = xmlParserService.GetLearners();

            return(new JsonResult(result));
        }
        public IActionResult GetAllFiles()
        {
            var xmlParserService = new XmlParserService();
            var result           = xmlParserService.GetXMLFiles();

            return(new JsonResult(result));
        }
Пример #4
0
        public void GetLastTenArticles_ShouldReturnTenArticles()
        {
            //Arrange
            var service = new XmlParserService();
            //Act

            var articles = service.GetLastTenArticles();

            //Assert

            Assert.AreEqual(10, articles.Count);
        }
Пример #5
0
        public void TestXmlParse()
        {
            var xmlParserSevice = new XmlParserService();

            File.WriteAllText(testFileName, @"<item>
<title>
<![CDATA[
Keeping Up with Country and Tax Compliance - June 2019
]]>
</title>
<guid isPermaLink='false'>test
</guid>
<pubDate>Wed, 26 Jun 2019 12:51:23 GMT </pubDate>
<creator>![CDATA[Ruud van Hilten]] </creator>
<category>Friction</category>
<description>
<![CDATA[The latest news for the last month ]]>
</description>
<enclosure url='https://www.tungsten-network.com/media/16604570/1511-progress-and-lack.jpg' />
</item>
");
            var elements = xmlParserSevice.ParseXml(testFileName).ToList();

            Assert.AreEqual(1, elements.Count);

            string heading = elements[0].Descendants("title").ToList()[0].Value;

            Assert.AreEqual("\nKeeping Up with Country and Tax Compliance - June 2019\n", heading);
            DateTime date     = Convert.ToDateTime(elements[0].Descendants("pubDate").ToList()[0].Value);
            DateTime expected = Convert.ToDateTime("Wed, 26 Jun 2019 12:51:23 GMT");

            Assert.AreEqual(expected, date);
            string imgUrl = elements[0].Descendants("enclosure").ToList()[0].Attribute("url").Value;

            Assert.AreEqual("https://www.tungsten-network.com/media/16604570/1511-progress-and-lack.jpg", imgUrl);
        }
Пример #6
0
 public new string GetAttribute(XmlNode node, string attributeName)
 {
     return(XmlParserService.GetAttribute(node, attributeName));
 }
Пример #7
0
 public new XmlDocument ValidateAndReturnXmlDocument(string xml)
 {
     return(XmlParserService.ValidateAndReturnXmlDocument(xml));
 }
Пример #8
0
        public void ParseXml_ShouldParseXml_AndReturnContainer()
        {
            // Create a fake XML to parse
            var textXml     = @"<Container>
                                <Id>68465468</Id>
                                <ShippingDate>2016-07-22T00:00:00+02:00</ShippingDate>
                                <parcels>
                                    <Parcel>
                                        <Sender>
                                            <Name>Klaas</Name>
                                            <Address>
                                                <Street>Uranusstraat</Street>
                                                <HouseNumber>22</HouseNumber>
                                                <PostalCode>2402AE</PostalCode>
                                                <City>Alphen a/d Rijn</City>
                                            </Address>
                                        </Sender>
                                        <Receipient>
                                            <Name>Piet</Name>
                                            <Address>
                                                <Street>Schenklaan</Street>
                                                <HouseNumber>22</HouseNumber>
                                                <PostalCode>2497AV</PostalCode>
                                                <City>Den Haag</City>
                                            </Address>
                                        </Receipient>
                                        <Weight>0.02</Weight>
                                        <Value>0.0</Value>
                                    </Parcel>
                            </parcels>
                        </Container>";
            var xmlDocument = XDocument.Parse(textXml);

            // Use the service to Parse the XML to a Container object
            var parserService   = new XmlParserService();
            var parsedContainer = parserService.ParseXml(xmlDocument);

            // Create a fake expected Container to compare
            var expectedContainer = new Container(id: 68465468,
                                                  shippingDate: DateTime.Parse("2016-07-22T00:00:00+02:00"));
            var parcel = new Parcel(sender: new Person(name: "Klaas",
                                                       address: new Address(street: "Uranusstraat",
                                                                            houseNumber: "22",
                                                                            postalCode: "2402AE",
                                                                            city: "Alphen a/d Rijn")),
                                    receipient: new Person(name: "Piet",
                                                           address: new Address(street: "Schenklaan",
                                                                                houseNumber: "22",
                                                                                postalCode: "2497AV",
                                                                                city: "Den Haag")),
                                    weight: 0.02m,
                                    value: 0);

            expectedContainer.Parcels.Add(parcel);

            // Serialize both objects to JSON to compare
            var expectedJson = JsonConvert.SerializeObject(expectedContainer);
            var parsedJson   = JsonConvert.SerializeObject(parsedContainer);

            // Assertion
            Assert.Equal(expectedJson, parsedJson);

            // TODO: implement a specific comparator
        }