Ejemplo n.º 1
0
        public IssueTracker()
        {
            Document = new XDocument();
            using (var xmlStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LiveLinqIssueTrackerXML.Data.IssueTracking.xml"))
            {
                Debug.Assert(xmlStream != null);
                XmlReaderSettings settings = new XmlReaderSettings {
                    IgnoreWhitespace = true
                };
                XmlReader reader = XmlReader.Create(xmlStream, settings);
                XElement  data   = XElement.Load(reader);
                Document.ReplaceNodes(data);
            }

            Employees = from x in Document.AsLive().Root().Elements("Employees")
                        select new Employee
            {
                EmployeeID = (int)x.Element("EmployeeID"),
                FullName   = (string)x.Element("FullName")
            };

            Features = from x in Document.AsLive().Root().Elements("Features")
                       select new Feature
            {
                ProductID   = (int)x.Element("ProductID"),
                FeatureID   = (int)x.Element("FeatureID"),
                FeatureName = (string)x.Element("FeatureName")
            };

            Products = from x in Document.AsLive().Root().Elements("Products")
                       join f in Features on(int) x.Element("ProductID") equals f.ProductID into g
                       select new Product
            {
                ProductID   = (int)x.Element("ProductID"),
                ProductName = (string)x.Element("ProductName"),
                Features    = g
            };

            Issues = from x in Document.AsLive().Root().Elements("Issues")
                     select new Issue
            {
                IssueID     = (int)x.Element("IssueID"),
                ProductID   = (int)x.Element("ProductID"),
                FeatureID   = (int)x.Element("FeatureID"),
                Description = (string)x.Element("Description"),
                AssignedTo  = (int)x.Element("AssignedTo"),
                Fixed       = (bool)x.Element("Fixed")
            };

            _issuesById = Issues.Rows.Indexes.Add(row => ((Issue)row.Value).IssueID, true);

            Assignments = from x in Document.AsLive().Root().Elements("Assignments")
                          select new Assignment
            {
                EmployeeID = (int)x.Element("EmployeeID"),
                ProductID  = (int)x.Element("ProductID"),
                FeatureID  = (int)x.Element("FeatureID"),
            };
        }
Ejemplo n.º 2
0
        public Form1()
        {
            InitializeComponent();

            using (var xmlStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LiveLinqToXML.Northwind.xml"))
            {
                System.Diagnostics.Debug.Assert(xmlStream != null);
                XmlReaderSettings settings = new XmlReaderSettings {
                    IgnoreWhitespace = true
                };
                XmlReader reader = XmlReader.Create(xmlStream, settings);
                XDocument doc    = XDocument.Load(reader);
                document = doc.AsLive();
            }

            customers = document.Descendants("Customers");
            orders    = document.Descendants("Orders");
        }
Ejemplo n.º 3
0
        public IssueTracker()
        {
            var doc = new XDocument();

            using (var xmlStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LiveLinqIssueTrackerObjects.Data.IssueTracking.xml"))
            {
                Debug.Assert(xmlStream != null);
                XmlReaderSettings settings = new XmlReaderSettings {
                    IgnoreWhitespace = true
                };
                XmlReader reader = XmlReader.Create(xmlStream, settings);
                XElement  data   = XElement.Load(reader);
                doc.ReplaceNodes(data);
            }

            foreach (var x in doc.AsLive().Root().Elements("Employees"))
            {
                Employees.Add(new EmployeeItem
                {
                    EmployeeID = (int)x.Element("EmployeeID"),
                    FullName   = (string)x.Element("FullName")
                });
            }

            foreach (var x in doc.AsLive().Root().Elements("Features"))
            {
                Features.Add(new FeatureItem
                {
                    ProductID   = (int)x.Element("ProductID"),
                    FeatureID   = (int)x.Element("FeatureID"),
                    FeatureName = (string)x.Element("FeatureName")
                });
            }

            foreach (var x in doc.AsLive().Root().Elements("Products"))
            {
                Products.Add(new ProductItem
                {
                    ProductID   = (int)x.Element("ProductID"),
                    ProductName = (string)x.Element("ProductName"),
                });
            }

            foreach (var x in doc.AsLive().Root().Elements("Issues"))
            {
                Issues.Add(new IssueItem
                {
                    IssueID     = (int)x.Element("IssueID"),
                    ProductID   = (int)x.Element("ProductID"),
                    FeatureID   = (int)x.Element("FeatureID"),
                    Description = (string)x.Element("Description"),
                    AssignedTo  = (int)x.Element("AssignedTo"),
                    Fixed       = (bool)x.Element("Fixed")
                });
            }

            foreach (var x in doc.AsLive().Root().Elements("Assignments"))
            {
                Assignments.Add(new AssignmentItem
                {
                    EmployeeID = (int)x.Element("EmployeeID"),
                    ProductID  = (int)x.Element("ProductID"),
                    FeatureID  = (int)x.Element("FeatureID"),
                });
            }

            _issuesById = Issues.Indexes.Add(i => i.IssueID, true);
            _assignmentsByEmployeeId = Assignments.Indexes.Add(a => a.EmployeeID);
        }