Quantcast
Channel: CRM Development forum
Viewing all articles
Browse latest Browse all 8223

Disassociate Many to many relationship records not Working

$
0
0

i have opportunity entity in that  i have custom product grid it has N:N relationship with Product and other opportunityproduct grid it has 1:N relation.Now if i deleting opportunityproduct record the related record also should be disassociated in the custom product.but it is not disassociating i have code while debugging nothing error is coming.

Below is my code could anybody references appreciated

 if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is EntityReference)
            {

                EntityReference targetEntity = (EntityReference)context.InputParameters["Target"];

                EntityReference Opportunityproduct = new EntityReference(targetEntity.LogicalName, targetEntity.Id);
                Guid oppprodid = Opportunityproduct.Id;

                string fetchxml = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='opportunityproduct'><attribute name='productid'/><attribute name='opportunityid'/><filter type='and'><condition attribute='opportunityproductid' operator='eq' value='" + oppprodid + @"'/></filter></entity></fetch>";
                EntityCollection collRecords = service.RetrieveMultiple(new FetchExpression(fetchxml));

                foreach (Entity oppproduct in collRecords.Entities)
                {

                    EntityReference products = (EntityReference)oppproduct.Attributes["productid"];
                    Guid prodid = products.Id;

                    EntityReference opportunties = (EntityReference)oppproduct.Attributes["opportunityid"];
                    Guid oppid = opportunties.Id;

                    //DisassociateEntitiesRequest disreq = new DisassociateEntitiesRequest();
                    //disreq.Moniker1 = new EntityReference(oppproduct.LogicalName,oppproduct.Id);
                    //disreq.Moniker2 = new EntityReference(products.LogicalName,prodid);
                    //disreq.RelationshipName = "shimadzu_opportunity_product";
                    //DisassociateEntitiesResponse response = (DisassociateEntitiesResponse)service.Execute(disreq);


                    DisassociateRequest dreq = new DisassociateRequest();

                    //Target is the entity that you are disassociating your entities with.
                    dreq.Target = new EntityReference(opportunties.LogicalName, oppid);

                    //RelatedEntities are the entities you are disassociating to your target (can be more than 1)
                    dreq.RelatedEntities = new EntityReferenceCollection();
                    dreq.RelatedEntities.Add(new EntityReference(products.LogicalName, prodid));

                    //The relationship schema name in CRM you are using to disassociate the entities. 
                    //found in settings - customization - entity - relationships
                    dreq.Relationship = new Relationship("shimadzu_opportunity_product");
                    DisassociateResponse disresponse = (DisassociateResponse)service.Execute(dreq);
                    //execute the request
                    service.Execute(dreq);
Any references plz...


hsk srinivas


Viewing all articles
Browse latest Browse all 8223

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>