protected void lnkNew_Click(object sender, EventArgs e)
    {
        var lnkBtn = sender as ImageLinkButton;

        if (lnkBtn == null)
        {
            return;
        }

        var treeNode = TreeNodeUnit.Parse(lnkBtn.CommandArgument);

        if (treeNode == null)
        {
            return;
        }

        if (treeNode.Type == "Categories")
        {
            ResetAttributeCategoryForm();
            hdAttributeCategoryProjectID.Value = Convert.ToString(treeNode.ParentID);

            lblCategoryContext.Text = "კატეგორიების დამატება";
            upnlAttributeCategory.Update();
            mpeAttributeCategory.Show();
        }
        else if (treeNode.Type == "Types")
        {
            ResetAttributeTypeForm();
            hdAttributeTypeProjectID.Value = Convert.ToString(treeNode.ParentID);

            lblTypeContext.Text = "ტიპების დამატება";
            upnlAttributeTypes.Update();
            mpeAttributeType.Show();
        }
    }
    protected void lnkEdit_Click(object sender, EventArgs e)
    {
        var lnkBtn = sender as ImageLinkButton;

        if (lnkBtn == null)
        {
            return;
        }

        var treeNode = TreeNodeUnit.Parse(lnkBtn.CommandArgument);

        if (treeNode == null)
        {
            return;
        }

        if (treeNode.Type == "Category")
        {
            FillAttributeCategoryForm(treeNode);

            lblCategoryContext.Text = "კატეგორიების რედაქტირება";
            upnlAttributeCategory.Update();
            mpeAttributeCategory.Show();
        }
        else if (treeNode.Type == "Type")
        {
            FillAttributeTypeForm(treeNode);

            lblTypeContext.Text = "ტიპების რედაქტირება";
            upnlAttributeTypes.Update();
            mpeAttributeType.Show();
        }
    }
    private TreeNodeUnit GetParentByType(IList <TreeNodeUnit> list, TreeNodeUnit unit, String type)
    {
        while (unit != null)
        {
            if (unit.Type == type)
            {
                return(unit);
            }

            unit = list.FirstOrDefault(n => n.ID == unit.ParentID);
        }

        return(null);
    }
    protected void lnkDelete_Click(object sender, EventArgs e)
    {
        var lnkBtn = sender as LinkButton;

        if (lnkBtn == null)
        {
            return;
        }

        var treeNode = TreeNodeUnit.Parse(lnkBtn.CommandArgument);

        if (treeNode == null)
        {
            return;
        }

        if (treeNode.Type == "Schema")
        {
            var attributeSchema = (from n in DataContext.UM_AttributesSchemas
                                   where n.ID == treeNode.ID
                                   select n).FirstOrDefault();

            if (attributeSchema != null)
            {
                foreach (var attributesSchemaNode in attributeSchema.AttributesSchemaNodes)
                {
                    attributesSchemaNode.DateDeleted = DateTime.Now;
                }

                attributeSchema.DateDeleted = DateTime.Now;
            }
        }
        else if (treeNode.Type == "Node")
        {
            var attributeSchemaNode = (from n in DataContext.UM_AttributesSchemaNodes
                                       where n.ID == treeNode.ID
                                       select n).FirstOrDefault();

            if (attributeSchemaNode != null)
            {
                attributeSchemaNode.DateDeleted = DateTime.Now;
            }
        }

        DataContext.SubmitChanges();

        FillAttributesTree();
    }
    protected void lnkDelete_Click(object sender, EventArgs e)
    {
        var lnkBtn = sender as ImageLinkButton;

        if (lnkBtn == null)
        {
            return;
        }

        var treeNode = TreeNodeUnit.Parse(lnkBtn.CommandArgument);

        if (treeNode == null)
        {
            return;
        }

        if (treeNode.Type == "Category")
        {
            var attributeCategory = (from n in DataContext.UM_AttributeCategories
                                     where n.ID == treeNode.ID
                                     select n).FirstOrDefault();

            if (attributeCategory != null)
            {
                attributeCategory.DateDeleted = DateTime.Now;
            }
        }
        else if (treeNode.Type == "Type")
        {
            var attributeType = (from n in DataContext.UM_AttributeTypes
                                 where n.ID == treeNode.ID
                                 select n).FirstOrDefault();

            if (attributeType != null)
            {
                attributeType.DateDeleted = DateTime.Now;
            }
        }

        DataContext.SubmitChanges();

        FillAttributesTree();
    }
    protected void FillAttributeTypeForm(TreeNodeUnit unit)
    {
        var item = (from n in DataContext.UM_AttributeTypes
                    where n.ID == unit.ID
                    select n).FirstOrDefault();

        if (item == null)
        {
            return;
        }

        var list = (IList <TreeNodeUnit>)tlAttributes.DataSource;

        var projectUnit = GetParentByType(list, unit, "Project");

        hdAttributeTypeProjectID.Value = Convert.ToString(projectUnit.ID);
        hdAttributeTypeID.Value        = Convert.ToString(unit.ID);
        tbAttributeType.Text           = item.Name;
    }
    protected void lnkEdit_Click(object sender, EventArgs e)
    {
        var lnkBtn = sender as LinkButton;

        if (lnkBtn == null)
        {
            return;
        }

        var treeNode = TreeNodeUnit.Parse(lnkBtn.CommandArgument);

        if (treeNode == null)
        {
            return;
        }

        if (treeNode.Type == "Schema")
        {
            FillAttributeSchemaForm(treeNode.ID);

            upnlAttributeSchema.Update();
            mpeAttributeSchema.Show();
        }
        else if (treeNode.Type == "Node")
        {
            var list = (IList <TreeNodeUnit>)tlAttributes.DataSource;

            var node    = list.Single(n => n.ID == treeNode.ID);
            var schema  = list.Single(n => n.ID == node.ParentID);
            var project = list.Single(n => n.ID == schema.ParentID);

            FillCategoriesAndTypes(project.ID);
            FillAttributeSchemaNodeForm(treeNode.ID);

            upnlAttributeSchemaNode.Update();
            mpeAttributeSchemaNode.Show();
        }
    }
    protected void lnkNew_Click(object sender, EventArgs e)
    {
        var lnkBtn = sender as LinkButton;

        if (lnkBtn == null)
        {
            return;
        }

        var treeNode = TreeNodeUnit.Parse(lnkBtn.CommandArgument);

        if (treeNode == null)
        {
            return;
        }

        if (treeNode.Type == "Project")
        {
            ResetAttributeSchemaForm();

            hdAttributeSchemaParentID.Value = treeNode.ID.ToString();

            upnlAttributeSchema.Update();
            mpeAttributeSchema.Show();
        }
        else if (treeNode.Type == "Schema")
        {
            ResetAttributeSchemaNodeForm();

            hdAttributeSchemaNodeParentID.Value = treeNode.ID.ToString();

            FillCategoriesAndTypes(treeNode.ParentID.Value);

            upnlAttributeSchemaNode.Update();
            mpeAttributeSchemaNode.Show();
        }
    }
