Example #1
0
        private static void SetOrderTagXML(ProductionDBEntities db, StreamWriter toFile, Order order)
        {
            WriteXMLLine(GetXMLLine(1, "Order", false, order.OrderID.ToString(), true, "ID"), toFile);
            WriteXMLLine(GetXMLLine(2, "Name", false, order.Name), toFile);
            WriteXMLLine(GetXMLLine(2, "System", false, order.System), toFile);
            WriteXMLLine(GetXMLLine(2, "PO", false, order.PO == null ? string.Empty : order.PO), toFile);
            WriteXMLLine(GetXMLLine(2, "PODate", false, order.PODate == null ? string.Empty : order.PODate), toFile);
            if (!string.IsNullOrWhiteSpace(order.SN))
            {
                WriteXMLLine(GetXMLLine(2, "SN", false, order.SN), toFile);
            }
            WriteXMLLine(GetXMLLine(2, "StateID", false, order.StateID.ToString()), toFile);

            var orderPakcages = from op in db.OrderPackages where op.OrderID == order.OrderID select op;

            foreach (var orderPackage in orderPakcages)
            {
                var pakcage = (from pk in db.Packages where pk.PackageID == orderPackage.PackageID select pk).FirstOrDefault();
                if (pakcage == null)
                {
                    continue;
                }

                WriteXMLLine(GetXMLLine(2, "Packages", false, orderPackage.PackageID.ToString(), true, "ID"), toFile);
                WriteXMLLine(GetXMLLine(3, "PackageID", false, pakcage.PackageID.ToString()), toFile);
                WriteXMLLine(GetXMLLine(3, "Name", false, pakcage.Name), toFile);
                WriteXMLLine(GetXMLLine(3, "PackageStateID", false, pakcage.PackageStateID.ToString()), toFile);
                WriteXMLLine(GetXMLLine(3, "PackageTypeID", false, pakcage.PackageTypeID.ToString()), toFile);
                WriteXMLLine(GetXMLLine(3, "PDF", false, pakcage.PDF), toFile);

                var packageParts = from pp in db.PackageParts where pp.PackageID == pakcage.PackageID select pp;

                foreach (var pPart in packageParts)
                {
                    var part = (from p in db.Parts where p.PartID == pPart.PartID select p).FirstOrDefault();
                    if (part == null)
                    {
                        continue;
                    }

                    WriteXMLLine(GetXMLLine(3, "Part", false, part.PartID.ToString(), true, "ID"), toFile);
                    WriteXMLLine(GetXMLLine(4, "PartID", false, part.PartID.ToString()), toFile);
                    WriteXMLLine(GetXMLLine(4, "Number", false, part.PartNo), toFile);
                    WriteXMLLine(GetXMLLine(4, "QuantityOnHand", false, part.QuantityOnHand.ToString()), toFile);
                    WriteXMLLine(GetXMLLine(4, "Description", false, part.Description.Trim()), toFile);
                    WriteXMLLine(GetXMLLine(4, "ProceesTypeID", false, part.ProceesTypeID.ToString()), toFile);

                    WriteXMLLine(GetXMLLine(4, "Vendor", false, part.VendorID.ToString(), true, "ID"), toFile);
                    WriteXMLLine(GetXMLLine(5, "VendorID", false, part.Vendor.VendorID.ToString()), toFile);
                    WriteXMLLine(GetXMLLine(5, "Name", false, part.Vendor.VendorName), toFile);
                    WriteXMLLine(GetXMLLine(4, "Vendor", true), toFile);

                    WriteXMLLine(GetXMLLine(3, "Part", true), toFile);
                }

                WriteXMLLine(GetXMLLine(2, "Packages", true), toFile);
            }

            WriteXMLLine(GetXMLLine(1, "Order", true), toFile);
        }
Example #2
0
        private static async Task SetOrdersXMLAsync(ProductionDBEntities db, int orderLimit, StreamWriter toFile, CancellationToken token)
        {
            var query = from o in db.Orders
                        orderby o.Name
                        select o;

            var orderCounter = 0;

            foreach (var order in query)
            {
                if (token.IsCancellationRequested)
                {
                    break;
                }
                orderCounter++;
                if (orderLimit > 0 && orderCounter > orderLimit)
                {
                    break;
                }
                await Task.Run(() => SetOrderTagXML(db, toFile, order));

                if (toFile != null)
                {
                    Console.Write(orderCounter);
                    Console.CursorLeft = 0;
                }
            }
        }
Example #3
0
        private static async Task SetOrdersXMLAsync(ProductionDBEntities db, int orderLimit, StreamWriter toFile, CancellationToken token)
        {
            var query = from o in db.Orders
                        orderby o.Name
                        select o;

            var orderCounter = 0;

            foreach (var order in query)
            {
                if (token.IsCancellationRequested)
                {
                    break;
                }
                orderCounter++;
                if (orderLimit > 0 && orderCounter > orderLimit) break;
                await Task.Run(() => SetOrderTagXML(db, toFile, order));

                if(toFile != null)
                {
                    Console.Write(orderCounter);
                    Console.CursorLeft = 0;
                }
            }
        }
