public static LabelModel OpenFile() { LabelModel labelModel = null; var fileDialog = new OpenFileDialog(); fileDialog.DefaultExt = ".lblc"; fileDialog.Filter = "Label Creator document (.lblc)|*.lblc"; bool?result = fileDialog.ShowDialog(); if (result == true) { string filename = fileDialog.FileName; try { XDocument doc = XDocument.Parse(File.ReadAllText(filename)); labelModel = ParseXml(doc); } catch (Exception ex) { MessageBox.Show(ex.Message, "Read file text", MessageBoxButton.OK, MessageBoxImage.Error); } } return(labelModel); }
private static LabelModel ParseXml(XDocument doc) { var canvas = doc.Descendants(NamespaceCanvas + "CanvasForLabel").FirstOrDefault(); if (canvas != null) { try { LabelModel lm = new LabelModel(); var w = canvas.Attribute("Width").Value; var h = canvas.Attribute("Height").Value; var idGrupa = canvas.Attribute("Id_Grupa")?.Value.Replace("{assembly:Null}", ""); lm.CanvasWidht = Convert.ToDouble(StrToDouble(w)); lm.CanvasHeight = Convert.ToDouble(StrToDouble(h)); if (idGrupa != "") { lm.Id_Grupa = Convert.ToInt32(idGrupa); } GetLabels(canvas, lm.Components); GetImages(canvas, lm.Components); GetBarcodes(canvas, lm.Components); return(lm); } catch (Exception ex) { throw ex; } } throw new Exception("Nie rozpoznano głownego elementu Canvas z pliku"); }