public Project_ProjectDetail( DTO_Project project = null, DTO_ProjectDetail projectDetail = null) { Project = project; ProjectDetail = projectDetail; }
public Project_Author( DTO_Project project = null, DTO_Author author = null) { Project = project; Author = author; }
public bool ExportProjectToCofFile(DTO_Project info, string exportDir) { // OVERVIEW ====================================== XElement rootElem = new XElement(BusinessLogic.Config.XML_KEY_COF_HEAD, info.Desc); rootElem.Add(new XAttribute(BusinessLogic.Config.XML_KEY_COF_ATTRIBUTE_PROJECT_NAME, info.ProjectName)); XDocument doc = new XDocument(rootElem); // AUTHORS ======================================= XElement authorElem = new XElement(BusinessLogic.Config.XML_KEY_COF_GROUP); authorElem.Add(new XAttribute(BusinessLogic.Config.XML_KEY_COF_GROUP_ATTRIBUTE_NAME, info.GroupName)); foreach (DTO_Author author in info.Authors) { XElement authorDetail = new XElement(BusinessLogic.Config.XML_KEY_COF_AUTHOR); authorDetail.Add(new XAttribute(BusinessLogic.Config.XML_KEY_COF_AUTHOR_ATTRIBUTE_NAME, author.Name)); authorDetail.Value = author.AdditionalInfo; authorElem.Add(authorDetail); } // NOTES ========================================= XElement noteElem = new XElement(BusinessLogic.Config.XML_KEY_COF_NOTES); foreach (string noteDetail in info.Notes) { noteElem.Add(new XElement(BusinessLogic.Config.XML_KEY_COF_NOTE_DETAIL, noteDetail)); } // SOURCE EXPORT ================================= //TODO: copy project source to dir. // EXPORT COF ==================================== doc.Add(authorElem); doc.Add(noteElem); return FileBusiness.XmlHandler.writeToFile(exportDir, doc, true); }
private DTO_Project ReadCofFile(string fullPath) { try { DTO_Project result = new DTO_Project(); XDocument data = FileBusiness.XmlHandler.readFromFile(fullPath, BusinessLogic.Config.XML_KEY_COF_HEAD); // OVERVIEW INFO ============================================= var overview = data.Root.Element(XName.Get(BusinessLogic.Config.XML_KEY_COF_HEAD)); result.ProjectName = overview.Element(XName.Get(BusinessLogic.Config.XML_KEY_COF_ATTRIBUTE_PROJECT_NAME)).Value; result.Desc = overview.Value; // GROUP INFO ================================================ var group = data.Root.Element(XName.Get(BusinessLogic.Config.XML_KEY_COF_GROUP)); result.GroupName = group.Attribute(XName.Get(BusinessLogic.Config.XML_KEY_COF_GROUP_ATTRIBUTE_NAME)).Value; foreach (var author in group.Elements(XName.Get(BusinessLogic.Config.XML_KEY_COF_AUTHOR))) { DTO_Author dtoAuthor = new DTO_Author(); dtoAuthor.Name = author.Attribute(XName.Get(BusinessLogic.Config.XML_KEY_COF_AUTHOR_ATTRIBUTE_NAME)).Value; dtoAuthor.AdditionalInfo = author.Value; result.Authors.Add(dtoAuthor); } // NOTES ===================================================== var notes = data.Root.Element(XName.Get(BusinessLogic.Config.XML_KEY_COF_NOTES)); foreach (var noteDetail in notes.Elements(XName.Get(BusinessLogic.Config.XML_KEY_COF_NOTE_DETAIL))) { result.Notes.Add(noteDetail.Value); } return result; } catch (Exception) { return null; } }