示例#1
0
        public static WorkDocument GetDocumentByID(int documentID)
        {
            WorkDocument workDocument = BsoArchiveEntities.Current.WorkDocuments.FirstOrDefault(wa => wa.WorkDocumentID == documentID) ??
                                        WorkDocument.NewWorkDocument();

            return(workDocument);
        }
示例#2
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();
                    }
                }
            }
        }
示例#3
0
        private static WorkDocument BuildWorkDocument(System.Xml.Linq.XElement node, int workDocumentID, WorkDocument workDocument)
        {
            WorkDocument doc = WorkDocument.NewWorkDocument();

            doc.WorkDocumentID           = workDocumentID;
            doc.WorkDocumentName         = (string)node.GetXElement(Constants.WorkDocument.workDocumentNameElement);
            doc.WorkDocumentNotes        = (string)node.GetXElement(Constants.WorkDocument.workDocumentNotesElement);
            doc.WorkDocumentSummary      = (string)node.GetXElement(Constants.WorkDocument.workDocumentSummaryElement);
            doc.WorkDocumentFileLocation = (string)node.GetXElement(Constants.WorkDocument.workDocumentFileLocationElement);
            return(doc);
        }
示例#4
0
        /// <summary>
        /// Add WorkArtist object to WorkArtists in Work
        /// </summary>
        /// <param name="work"></param>
        /// <param name="artist"></param>
        /// <remarks>
        /// Checks to see if the Work object's collection of WorkArtists contains
        /// the WorkArtist object passed. If yes then just return, otherwise Add.
        /// </remarks>
        internal static void AddWorkDocument(Work work, WorkDocument doc)
        {
            var wDoc = work.WorkDocuments.FirstOrDefault(wa => wa.WorkDocumentID == doc.WorkDocumentID && wa.WorkID == work.WorkID);

            if (wDoc != null)
            {
                return;
            }

            work.WorkDocuments.Add(doc);
        }
示例#5
0
        public static WorkDocument GetWorkDocumentFromNode(System.Xml.Linq.XElement node)
        {
            if (node == null || node.Element(Constants.WorkDocument.workDocumentIDElement) == null)
            {
                return(null);
            }

            int workDocumentID = 0;

            int.TryParse((string)node.GetXElement(Constants.WorkDocument.workDocumentIDElement), out workDocumentID);

            WorkDocument workDocument = WorkDocument.NewWorkDocument();

            return(BuildWorkDocument(node, workDocumentID, workDocument));
        }
示例#6
0
        public static Work GetWorkDocuments(System.Xml.Linq.XElement node, Work work)
        {
            IEnumerable <System.Xml.Linq.XElement> workDocumentElements = node.Descendants("workDocument");

            foreach (System.Xml.Linq.XElement document in workDocumentElements)
            {
                WorkDocument doc = WorkDocument.GetWorkDocumentFromNode(document);
                if (doc == null)
                {
                    continue;
                }

                Work.AddWorkDocument(work, doc);
            }
            return(work);
        }