示例#1
0
        private void btnCrossList_Click(object sender, EventArgs e)
        {
            AddValueFilter();

            //Adding an object to cross list- Include Children is Set false to prevent storing multiple IDs in the object
            var cl = new CrossListCriteria(
                TaxonomyFilters.GetTaxonomyIDs(false), ValueFilters, _attributeTypeFilters, _matchAllTerms,
                _includeChildren);

            var derivedTaxonomy = _selectedCrossListNodeFromTreeView.DerivedTaxonomies.FirstOrDefault();

            if (derivedTaxonomy != null)
            {
                derivedTaxonomy.Expression = cl.SerializeToXElement();
            }
            else
            {
                _selectedCrossListNodeFromTreeView.DerivedTaxonomies.Add(
                    new DerivedTaxonomy {
                    Expression = cl.SerializeToXElement()
                });
            }

            AryaTools.Instance.SaveChangesIfNecessary(false, false);

            //var derivedTaxonomyExists = AryaTools.Instance.InstanceData.Dc.DerivedTaxonomies.Any(t => t.TaxonomyID == SelectedCrossListNodeFromTreeView.ID);
            //if (derivedTaxonomyExists)
            //{
            //    //Update the Rule
            //    DerivedTaxonomy ExistingDerivedTaxonomy = AryaTools.Instance.InstanceData.Dc.DerivedTaxonomies.Single(t => t.TaxonomyID == SelectedCrossListNodeFromTreeView.ID);
            //    ExistingDerivedTaxonomy.Expression = cl.SerializeToXElement();
            //}
            //else
            //{
            //    //Insert New Rule
            //    DerivedTaxonomy newDerivedTaxonomy = new DerivedTaxonomy { TaxonomyID = SelectedCrossListNodeFromTreeView.ID, Expression = cl.SerializeToXElement() };
            //    AryaTools.Instance.InstanceData.Dc.DerivedTaxonomies.InsertOnSubmit(newDerivedTaxonomy);
            //}
            //AryaTools.Instance.InstanceData.Dc.SubmitChanges();

            MessageBox.Show("Expression Added to Cross List", "Arya");
            AryaTools.Instance.Forms.TreeForm.UpdateCurrentNodeSkuCount();

            //AryaTools.Instance.Forms.SkuForm.LoadTab(GetCrossListedSkus(cl), null, "Query", "Query"); //Sku View
        }
示例#2
0
        private void btnGroupSkus_Click(object sender, EventArgs e)
        {
            AddValueFilter();

            //Adding an object to cross list- Include Children is Set false to prevent storing multiple IDs in the object
            var cl = new CrossListCriteria(
                TaxonomyFilters.GetTaxonomyIDs(false), ValueFilters, _attributeTypeFilters, _matchAllTerms,
                _includeChildren);

            var xml = cl.SerializeToXElement();

            FrmCreateSkuGroup CreateSkuGroupForm = new FrmCreateSkuGroup(xml);

            CreateSkuGroupForm.ShowDialog();
        }
示例#3
0
文件: FrmTree.cs 项目: ewin66/Arya
        private void CrossListHere(TaxonomyInfo taxonomyInfo)
        {
            var taxonomyToCrossList = taxonomyInfo;

            GetTaxonomy("Cross List Here", true);
            TaxonomySelected += (s, ea) =>
            {
                if (DialogResult != DialogResult.OK)
                {
                    return;
                }

                var destination = taxonomyTree.SelectedTaxonomy;
                if (destination != null &&
                    (destination.Equals(taxonomyToCrossList) ||
                     destination.IsChildOf(taxonomyToCrossList)))
                {
                    MessageBox.Show(@"Cannot Cross-List this node to itself or under its own child!");
                    return;
                }

                var newCrossListNode = new TaxonomyInfo
                {
                    ShowInTree = true,
                    ProjectID  = destination.ProjectID,
                    NodeType   = "Derived"
                };
                AryaTools.Instance.InstanceData.Dc.TaxonomyInfos.InsertOnSubmit(newCrossListNode);

                var previousNode    = taxonomyToCrossList.TaxonomyData;
                var nodeName        = "Cross List from - " + taxonomyToCrossList.ToString();
                var nodeDescription = previousNode.NodeDescription;
                newCrossListNode.TaxonomyDatas.Add(new TaxonomyData
                {
                    NodeName           = nodeName,
                    ParentTaxonomyInfo =
                        destination,
                    NodeDescription =
                        nodeDescription
                });

                taxonomyTree.AddCrossListNode(destination, newCrossListNode);

                //taxonomyTree.UpdateNode(taxonomyToCrossList);
                //taxonomyTree.SelectedTaxonomy = newCrossListNode;

                var cl = new CrossListCriteria(new List <Guid> {
                    taxonomyToCrossList.ID
                }, null, null,
                                               false, IncludeChildren);

                var derivedTaxonomy = newCrossListNode.DerivedTaxonomies.FirstOrDefault();
                if (derivedTaxonomy != null)
                {
                    derivedTaxonomy.Expression = cl.SerializeToXElement();
                }
                else
                {
                    newCrossListNode.DerivedTaxonomies.Add(new DerivedTaxonomy
                    {
                        Expression =
                            cl
                            .SerializeToXElement
                                ()
                    });
                }

                AryaTools.Instance.SaveChangesIfNecessary(false, false);
            };
        }