Example #1
0
        // Update Persistant order information
        public static void ModifyOrder(DiscStatus discOrder)
        {
            if (System.IO.File.Exists(GlobalVar.OrderTrackingFile))
            {
                XmlDocument document = new XmlDocument();
                try
                {
                    document.Load(GlobalVar.OrderTrackingFile);
                    XmlElement Order;
                    Order = (XmlElement)document.SelectSingleNode("//PendingOrders/orders/order[@OrderId=" + "\'" + discOrder.OrderID + "\']");

                    // if Order is not found do not attempt to update
                    if (Order != null)
                    {
                        Order.SetAttribute("Status", discOrder.State);
                        Order.SetAttribute("PercentComplete", discOrder.PercentCompleted);
                        document.Save(GlobalVar.OrderTrackingFile);
                    }
                }
                catch
                {
                    ////MessageBox.Show("Error reading persistant order information" + "\n" + ioEx.Message);
                }
            }
        }
Example #2
0
        //// Read production order file
        public static string GetProductionOrderFile(DiscStatus orderInfo)
        {
            string productionXml = null;

            // Get produciton order File Name
            XmlDocument document = new XmlDocument();

            document.Load(GlobalVar.OrderTrackingFile);
            XmlElement order;

            order = (XmlElement)document.SelectSingleNode("//PendingOrders/orders/order[@OrderId=" + "\'" + orderInfo.OrderID + "\']");
            if (order != null)
            {
                string pfilename = order.GetAttribute("ProductionOrderPath");

                // Read production order file into string
                try
                {
                    System.IO.StreamReader pFile = new System.IO.StreamReader(pfilename);
                    productionXml = pFile.ReadToEnd();
                    pFile.Close();
                }
                catch
                {
                    return(string.Empty);
                }
            }

            return(productionXml);
        }
Example #3
0
        // Remove Persistant order information
        public static void RemoveOrder(DiscStatus discOrder)
        {
            // Make sure file exists before attempting to remove orders
            if (System.IO.File.Exists(GlobalVar.OrderTrackingFile))
            {
                XmlDocument document = new XmlDocument();
                try
                {
                    document.Load(GlobalVar.OrderTrackingFile);
                    XmlNode completedOrder;
                    completedOrder = document.SelectSingleNode("//PendingOrders/orders/order[@OrderId=" + "\'" + discOrder.OrderID + "\']");

                    // if Order is not found do not attempt to update
                    if (completedOrder != null)
                    {
                        XmlNode parentNode;
                        parentNode = completedOrder.ParentNode;
                        parentNode.RemoveChild(completedOrder);
                        document.Save(GlobalVar.OrderTrackingFile);
                    }
                }
                catch
                {
                    ////MessageBox.Show("Error reading persistant order information" + "\n" + ioEx.Message);
                }
            }
        }
Example #4
0
        // Scan order file for recoverable orders
        public static ArrayList GetRecoverableStatus()
        {
            // Make sure file exists before attempting scan
            if (System.IO.File.Exists(GlobalVar.OrderTrackingFile))
            {
                XmlDocument document = new XmlDocument();
                document.Load(GlobalVar.OrderTrackingFile);
                XmlNodeList Order;
                Order = (XmlNodeList)document.SelectNodes("//PendingOrders/orders/*");

                ArrayList recoverableStatuses = new ArrayList();

                foreach (XmlNode node in Order)
                {
                    DiscStatus status;
                    status = new DiscStatus();
                    string durable = node.Attributes.GetNamedItem("Durable").Value;
                    if (durable == "true")
                    {
                        status.OrderID  = node.Attributes.GetNamedItem("OrderId").Value;
                        status.ClientID = node.Attributes.GetNamedItem("ClientId").Value;
                        status.Status   = node.Attributes.GetNamedItem("Status").Value;
                        recoverableStatuses.Add(status);
                        status = null;
                    }
                    else
                    {
                        // order is not durable it cannot be recovered
                        status.OrderID  = node.Attributes.GetNamedItem("OrderId").Value;
                        status.ClientID = node.Attributes.GetNamedItem("ClientId").Value;
                        status.Status   = node.Attributes.GetNamedItem("Status").Value;
                        OrderTracking.DeleteProductionFile(status.OrderID);
                        OrderTracking.RemoveOrder(status);
                    }
                }

                if (recoverableStatuses.Count == 0)
                {
                    return(null);
                }
                else
                {
                    return(recoverableStatuses);
                }
            }
            else
            {
                return(null);
            }
        }