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 }
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(); }
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); }; }