Ejemplo n.º 9
0
        public static IEnumerable <TreeNodeUnit> CreateListOfTree(ISession session, AttributeSchemasModel model)
        {
            if (model == null || model.List == null)
            {
                yield break;
            }

            var projects = (from n in session.Query <UM_Project>()
                            where n.DateDeleted == null
                            orderby n.Name
                            select n).ToList();

            var globalProjectEntity = new UM_Project
            {
                ID   = Guid.Empty,
                Name = "Global",
            };

            projects.Insert(0, globalProjectEntity);

            var schemasLp = model.List.ToLookup(n => n.ProjectID.GetValueOrDefault());

            foreach (var project in projects)
            {
                var projectUnit = new TreeNodeUnit
                {
                    ID   = project.ID,
                    Name = project.Name,
                    Type = "Project"
                };

                yield return(projectUnit);

                var schemas = schemasLp[project.ID];
                foreach (var schema in schemas)
                {
                    var schemaUnit = new TreeNodeUnit
                    {
                        ID       = schema.ID,
                        Name     = schema.Name,
                        ParentID = project.ID,
                        Type     = "Schema"
                    };

                    yield return(schemaUnit);

                    var fields = schema.Fields;
                    if (fields != null && fields.List != null)
                    {
                        foreach (var field in schema.Fields.List)
                        {
                            var nodeUnit = new TreeNodeUnit
                            {
                                ID       = field.ID,
                                Name     = field.Name,
                                ParentID = schema.ID,
                                Type     = "Field"
                            };

                            yield return(nodeUnit);
                        }
                    }
                }
            }
        }
