示例#1
0
        public void Execute(IServiceProvider serviceProvider)
        {
            var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));

            IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
            IOrganizationService        service        = serviceFactory.CreateOrganizationService(null);

            ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService));

            try
            {
                Entity entidade = new Entity();
                Domain.Model.Itbc_regiaogeo regiaoGeografica = new Domain.Model.Itbc_regiaogeo(context.OrganizationName, context.IsExecutingOffline);

                if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
                {
                    Intelbras.CRM2013.Domain.Integracao.MSG0008 integ = new Domain.Integracao.MSG0008(context.OrganizationName, context.IsExecutingOffline);
                    switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName))
                    {
                    case Domain.Enum.Plugin.MessageName.Create:
                        entidade         = (Entity)context.InputParameters["Target"];
                        regiaoGeografica = entidade.Parse <Domain.Model.Itbc_regiaogeo>(context.OrganizationName, context.IsExecutingOffline);
                        integ.EnviarRegiaoGeo(regiaoGeografica);

                        break;

                    case Domain.Enum.Plugin.MessageName.Update:

                        if (context.PreEntityImages.Contains("imagem") && context.PreEntityImages["imagem"] is Entity)
                        {
                            #region Popula o objeto com pos-image

                            entidade         = (Entity)context.PostEntityImages["imagem"];
                            regiaoGeografica = entidade.Parse <Domain.Model.Itbc_regiaogeo>(context.OrganizationName, context.IsExecutingOffline);
                            integ.EnviarRegiaoGeo(regiaoGeografica);
                            #endregion
                        }

                        break;
                    }

                    //new Domain.Servicos.EnderecoServices(context.OrganizationName, context.IsExecutingOffline, service).IntegracaoBarramento(regiaoGeografica);
                }
            }
            catch (Exception ex)
            {
                trace.Trace(String.Format("EXCEPTION PLUGIN {0} {1} [{2}]", context.MessageName.ToLower(), @"Nivel Pós Venda", DateTime.Now));
                trace.Trace(SDKore.Helper.Error.GetMessageError(ex));
                throw new InvalidPluginExecutionException(ex.Message);
            }
        }
示例#2
0
        public string IntegracaoBarramento(Itbc_regiaogeo regiaoGeografica)
        {
            Domain.Integracao.MSG0008 msgregiaoGeo = new Domain.Integracao.MSG0008(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline);

            return(msgregiaoGeo.Enviar(regiaoGeografica));
        }