Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 143529

Plugin Error

$
0
0

Hi all! I'm facing an issue whit my public. Unfortunately, i cannot understand what's going wrong. Please see below my Code and Error getting from trace.

namespace Mangazeya_Plugins
{
    using System;
    using System.ServiceModel;
    using Microsoft.Xrm.Sdk;
    using Microsoft.Xrm.Sdk.Query;

    public class PostTisa_ArticleUpdateFurnishSum : Plugin
    {
        public PostTisa_ArticleUpdateFurnishSum()
            : base(typeof(PostTisa_ArticleUpdateFurnishSum))
        {
            base.RegisteredEvents.Add(new Tuple<int, string, string, Action<LocalPluginContext>>(40, "Update", "tisa_article", new Action<LocalPluginContext>(ExecutePostTisa_ArticleUpdateFurnishSum)));

        }

        protected void ExecutePostTisa_ArticleUpdateFurnishSum(LocalPluginContext localContext)
        {
            if (localContext == null)
            {
                throw new ArgumentNullException("localContext");
            }

            IPluginExecutionContext context = localContext.PluginExecutionContext;
            IOrganizationService service = localContext.OrganizationService;
           
            if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
            {
                // Obtain the target entity from the input parmameters.
                Entity entity = (Entity)context.InputParameters["Target"];
                if (entity.LogicalName == "tisa_article")
                {
                    if (context.MessageName.ToUpper() == "UPDATE")
                    {
                        var pricewoFurnish = entity.Attributes["tisa_price"];
                        ColumnSet attributes = new ColumnSet(new string[] { "tisa_code", "tisa_addressid", "tisa_pricefurnishstandart", "tisa_pricefurnishdesign", "tisa_platformnumber", "tisa_quantity" });
                        var tisa_article = service.Retrieve(entity.LogicalName, entity.Id, attributes);

                        var tisa_addressid = ((EntityReference)tisa_article["tisa_addressid"]).Id;

                        string fetchxml = @"
                        <fetch distinct='false' mapping='logical' output-format='xml-platform' version='1.0'>
                            <entity name='tisa_costfurnishvariation'>
                                    <attribute name='tisa_costfurnishvariationid'/>
                                    <attribute name='tisa_isfurnishprice"+ tisa_article["tisa_platformnumber"] + @"'/>
                                    <attribute name='tisa_tisa_platformnumber" + tisa_article["tisa_platformnumber"] + @"'/>
                                    <attribute name='tisa_mainfurnish'/>
                                    <attribute name='tisa_addressid'/>
                                <order descending='false' attribute='tisa_addressid'/>
                                <filter type='and'>
                                    <condition attribute='tisa_addressid' value='" + tisa_addressid + @"' operator='eq'/>
                                </filter>
                            </entity>
                        </fetch>";

                        EntityCollection result = service.RetrieveMultiple(new FetchExpression(fetchxml));
                        foreach (var c in result.Entities) 
                        {
                            if (result != null && result.Entities.Count > 0) 
                            {
                                int value = ((OptionSetValue)c["tisa_mainfurnish"]).Value;

                                if (value == 1) 
                                {
                                    entity["tisa_pricefurnishstandart"] = ((Convert.ToDecimal(c["tisa_isfurnishprice" + tisa_article["tisa_platformnumber"]])) * (Convert.ToDecimal(tisa_article["tisa_quantity"]))) + Convert.ToDecimal(entity.GetAttributeValue<Money>("tisa_price").Value); ;
                                }
                                else if(value == 2)
                                {
                                    entity["tisa_pricefurnishdesign"] = ((Convert.ToDecimal(c["tisa_isfurnishprice" + tisa_article["tisa_platformnumber"]])) * (Convert.ToDecimal(tisa_article["tisa_quantity"]))) + Convert.ToDecimal(entity.GetAttributeValue<Money>("tisa_price").Value);
                                }
                            }
                        }

                        service.Update(entity);
                    }
                }
            }
        }
    }
}


I'm getting this error 

Exception: System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: System.InvalidCastException: Microsoft Dynamics CRM has experienced an error.

From Trace

at MessageProcessor.Execute(PipelineExecutionContext context) ilOffset = 0x1C5
at InternalMessageDispatcher.Execute(PipelineExecutionContext context) ilOffset = 0xE4
at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion) ilOffset = 0x16E
at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode) ilOffset = 0x1F1
at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode) ilOffset = 0x2D
at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode) ilOffset = 0x26
at InprocessServiceProxy.ExecuteCore(OrganizationRequest request) ilOffset = 0x34
at PlatformCommand.XrmExecuteInternal() ilOffset = 0xF6
at UpdateCommand.Execute() ilOffset = 0x7
at DataSource.Update(EntityProxy entity, Boolean performDuplicateCheck, Guid auditingTransactionId, IOrganizationContext context) ilOffset = 0x11
at EntityProxy.Update(Boolean performDuplicateCheck, Guid auditingTransactionId) ilOffset = 0x0
at EntityProxy.Update(Boolean performDuplicateCheck) ilOffset = 0x7
at EntityProxy.UpdateAndRetrieve(String[] columnSet, Boolean performDuplicateCheck) ilOffset = 0x0
at CommandBase.UpdateEntity(Entity entity, Boolean retrieve) ilOffset = 0xD1
at SaveCommand.ExecuteCommand(String commandXml) ilOffset = 0x116
at CommandBase.Execute(String commandXml) ilOffset = 0x13
at InlineEditWebService.Execute(Int32 command, String commandXml) ilOffset = 0xD0
at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ilOffset = 0xFFFFFFFF
at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ilOffset = 0x25
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ilOffset = 0xCF
at LogicalMethodInfo.Invoke(Object target, Object[] values) ilOffset = 0x4F
at WebServiceHandler.Invoke() ilOffset = 0xC3
at WebServiceHandler.CoreProcessRequest() ilOffset = 0x13E
at SyncSessionlessHandler.ProcessRequest(HttpContext context) ilOffset = 0x39
at HandlerWrapper.ProcessRequest(HttpContext context) ilOffset = 0x7
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() ilOffset = 0x18D
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) ilOffset = 0x15
at ApplicationStepManager.ResumeSteps(Exception error) ilOffset = 0x10A
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) ilOffset = 0x5C
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) ilOffset = 0x16A
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) ilOffset = 0x4B
MessageProcessor fail to process message 'Update' for 'tisa_article'.


Viewing all articles
Browse latest Browse all 143529

Trending Articles



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