Example #4
0
        static void Main(string[] args)
        {
            using (var db = new ProductionDBEntities())
            {
                var          fileName = "Order.xml";
                StreamWriter toFile   = null;
                if (File.Exists(fileName))
                {
                    File.Delete(fileName);
                }
                toFile = new StreamWriter(fileName);

                try
                {
                    var orderLimit = 0;
                    var cts        = new CancellationTokenSource();

                    WriteXMLLine(GetXMLLine(0, "Root"), toFile);
                    var result = SetOrdersXMLAsync(db, orderLimit, toFile, cts.Token);

                    while (!result.IsCompleted)
                    {
                        if (Console.KeyAvailable)
                        {
                            Console.ReadKey();
                            if (!cts.IsCancellationRequested)
                            {
                                cts.Cancel();
                            }
                        }
                    }

                    WriteXMLLine(GetXMLLine(0, "Root", true), toFile);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                finally
                {
                    if (toFile == null)
                    {
                        Console.ReadKey();
                    }
                    if (toFile != null)
                    {
                        toFile.Close();
                    }
                }
            }
        }
Example #5
0
        private static void SetOrderTagXML(ProductionDBEntities db, StreamWriter toFile, Order order)
        {
            WriteXMLLine(GetXMLLine(1, "Order", false, order.OrderID.ToString(), true, "ID"), toFile);
            WriteXMLLine(GetXMLLine(2, "Name", false, order.Name), toFile);
            WriteXMLLine(GetXMLLine(2, "System", false, order.System), toFile);
            WriteXMLLine(GetXMLLine(2, "PO", false, order.PO == null ? string.Empty : order.PO), toFile);
            WriteXMLLine(GetXMLLine(2, "PODate", false, order.PODate == null ? string.Empty : order.PODate), toFile);
            if (!string.IsNullOrWhiteSpace(order.SN)) WriteXMLLine(GetXMLLine(2, "SN", false, order.SN), toFile);
            WriteXMLLine(GetXMLLine(2, "StateID", false, order.StateID.ToString()), toFile);

            var orderPakcages = from op in db.OrderPackages where op.OrderID == order.OrderID select op;

            foreach (var orderPackage in orderPakcages)
            {
                var pakcage = (from pk in db.Packages where pk.PackageID == orderPackage.PackageID select pk).FirstOrDefault();
                if (pakcage == null) continue;

                WriteXMLLine(GetXMLLine(2, "Packages", false, orderPackage.PackageID.ToString(), true, "ID"), toFile);
                WriteXMLLine(GetXMLLine(3, "PackageID", false, pakcage.PackageID.ToString()), toFile);
                WriteXMLLine(GetXMLLine(3, "Name", false, pakcage.Name), toFile);
                WriteXMLLine(GetXMLLine(3, "PackageStateID", false, pakcage.PackageStateID.ToString()), toFile);
                WriteXMLLine(GetXMLLine(3, "PackageTypeID", false, pakcage.PackageTypeID.ToString()), toFile);
                WriteXMLLine(GetXMLLine(3, "PDF", false, pakcage.PDF), toFile);

                var packageParts = from pp in db.PackageParts where pp.PackageID == pakcage.PackageID select pp;

                foreach (var pPart in packageParts)
                {
                    var part = (from p in db.Parts where p.PartID == pPart.PartID select p).FirstOrDefault();
                    if (part == null) continue;

                    WriteXMLLine(GetXMLLine(3, "Part", false, part.PartID.ToString(), true, "ID"), toFile);
                    WriteXMLLine(GetXMLLine(4, "PartID", false, part.PartID.ToString()), toFile);
                    WriteXMLLine(GetXMLLine(4, "Number", false, part.PartNo), toFile);
                    WriteXMLLine(GetXMLLine(4, "QuantityOnHand", false, part.QuantityOnHand.ToString()), toFile);
                    WriteXMLLine(GetXMLLine(4, "Description", false, part.Description.Trim()), toFile);
                    WriteXMLLine(GetXMLLine(4, "ProceesTypeID", false, part.ProceesTypeID.ToString()), toFile);

                    WriteXMLLine(GetXMLLine(4, "Vendor", false, part.VendorID.ToString(), true, "ID"), toFile);
                    WriteXMLLine(GetXMLLine(5, "VendorID", false, part.Vendor.VendorID.ToString()), toFile);
                    WriteXMLLine(GetXMLLine(5, "Name", false, part.Vendor.VendorName), toFile);
                    WriteXMLLine(GetXMLLine(4, "Vendor", true), toFile);

                    WriteXMLLine(GetXMLLine(3, "Part", true), toFile);
                }

                WriteXMLLine(GetXMLLine(2, "Packages", true), toFile);
            }

            WriteXMLLine(GetXMLLine(1, "Order", true), toFile);
        }
Example #6
0
        static void Main(string[] args)
        {
            
            using (var db = new ProductionDBEntities())
            {
                var fileName = "Order.xml";
                StreamWriter toFile = null;
                if (File.Exists(fileName)) File.Delete(fileName);
                toFile = new StreamWriter(fileName);

                try
                {
                    
                    var orderLimit = 0;
                    var cts = new CancellationTokenSource();

                    WriteXMLLine(GetXMLLine(0, "Root"), toFile);
                    var result = SetOrdersXMLAsync(db, orderLimit, toFile, cts.Token);

                    while (!result.IsCompleted)
                    {
                        if (Console.KeyAvailable)
                        {
                            Console.ReadKey();
                            if (!cts.IsCancellationRequested)
                            {
                                cts.Cancel();
                            }
                        }
                    }

                    WriteXMLLine(GetXMLLine(0, "Root", true), toFile);
                    
                    
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex);
                }
                finally
                {
                    if (toFile == null) Console.ReadKey();
                    if (toFile != null) toFile.Close();
                }
            }
        }