public IActionResult Index(IFormFile formFile) { EdiListViewModel model = new EdiListViewModel(); var _ediFileData = new EdiModel(); for (int i = 0; i < Request.Form.Files.Count; i++) { try { IFormFile currentFile = Request.Form.Files[i]; using (var stream = new StreamReader(currentFile.OpenReadStream())) { _ediFileData = EdiParser.ParseData(stream); _ediFileData.FileName = currentFile.FileName; // Just for dumping in UI.. _ediFileData.ParsedData = JsonConvert.SerializeObject(_ediFileData); model.EdiList.Add(_ediFileData); }; } catch (Exception ex) { } } return(View(model)); }
internal void run() { //question 02 var ediREsultList = EdiParser.loadFromString(util._edifactString); string[][] result = ediREsultList.Select(list => list.DataElements.Split(new char[] { '&' })).ToArray(); Console.WriteLine("---------------------------------------------------------- "); Console.WriteLine("Question 1 "); Console.WriteLine("---------------------------------------------------------- "); foreach (var item in result) { Console.WriteLine("{" + item[0].ToString() + "," + item[1].ToString() + "}"); // Assumes a console application } Console.WriteLine(" "); Console.WriteLine("---------------------------------------------------------- "); List <string> itensToBeListed = new List <string> { "MWB", "TRV", "CAR" }; Console.WriteLine("Question 2 "); Console.WriteLine("---------------------------------------------------------- "); string path = Path.GetFullPath("../../../ABM/XML/Question2.xml"); var resultQuestion2 = ExtractXML.LoadFromString(path, "Reference", "RefCode", itensToBeListed); foreach (var it in resultQuestion2) { Console.WriteLine("{" + it.Identifier + "," + it.value + "}"); } Console.WriteLine(" "); Console.WriteLine("Question 3 "); Console.WriteLine("---------------------------------------------------------- "); string path3 = Path.GetFullPath("../../../ABM/XML/Question3.xml"); string pathxsd = Path.GetFullPath("../../../ABM/XML/Question3.xsd"); // var b = XmlValidatorToXSD.load(path3); ServiceReference1.IService1 obj = new ServiceReference1.Service1Client(); int resultQuestion3 = obj.ValidationXml(path3, pathxsd); Console.WriteLine("{" + resultQuestion3 + "}"); // Assumes a console application Console.ReadLine(); }
public void TestMethod1() { string edifactString = @"UNA:+.? 'UNB + UNOC:3 + 2021000969 + 4441963198 + 180525:1225 + 3VAL2MJV6EH9IX + KMSV7HMD + CUSDECU - IE++1++1' UNH + EDIFACT + CUSDEC:D: 96B: UN: 145050' BGM + ZEM:::EX + 09SEE7JPUV5HC06IC6 + Z' LOC + 17 + IT044100+555' LOC + 18 + SOL+456' LOC + 35 + SE' LOC + 36' LOC + 116 + SE003033' DTM + 9:20090527:102' DTM + 268:20090626:102' DTM + 182:20090527:102'"; var tes = EdiParser.loadFromString(edifactString); }
public async Task <ActionResult <Order> > PostOrder([FromBody] PostOrderDTO order) { var orderToAdd = new Order { SellDate = DateTime.Now, ShallDisplay = true, OrderState = OrderState.New, InvoiceId = null, OrderValue = 0.0M, Username = order.Invoice.Username }; List <Product> products = new List <Product>(); foreach (var item in order.PostOrders) { var product = await productService.GetByIdAsync(item.ProductId); products.Add(product); orderToAdd.OrderValue += (product.NettoPrice + decimal.Divide(product.VAT, 100) * product.NettoPrice) * item.QuantityOfProducts; } var placedOrder = await orderService.CreateOrder(orderToAdd); var orderItems = new List <OrderItem>(); foreach (var product in products) { var orderItem = new OrderItem { OrderId = placedOrder.OrderId, ProductId = product.ProductId }; foreach (var item in order.PostOrders) { if (item.ProductId == product.ProductId) { orderItem.Amount = item.QuantityOfProducts; orderItem.NettoPrice = product.NettoPrice * item.QuantityOfProducts; orderItem.BruttoPrice += (product.NettoPrice + decimal.Divide(product.VAT, 100) * product.NettoPrice) * item.QuantityOfProducts; } } await orderItemService.CreateOrderItem(orderItem); orderItems.Add(orderItem); } EdiParser ediParser = new EdiParser(); var mappedOrderItems = mapper.Map <List <OrderItem>, List <GetOrderItemForXml> >(orderItems); var invoice = await CreateInvoice(placedOrder.OrderId, order.Invoice); var invoiceXml = new XmlInvoice(invoice.InvoiceId, invoice.IssueDate, invoice.DeliveryDate, SynthPolInfo.supplierName, SynthPolInfo.supplierStreet, SynthPolInfo.supplierCity, SynthPolInfo.supplierZipCode, SynthPolInfo.supplierNIP, invoice.Name, invoice.Street, invoice.ZipCode, invoice.City, invoice.NIP, mappedOrderItems); YAXSerializer serializer = new YAXSerializer(typeof(XmlInvoice)); string xmlString = serializer.Serialize(invoiceXml); var invoiceEdiToAdd = new InvoiceEdi { Username = invoice.Username, InvoiceId = invoice.InvoiceId, EdiString = ediParser.Save(invoice.InvoiceId.ToString(), invoice.IssueDate.ToString(), invoice.DeliveryDate.ToString(), SynthPolInfo.supplierName, SynthPolInfo.supplierStreet, SynthPolInfo.supplierZipCode, SynthPolInfo.supplierCity, SynthPolInfo.supplierNIP, invoice.Name, invoice.Street, invoice.ZipCode, invoice.City, invoice.NIP, orderItems), XmlString = xmlString }; var invoiceEdi = await invoiceEdiService.CreateInvoiceEdi(invoiceEdiToAdd); var newOrder = placedOrder; newOrder.InvoiceId = invoice.InvoiceId; await orderService.UpdateOrder(placedOrder, newOrder); var newInvoice = invoice; newInvoice.InvoiceEdiId = invoiceEdi.InvoiceEdiId; await invoiceService.UpdateInvoice(invoice, newInvoice); return(Ok()); }