예제 #1
0
        public void UpdateData(XDocument doc, string columnName, string tagName)
        {
            IEnumerable <System.Xml.Linq.XElement> eventElements = doc.Descendants(Constants.Event.eventElement);

            foreach (System.Xml.Linq.XElement eventElement in eventElements)
            {
                var workElements = eventElement.Descendants(Constants.Work.workElement);
                foreach (var workElement in workElements)
                {
                    Work workItem = Work.GetWorkFromNode(workElement);

                    IEnumerable <System.Xml.Linq.XElement> workDocumentElements = workElement.Descendants(Constants.WorkDocument.workDocumentElement);
                    foreach (var workDocumentElement in workDocumentElements)
                    {
                        int documentID = 0;
                        int.TryParse((string)workDocumentElement.GetXElement(Constants.WorkArtist.workArtistIDElement), out documentID);

                        WorkDocument updateWorkDocument = WorkDocument.GetDocumentByID(documentID, workItem.WorkID);

                        updateWorkDocument = WorkDocument.BuildWorkDocument(workDocumentElement, documentID, updateWorkDocument);

                        if (updateWorkDocument == null)
                        {
                            continue;
                        }

                        object newValue = (string)workDocumentElement.GetXElement(tagName);

                        BsoArchiveEntities.UpdateObject(updateWorkDocument, newValue, columnName);

                        BsoArchiveEntities.Current.Save();
                    }
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Create EventWork objects
        /// </summary>
        /// <remarks>
        /// Takes an Event object along with an XElement node which represents
        /// an eventItem and gets all the workItem child elements from it and
        /// creates EventWork item objects for each one.
        /// </remarks>
        /// <param name="eventItem"></param>
        /// <param name="node"></param>
        public void AddEventWorkItems(Event eventItem, XElement node)
        {
            Log.Debug("Started adding event work items.");
            IEnumerable <XElement> workElements = node.Descendants("workItem");

            foreach (XElement workElement in workElements)
            {
                Work workItem = Work.GetWorkFromNode(workElement);
                if (workItem != null && workItem.WorkID != 0)
                {
                    eventItem.AddEventWork(workItem);
                }
            }

            Log.Debug("Finished adding event work items.");
        }
예제 #3
0
        /// <summary>
        /// Updates the existing database Work on the column name using the
        /// XML document parsed using the tagName.
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="columnName"></param>
        /// <param name="tagName"></param>
        public void UpdateData(System.Xml.Linq.XDocument doc, string columnName, string tagName)
        {
            IEnumerable <System.Xml.Linq.XElement> eventElements = doc.Descendants(Constants.Event.eventElement);

            foreach (System.Xml.Linq.XElement element in eventElements)
            {
                //System.Xml.Linq.XElement workNode = element.Element(Constants.Work.workElement);
                var workNodes = element.Descendants(Constants.Work.workElement);
                foreach (var workNode in workNodes)
                {
                    Work updateWork = Work.GetWorkFromNode(workNode);

                    if (updateWork == null)
                    {
                        continue;
                    }

                    object newValue = (string)workNode.GetXElement(tagName);

                    BsoArchiveEntities.UpdateObject(updateWork, newValue, columnName);
                }
            }
        }