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'.