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