public void Execute(IPluginExecutionContext context) { try { DynamicEntity entity = null; if (context.PostEntityImages.Properties.Contains("Target") && context.PostEntityImages.Properties["Target"] is DynamicEntity) { entity = (DynamicEntity)context.PostEntityImages.Properties["Target"]; } if (entity == null) { return; } if (!entity.Properties.Contains("new_extratoid")) { return; } Guid extratoId = ((Lookup)entity.Properties["new_extratoid"]).Value; Extrato extrato = new Extrato(DomainService.Organizacao) { Id = extratoId }; extrato.AtualizarValor(); DomainService.RepositoryExtrato.Update(extrato); } catch (Exception ex) { LogService.GravaLog(ex, TipoDeLog.PluginNew_lancamento_avulso, "PostUpdate"); } }
public XmlDocument RecalcularValorExtratoDePagamentoOcorrencia(string new_extrato_pagamento_ocorrenciaid) { try { Extrato extrato = new Extrato(nomeOrganizacao, false) { Id = new Guid(new_extrato_pagamento_ocorrenciaid) }; extrato.AtualizarValor(); (new Domain.Servicos.RepositoryService()).Extrato.Update(extrato); base.Mensageiro.AdicionarTopico("Sucesso", true); return(base.Mensageiro.Mensagem); } catch (Exception ex) { //LogService.GravaLog(ex, TipoDeLog.WSIntelbras_WSOcorrencia, string.Format("Metodo: RecalcularValorExtratoDePagamentoOcorrencia(string new_extrato_pagamento_ocorrenciaid) \n Parametro: {0} - {1}", new_extrato_pagamento_ocorrenciaid, organizacaoNome)); return(base.TratarErro("Não foi possível concluir a operação!", ex, "RecalcularValorExtratoDePagamentoOcorrencia(string new_extrato_pagamento_ocorrenciaid)")); } }
public void Execute(IServiceProvider serviceProvider) { var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(null); try { switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName)) { case Domain.Enum.Plugin.MessageName.Create: if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { var entidade = (Entity)context.InputParameters["Target"]; var lancamento = entidade.Parse <LancamentoAvulsoDoExtrato>(context.OrganizationName, context.IsExecutingOffline, service); if (lancamento.ExtratoId != null) { Extrato extrato = (new CRM2013.Domain.Servicos.RepositoryService(context.OrganizationName, context.IsExecutingOffline)).Extrato.Retrieve(lancamento.ExtratoId.Id); extrato.AtualizarValor(); new Domain.Servicos.RepositoryService(context.OrganizationName, context.IsExecutingOffline).Extrato.Update(extrato); } } break; case Domain.Enum.Plugin.MessageName.Update: if (context.PostEntityImages.Contains("imagem") && context.PostEntityImages["imagem"] is Entity) { var entidade = context.PostEntityImages["imagem"]; var lancamento = entidade.Parse <LancamentoAvulsoDoExtrato>(context.OrganizationName, context.IsExecutingOffline, service); if (lancamento.ExtratoId != null) { Extrato extrato = (new CRM2013.Domain.Servicos.RepositoryService(context.OrganizationName, context.IsExecutingOffline)).Extrato.Retrieve(lancamento.ExtratoId.Id); extrato.AtualizarValor(); new Domain.Servicos.RepositoryService(context.OrganizationName, context.IsExecutingOffline).Extrato.Update(extrato); } } break; case Domain.Enum.Plugin.MessageName.Delete: if (context.PreEntityImages.Contains("imagem") && context.PreEntityImages["imagem"] is Entity) { var entidade = context.PreEntityImages["imagem"]; var lancamento = entidade.Parse <LancamentoAvulsoDoExtrato>(context.OrganizationName, context.IsExecutingOffline, service); if (lancamento.ExtratoId != null) { new Domain.Servicos.RepositoryService(context.OrganizationName, context.IsExecutingOffline).Ocorrencia.AtualizaValoresDosLancamentosAvulsosNo(lancamento.ExtratoId.Id); Extrato extrato = (new CRM2013.Domain.Servicos.RepositoryService(context.OrganizationName, context.IsExecutingOffline)).Extrato.Retrieve(lancamento.ExtratoId.Id); extrato.AtualizarValor(); new Domain.Servicos.RepositoryService(context.OrganizationName, context.IsExecutingOffline).Extrato.Update(extrato); } } break; } } catch (Exception ex) { trace.Trace(String.Format("EXCEPTION PLUGIN {0} {1} [{2}]", context.MessageName.ToLower(), "new_lancamento_avulso", DateTime.Now)); trace.Trace(SDKore.Helper.Error.GetMessageError(ex)); throw new InvalidPluginExecutionException(ex.Message); } }