Ejemplo n.º 10
0
        public static IEnumerable <TreeNodeUnit> CreateListOfTree(ISession session)
        {
            var projects = (from n in session.Query <UM_Project>()
                            where n.DateDeleted == null
                            orderby n.Name
                            select n).ToList();

            var globalProjectEntity = new UM_Project
            {
                ID   = Guid.Empty,
                Name = "Global",
            };

            projects.Insert(0, globalProjectEntity);

            foreach (var project in projects)
            {
                var projectUnit = new TreeNodeUnit
                {
                    ID   = project.ID,
                    Name = project.Name,
                    Type = "Project"
                };

                yield return(projectUnit);

                if (project.AttributesSchemas != null)
                {
                    foreach (var schema in project.AttributesSchemas)
                    {
                        if (schema.DateDeleted != null)
                        {
                            continue;
                        }

                        var schemaUnit = new TreeNodeUnit
                        {
                            ID       = schema.ID,
                            Name     = schema.Name,
                            ParentID = project.ID,
                            Type     = "Schema"
                        };

                        yield return(schemaUnit);

                        if (schema.AttributeFields != null)
                        {
                            foreach (var field in schema.AttributeFields)
                            {
                                if (field.DateDeleted != null)
                                {
                                    continue;
                                }

                                var nodeUnit = new TreeNodeUnit
                                {
                                    ID       = field.ID,
                                    Name     = field.Name,
                                    ParentID = schema.ID,
                                    Type     = "Field"
                                };

                                yield return(nodeUnit);
                            }
                        }
                    }
                }
            }
        }
    protected IEnumerable <TreeNodeUnit> CreateListOfTree()
    {
        var projects = (from n in DataContext.UM_Projects
                        where n.DateDeleted == null
                        orderby n.Name
                        select n).ToList();

        var attributesSchemasLp = (from n in DataContext.UM_AttributesSchemas
                                   where n.DateDeleted == null
                                   orderby n.Name
                                   select n).ToLookup(n => n.ProjectID.GetValueOrDefault());

        var attributesSchemaNodesLp = (from n in DataContext.UM_AttributesSchemaNodes
                                       where n.DateDeleted == null
                                       orderby n.Name
                                       select n).ToLookup(n => n.AttributesSchemaID);

        var globalProjectEntity = new UM_Project
        {
            ID   = Guid.Empty,
            Name = "Global",
        };

        projects.Insert(0, globalProjectEntity);

        foreach (var project in projects)
        {
            var projectUnit = new TreeNodeUnit
            {
                ID   = project.ID,
                Name = project.Name,
                Type = "Project"
            };

            yield return(projectUnit);

            var attributesSchemas = attributesSchemasLp[project.ID];
            foreach (var attributesSchema in attributesSchemas)
            {
                var schemaUnit = new TreeNodeUnit
                {
                    ID       = attributesSchema.ID,
                    Name     = attributesSchema.Name,
                    ParentID = project.ID,
                    Type     = "Schema"
                };

                yield return(schemaUnit);

                var attributesSchemaNodes = attributesSchemaNodesLp[attributesSchema.ID];
                foreach (var attributesSchemaNode in attributesSchemaNodes)
                {
                    var nodeUnit = new TreeNodeUnit
                    {
                        ID       = attributesSchemaNode.ID,
                        Name     = attributesSchemaNode.Name,
                        ParentID = attributesSchema.ID,
                        Type     = "Node"
                    };

                    yield return(nodeUnit);
                }
            }
        }
    }
    private IEnumerable <TreeNodeUnit> CreateListOfTree()
    {
        var projects = (from n in DataContext.UM_Projects
                        where n.DateDeleted == null
                        orderby n.Name
                        select n).ToList();

        var attributeTypesLp = (from n in DataContext.UM_AttributeTypes
                                where n.DateDeleted == null
                                select n).ToLookup(n => n.ProjectID.GetValueOrDefault());

        var attributeCategoriesLp = (from n in DataContext.UM_AttributeCategories
                                     where n.DateDeleted == null
                                     select n).ToLookup(n => n.ProjectID.GetValueOrDefault());

        var globalProjectEntity = new UM_Project
        {
            ID   = Guid.Empty,
            Name = "Global",
        };

        projects.Insert(0, globalProjectEntity);

        foreach (var project in projects)
        {
            var projectUnit = new TreeNodeUnit
            {
                ID   = project.ID,
                Name = project.Name,
                Type = "Project"
            };

            yield return(projectUnit);

            var typesUnit = new TreeNodeUnit
            {
                ID       = CryptographyUtil.ComputeGuidMD5(project.ID, "Types"),
                ParentID = project.ID,
                Name     = "ტიპები",
                Type     = "Types"
            };

            yield return(typesUnit);

            var categoriesUnit = new TreeNodeUnit
            {
                ID       = CryptographyUtil.ComputeGuidMD5(project.ID, "Categories"),
                ParentID = project.ID,
                Name     = "კატეგორიები",
                Type     = "Categories"
            };

            yield return(categoriesUnit);

            var attributesTypes = attributeTypesLp[project.ID];
            foreach (var attributesType in attributesTypes)
            {
                var typeUnit = new TreeNodeUnit
                {
                    ID       = attributesType.ID,
                    Name     = attributesType.Name,
                    ParentID = typesUnit.ID,
                    Type     = "Type"
                };

                yield return(typeUnit);
            }

            var attributesCategories = attributeCategoriesLp[project.ID];
            foreach (var attributesCategory in attributesCategories)
            {
                var categoryUnit = new TreeNodeUnit
                {
                    ID       = attributesCategory.ID,
                    Name     = attributesCategory.Name,
                    ParentID = categoriesUnit.ID,
                    Type     = "Category"
                };

                yield return(categoryUnit);
            }
        }
    }