/// <summary> /// Save to DB with code first - this will create a new database the first time /// Edit the connection string in app.config, by default it looks for a local SQL Server instance /// </summary> public static void Run() { Debug.WriteLine("******************************"); Debug.WriteLine(MethodBase.GetCurrentMethod().Name); Debug.WriteLine("******************************"); Stream ediStream = File.OpenRead(Directory.GetCurrentDirectory() + @"\..\..\..\Files\EDIFACT\PurchaseOrder.txt"); List <IEdiItem> ediItems; using (var ediReader = new EdifactReader(ediStream, "EdiFabric.Templates.Edifact")) ediItems = ediReader.ReadToEnd().ToList(); var purchaseOrders = ediItems.OfType <TSORDERS>(); using (var db = new EDIFACTContext()) { foreach (var purchaseOrder in purchaseOrders) { purchaseOrder.ClearCache(); db.TSORDERS.Add(purchaseOrder); } db.SaveChanges(); } }
/// <summary> /// Pull the last purchase order from DB /// </summary> public static void Run() { Debug.WriteLine("******************************"); Debug.WriteLine(MethodBase.GetCurrentMethod().Name); Debug.WriteLine("******************************"); using (var db = new EDIFACTContext()) { var po = db.TSORDERS.OrderByDescending(o => o.Id).FirstOrDefault(); using (var stream = new MemoryStream()) { using (var writer = new EdifactWriter(stream)) { writer.Write(SegmentBuilders.BuildUnb("1")); writer.Write(po); } Debug.Write(stream.LoadToString()); } } }