public void UpdateTreeField(TreeField treeField)
        {
            if (string.IsNullOrEmpty(treeField.Heading))
            {
                Database.Execute2("DELETE FROM TreeFieldHeading WHERE CruiseID = @CruiseID AND Field = @Field;",
                                  new { CruiseID, treeField.Field });
            }
            else
            {
                Database.Execute2(
                    @"INSERT INTO TreeFieldHeading (
    CruiseID,
    Field,
    Heading
) VALUES (
    @CruiseID,
    @Field,
    @Heading
)
ON CONFLICT (CruiseID, Field) DO
UPDATE SET Heading = @Heading
WHERE CruiseID = @CruiseID AND Field = @Field;",
                    new
                {
                    CruiseID,
                    treeField.Field,
                    treeField.Heading,
                });
            }
        }
Beispiel #2
0
        private static void ConstructTree(TreeField root, int index, CollectionField path)
        {
            if (index >= path.Collection.Count)
            {
                return;
            }
            FieldObject nodeObject = path.Collection[index++];

            TreeField child;

            if (!root.Children.TryGetValue(nodeObject, out child))
            {
                child = new TreeField(nodeObject);
                root.Children[nodeObject] = child;
            }

            ConstructTree(child, index, path);
        }
Beispiel #3
0
        private static void ConstructTree(TreeField root, int index, PathField pathField)
        {
            if (index >= pathField.Path.Count)
            {
                return;
            }
            PathStepField pathStepField = pathField.Path[index++] as PathStepField;

            Debug.Assert(pathStepField != null, "pathStepField != null");
            CompositeField compose1PathStep = pathStepField.StepFieldObject as CompositeField;

            Debug.Assert(compose1PathStep != null, "compose1PathStep != null");
            FieldObject nodeObject = compose1PathStep[compose1PathStep.DefaultProjectionKey];

            TreeField child;

            if (!root.Children.TryGetValue(nodeObject, out child))
            {
                child = new TreeField(nodeObject);
                root.Children[nodeObject] = child;
            }

            ConstructTree(child, index, pathField);
        }
Beispiel #4
0
 public void Init()
 {
     _root = new TreeField(new StringField("root"));
 }
Beispiel #5
0
 public TreeFunction()
 {
     _root = new TreeField(new StringField("root"));
 }
 void IAggregateFunction.Init()
 {
     _root = new TreeField(new StringField("root"));
 }
Beispiel #7
0
 public override void Init()
 {
     this.root = new TreeField(new StringField("root"));
 }
Beispiel #8
0
 public TreeState(string tableAlias) : base(tableAlias)
 {
     this.root = new TreeField(new StringField("root"));
 }