Example #1
0
        private ICondition AnalyzeNestedExpression(MultipleExpression expression, IExpression parent, int depth)
        {
            if (expression.Expressions.Length > 1)
            {
                throw new InvalidOperationException("Too many expressions.");
            }

            return(new NestedCondition(AnalyzeInternal(expression.Expressions[0], expression, depth)));
        }
Example #2
0
        private ICondition AnalyzeMultipleExpression(MultipleExpression expression, IExpression parent, int depth)
        {
            if (!(parent is InExpression))
            {
                return(AnalyzeNestedExpression(expression, parent, depth));
            }

            return(new MultipleCondition(
                       expression.Expressions.Select(singleExpression => AnalyzeInternal(singleExpression, expression, depth))
                       ));
        }
Example #3
0
        //Load Document
        private void MenuItem_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openfile = new OpenFileDialog();

            openfile.DefaultExt = ".xml";
            openfile.Filter     = "(.xml)|*xml";
            //openfile.ShowDialog();

            var browsefile = openfile.ShowDialog();

            if (browsefile == true)
            {
                try

                {
                    var path = openfile.FileName;


                    EDITOR_SCREEN.Children.Clear();
                    EDITOR_SCREEN.UpdateLayout();

                    var xmlStr = File.ReadAllText(@path);
                    var str    = XElement.Parse(xmlStr);

                    foreach (var item in str.Elements())
                    {
                        if (item.Name.LocalName.ToString() == "DATABASE")
                        {
                            ((App)App.Current).Server       = item.Attribute("INSTANCE").Value.ToString();
                            ((App)App.Current).DatabaseName = item.Attribute("DATABAZA").Value.ToString();
                            MyIntances.Items.Add(new ComboBoxItem {
                                Content = ((App)App.Current).DatabaseName
                            });
                        }
                        else

                        if (item.Name.LocalName.ToString() == XMLCREATOR.TEKST)
                        {
                            var txt = new Text();
                            var top = item.Attribute(XMLCREATOR.TOP).Value.ToString();
                            txt.Txt.Text = item.Attribute("VALUE").Value.ToString();
                            Canvas.SetTop(txt, double.Parse(top));
                            Canvas.SetLeft(txt, double.Parse(item.Attribute(XMLCREATOR.LEFT).Value.ToString()));
                            txt.Width  = double.Parse(item.Attribute(XMLCREATOR.WIDTH).Value);
                            txt.Height = double.Parse(item.Attribute(XMLCREATOR.HEIGHT).Value.ToString());
                            EDITOR_SCREEN.Children.Add(txt);
                        }

                        else if (item.Name.LocalName.ToString() == XMLCREATOR.FIELD)
                        {
                            var f = new Field();
                            Canvas.SetTop(f, double.Parse(item.Attribute(XMLCREATOR.TOP).Value.ToString()));
                            Canvas.SetLeft(f, double.Parse(item.Attribute(XMLCREATOR.LEFT).Value.ToString()));
                            f.DataBaseData    = new Tuple <string, string>(item.Elements("DB").FirstOrDefault().Attribute("TN").Value.ToString(), item.Elements("DB").FirstOrDefault().Attribute("CN").Value.ToString());
                            f.LblName.Content = f.DataBaseData.Item2;
                            f.Width           = double.Parse(item.Attribute(XMLCREATOR.WIDTH).Value);
                            f.Height          = double.Parse(item.Attribute(XMLCREATOR.HEIGHT).Value);
                            EDITOR_SCREEN.Children.Add(f);
                        }

                        else if (item.Name.LocalName.ToString() == XMLCREATOR.TABELE)
                        {
                            var t = new Tabele();
                            Canvas.SetTop(t, double.Parse(item.Attribute(XMLCREATOR.TOP).Value.ToString()));
                            Canvas.SetLeft(t, double.Parse(item.Attribute(XMLCREATOR.LEFT).Value.ToString()));
                            t.Width  = double.Parse(item.Attribute(XMLCREATOR.WIDTH).Value);
                            t.Height = double.Parse(item.Attribute(XMLCREATOR.HEIGHT).Value);

                            foreach (XElement colums in item.Element(XMLCREATOR.COLUMNS).Elements())
                            {
                                var kol = new Kolone();

                                t.Container.ColumnDefinitions.Add(new ColumnDefinition());
                                Grid.SetColumn(kol, t.Container.ColumnDefinitions.Count - 1);

                                if (colums.Elements("DB").FirstOrDefault() != null)
                                {
                                    kol.FieldColumn.DataBaseData    = new Tuple <string, string>(colums.Elements("DB").FirstOrDefault().Attribute("TN").Value.ToString(), colums.Elements("DB").FirstOrDefault().Attribute("CN").Value.ToString());
                                    kol.FieldColumn.LblName.Content = kol.FieldColumn.DataBaseData.Item2;
                                }
                                else
                                {
                                    var rows = colums.Element("FX").Elements().ToList();
                                    var e1   = new DataExpression();
                                    e1.ColumnName = new Tuple <string, string>(rows[0].Attribute("TN").Value, rows[0].Attribute("CN").Value);
                                    var OPERATOR = rows[1].Value;
                                    var e2       = new DataExpression();
                                    e2.ColumnName = new Tuple <string, string>(rows[2].Attribute("TN").Value, rows[2].Attribute("CN").Value);

                                    if (OPERATOR == "+")
                                    {
                                        var a = new AddExpression(e1, e2);
                                        kol.FieldColumn.Exp             = a;
                                        kol.FieldColumn.LblName.Content = a.getFunctionAsString();
                                    }
                                    else if (OPERATOR == "*")
                                    {
                                        var a = new MultipleExpression(e1, e2);
                                        kol.FieldColumn.Exp             = a;
                                        kol.FieldColumn.LblName.Content = a.getFunctionAsString();
                                    }
                                    else if (OPERATOR == "-")
                                    {
                                        var a = new SubstractExpression(e1, e2);
                                        kol.FieldColumn.Exp             = a;
                                        kol.FieldColumn.LblName.Content = a.getFunctionAsString();
                                    }
                                    else if (OPERATOR == "/")
                                    {
                                        var a = new MultipleExpression(e1, e2);
                                        kol.FieldColumn.Exp             = a;
                                        kol.FieldColumn.LblName.Content = a.getFunctionAsString();
                                    }
                                }

                                kol.ColHeader.Text = colums.Attribute(XMLCREATOR.COLUMN_HEADER).Value.ToString();
                                if (colums.Attribute("TOT") != null)
                                {
                                    if (colums.Attribute("TOT").Value.ToString() == "True")
                                    {
                                        kol.HasTotal = true;
                                    }
                                }
                                t.Container.Children.Add(kol);
                            }
                            EDITOR_SCREEN.Children.Add(t);
                        }

                        //schema DATA
                        else if (item.Name.LocalName == "SCHEMA")
                        {
                            SchemaCreator.CurrentChoise = new TableRelationShips();
                            SchemaCreator.CurrentChoise.Parent_Table = item.Attribute("PT").Value.ToString();
                            SchemaCreator.CurrentChoise.ParentKey    = item.Attribute("PK").Value.ToString();
                            SchemaCreator.CurrentChoise.Child_Table  = item.Attribute("CT").Value.ToString();
                            SchemaCreator.CurrentChoise.ChildKey     = item.Attribute("PK").Value.ToString();
                            SchemaCreator.CurrentChoise.MAIN_KEY.Key = item.Attribute("FILTER").Value.ToString();
                            try
                            {
                                ((App)App.Current).Server       = item.Attribute("INSTANCE").Value.ToString();
                                ((App)App.Current).DatabaseName = item.Attribute("DATABASE").Value.ToString();
                            }
                            catch
                            {
                            }
                            var nextlist = item.Element("NEXT").Elements().ToList();

                            foreach (var item2 in nextlist)
                            {
                                var pt  = item2.Attribute("PT").Value.ToString();
                                var pk  = item2.Attribute("PK").Value.ToString();
                                var ct  = item2.Attribute("CT").Value.ToString();
                                var cky = item2.Attribute("CK").Value.ToString();
                                SchemaCreator.CurrentChoise.NextRelationShips.Add(new TableRelationShips {
                                    Parent_Table = pt, ParentKey = pk, Child_Table = ct, ChildKey = cky
                                });
                            }

                            SchemaCreator.CurrentChoise.LoadColums();
                        }
                    }
                }

                catch (Exception xe)
                {
                    MessageBox.Show("Dokumenti nuk mund te hapet, mund te jete korruptuar ose formati nuk eshte i sakte !");
                }
            }
        }