Example #1
0
        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"); }
        }
Example #2
0
        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)"));
            }
        }
Example #3
0
        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);
            }
        }