private void btnAddDoc_Click(object sender, EventArgs e) { if (UpdateStatus) { MemoryStream ms = new MemoryStream(); pictureBoxDoc.Image.Save(ms, pictureBoxDoc.Image.RawFormat); byte[] docImg = ms.ToArray(); if (Convert.ToInt32(comboDocTit.SelectedValue) >= 0 && docImg.Length > 1) { ClassEmployee employee = new ClassEmployee(); employee.UPDATE_DOC ( ImageId, docImg, comboDocTit.Text, txtDocDesc.Text, txtDocIssue.Text, DtpDoc.Value, ClassUserParam.UserId ); MessageBox.Show("تم تعديل الوثيقة بنجاح", "تعديل وثيقة", MessageBoxButtons.OK, MessageBoxIcon.Information); Close(); } else { MessageBox.Show("البيانات غير مكتملة", "تعديل وثيقة", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MemoryStream ms = new MemoryStream(); pictureBoxDoc.Image.Save(ms, pictureBoxDoc.Image.RawFormat); byte[] docImg = ms.ToArray(); if (Convert.ToInt32(comboDocTit.SelectedValue) >= 0 && docImg.Length > 1) { ClassDoc classDoc = new ClassDoc(); classDoc.INSERT_DOC ( docImg, comboDocTit.Text, txtDocDesc.Text, txtDocIssue.Text, DtpDoc.Value, EmpId, ClassUserParam.UserId ); EmployeeFolder.GetEmployeeFolder.DgvEmpFolder.DataSource = classDoc.GET_EMP_FOLDER(Convert.ToInt32(EmpId)); this.Close(); } else { MessageBox.Show("البيانات غير مكتملة", "اضافة وثيقة", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
static void Main(string[] args) { if (args.Length != 2) { Console.WriteLine("Expected usage: Docgen.exe <input folder> <output file>"); return; } string xmlDocsPath = args[0]; XDocument doc = XDocument.Load(Path.Combine(xmlDocsPath, "namespace_m_g_d_f.xml")); var classElements = doc.Descendants("innerclass").Select(c => new { Name = c.Value, Ref = c.Attribute("refid").Value }); var api = new ApiDoc { Classes = new List <ClassDoc>(), Structs = new List <ClassDoc>(), Functions = new List <MemberDoc>(), Enums = new List <EnumDoc>(), Mappings = new Dictionary <string, string>() }; // parse out all class information foreach (var c in classElements) { XDocument classDoc = XDocument.Load(Path.Combine(xmlDocsPath, c.Ref + ".xml")); var newClass = new ClassDoc { Id = c.Ref, Name = c.Name.Replace("MGDF::", string.Empty), Description = classDoc.Descendants("compounddef").First().Element("briefdescription").Value.Capitalize(), Members = new List <MemberDoc>(), InheritsFromTypeRefIds = new List <string>(), InheritsFromUnreferencedType = new List <string>() }; Console.WriteLine($@"Processing class {newClass.Name}"); if (classDoc.Descendants("compounddef").First().Element("detaileddescription") != null) { newClass.Description += classDoc.Descendants("compounddef").First().Element("detaileddescription").Value; } Console.WriteLine($@" computing inheritance tree..."); // figure out what classes this class inherits from var inherits = classDoc.Descendants("compounddef").First().Element("inheritancegraph"); if (inherits != null) { var self = inherits.Descendants("node").Single(n => { var link = n.Element("link"); return(link != null && link.Attribute("refid").Value == newClass.Id); }); if (self.Elements("childnode").Count() != 0) { var parent = inherits.Descendants("node").SingleOrDefault(n => n.Attribute("id").Value == self.Elements("childnode").First().Attribute("refid").Value); while (true) { if (parent.Element("link") != null) { newClass.InheritsFromTypeRefIds.Add(parent.Element("link").Attribute("refid").Value); } else { newClass.InheritsFromUnreferencedType.Add(parent.Element("label").Value); } if (parent.Elements("childnode").Count() == 0) { break; } parent = inherits.Descendants("node").SingleOrDefault(n => n.Attribute("id").Value == parent.Elements("childnode").First().Attribute("refid").Value); } } } api.Mappings.Add(newClass.Id, newClass.Name); Console.WriteLine($@" parsing members..."); foreach (var m in classDoc.Descendants("memberdef")) { var newMember = ParseMemberDoc(m); newClass.Members.Add(newMember); } if (classDoc.Descendants("compounddef").First().Attribute("kind").Value == "class") { api.Classes.Add(newClass); } else { api.Structs.Add(newClass); } } // parse out all free function information var functionElements = doc.Descendants("memberdef").Where(m => m.Attribute("kind").Value == "function"); foreach (var f in functionElements) { var m = ParseMemberDoc(f); api.Functions.Add(m); Console.WriteLine($@"Processing function {m.Name}"); } // parse out all enum information var enumElements = doc.Descendants("memberdef").Where(m => m.Attribute("kind").Value == "enum"); foreach (var e in enumElements) { var newEnum = new EnumDoc { Id = e.Attribute("id").Value, Name = e.Element("name").Value, Description = e.Element("briefdescription").Value.Capitalize(), Values = new List <string>() }; Console.WriteLine($@"Processing enum {newEnum.Name}"); api.Mappings.Add(newEnum.Id, newEnum.Name); foreach (var value in e.Descendants("enumvalue")) { newEnum.Values.Add(value.Element("name").Value); } api.Enums.Add(newEnum); } api.Classes.Sort((a, b) => a.Name.CompareTo(b.Name)); api.Functions.Sort((a, b) => a.Name.CompareTo(b.Name)); api.Enums.Sort((a, b) => a.Name.CompareTo(b.Name)); string output = JsonConvert.SerializeObject(api); File.WriteAllText(args[1], output); }