Ejemplo n.º 1
0
 private void PopulateQueryView(CrossListCriteria cl)
 {
     ClearValueFilters();
     TaxonomyFilters =
         AryaTools.Instance.InstanceData.Dc.TaxonomyInfos.Where(t => cl.TaxonomyIDFilter.Contains(t.ID)).ToList();
     AryaTools.Instance.Forms.TreeForm.IncludeChildren = cl.IncludeChildren;
     _includeChildren = cl.IncludeChildren;
     ValueFilters     = cl.ValueFilters;
     ProcessValueFilter();
     PopulateSelection(TaxonomyFilters, _valueSelection, _includeChildren);
 }
Ejemplo n.º 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();
        }
Ejemplo n.º 3
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
        }
Ejemplo n.º 4
0
        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);
            };
        }
Ejemplo n.º 5
0
 private IQueryable <Sku> GetCrossListedSkus(CrossListCriteria cl)
 {
     return(Query.GetFilteredSkus(
                cl.TaxonomyIDFilter, cl.ValueFilters, cl.AttributeTypeFilters, cl.MatchAllTerms));
 }