public static WorkDocument GetDocumentByID(int documentID) { WorkDocument workDocument = BsoArchiveEntities.Current.WorkDocuments.FirstOrDefault(wa => wa.WorkDocumentID == documentID) ?? WorkDocument.NewWorkDocument(); return(workDocument); }
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(); } } } }
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); }
/// <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); }
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)); }
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); }