Quantcast
Channel: CRM Development 論壇
Viewing all articles
Browse latest Browse all 10280

grouping common plugin code

$
0
0

i have a lot of repeating code in many plugins - how can i group them into a utility class so they can be reused for each plugin? example code like this is used in all my plugins. any suggestions? thanks

 //set service
            ICrmService crmService = context.CreateCrmService(true);
            if (context.InputParameters.Properties.Contains("Target") && context.InputParameters.Properties["Target"] is DynamicEntity)
            {
                portal_opportunityproduct = (DynamicEntity)context.InputParameters.Properties["Target"];

                if (portal_opportunityproduct.Name != "portal_opportunityproduct")
                {
                    return;
                }
                else
                {
                    if (context.MessageName == "Create")
                    {
                        try
                        {
 private DynamicEntity GetEntities(Guid entityGuid, ICrmService crmService)
        {

            ColumnSet productColumns = new ColumnSet();
            productColumns.AddColumn("portal_description");

            ConditionExpression condition = new ConditionExpression();
            condition.AttributeName = "portal_productid";
            condition.Operator = ConditionOperator.Equal;
            condition.Values = new object[] { entityGuid};

            FilterExpression filter = new FilterExpression();
            filter.FilterOperator = LogicalOperator.And;
            filter.Conditions.Add(condition);

            QueryExpression query = new QueryExpression();
            query.EntityName = "portal_product";
            query.ColumnSet = productColumns;
            query.Criteria = filter;

            RetrieveMultipleRequest retrieve = new RetrieveMultipleRequest();
            retrieve.ReturnDynamicEntities = true;
            retrieve.Query = query;

            RetrieveMultipleResponse retrieved = (RetrieveMultipleResponse)crmService.Execute(retrieve);
        
            BusinessEntityCollection collection = (BusinessEntityCollection)retrieved.BusinessEntityCollection;
            if (collection != null)
            {
                return (DynamicEntity)collection.BusinessEntities[0];
            }

            return null;
        }




Viewing all articles
Browse latest Browse all 10280

Trending Articles



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