Ejemplo n.º 1
0
        public List <T> ListarPorPerfilUsuarioServico(Domain.Model.Contato contato)
        {
            var query = GetQueryExpression <T>(true);

            query.Distinct = true;
            query.Criteria.Conditions.Add(new ConditionExpression("statuscode", ConditionOperator.Equal, 3)); // Ativo
            query.AddLink("new_permissao_usuario_servico", "contractid", "new_contratoid");
            query.LinkEntities[0].LinkCriteria.Conditions.Add(new ConditionExpression("new_contatoid", ConditionOperator.Equal, contato.Id));
            return((List <T>) this.RetrieveMultiple(query).List);
        }
Ejemplo n.º 2
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);

            try
            {
                switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(Context.MessageName))
                {
                    #region Create

                case Domain.Enum.Plugin.MessageName.Create:

                    var e = (Entity)Context.InputParameters["Target"];
                    e.Attributes["itbc_integraintelbraspontua"] = false;

                    Domain.Model.Contato Contato = e.Parse <Domain.Model.Contato>(Context.OrganizationName, Context.IsExecutingOffline, service);
                    var ContatoServiceCreate     = new Domain.Servicos.ContatoService(Context.OrganizationName, Context.IsExecutingOffline, service);
                    //var ContatoService = new Domain.Servicos.ContatoService(Context.OrganizationName, Context.IsExecutingOffline, service).ValidarDadosContato(Contato);

                    //valida se o contato integra ou não no IntelbrasPontua
                    ValidaIntegraPontua(e, ContatoServiceCreate, Contato, ref Context, service);

                    if (Contato.CpfCnpj != null)
                    {
                        e.Attributes["new_cpf"]             = Contato.CpfCnpj.GetOnlyNumbers();
                        e.Attributes["new_cpf_sem_mascara"] = Contato.CpfCnpj.GetOnlyNumbers();
                        e.Attributes["itbc_cpfoucnpj"]      = Contato.CpfCnpj.InputMask();
                    }

                    break;

                    #endregion

                    #region Update

                case Domain.Enum.Plugin.MessageName.Update:

                    var entityTargetUpdate = (Entity)Context.InputParameters["Target"];
                    var ContatoService     = new Domain.Servicos.ContatoService(Context.OrganizationName, Context.IsExecutingOffline, service);
                    var contatoUpdate      = entityTargetUpdate.Parse <Domain.Model.Contato>(Context.OrganizationName, Context.IsExecutingOffline, service);

                    //valida se o contato integra ou não no IntelbrasPontua
                    ValidaIntegraPontua(entityTargetUpdate, ContatoService, contatoUpdate, ref Context, service);

                    if (contatoUpdate.CpfCnpj == null)
                    {
                        var contato = new Domain.Servicos.ContatoService(Context.OrganizationName, Context.IsExecutingOffline, service).BuscaContato(contatoUpdate.ID.Value);

                        entityTargetUpdate.Attributes["new_cpf"]             = contato.CpfCnpj.GetOnlyNumbers();
                        entityTargetUpdate.Attributes["new_cpf_sem_mascara"] = contato.CpfCnpj.GetOnlyNumbers();
                        entityTargetUpdate.Attributes["itbc_cpfoucnpj"]      = contato.CpfCnpj.InputMask();
                    }
                    else
                    {
                        entityTargetUpdate.Attributes["new_cpf"]             = contatoUpdate.CpfCnpj.GetOnlyNumbers();
                        entityTargetUpdate.Attributes["new_cpf_sem_mascara"] = contatoUpdate.CpfCnpj.GetOnlyNumbers();
                        entityTargetUpdate.Attributes["itbc_cpfoucnpj"]      = contatoUpdate.CpfCnpj.InputMask();
                    }
                    if ((contatoUpdate.Imagem != null) && (!contatoUpdate.IntegrarNoPlugin))
                    {
                        string xmlResposta = ContatoService.IntegracaoFotoBarramento(contatoUpdate);
                    }
                    break;

                    #endregion
                }
            }
            catch (Exception ex)
            {
                string mensagem = SDKore.Helper.Error.Handler(ex);
                throw new InvalidPluginExecutionException(mensagem);
            }
        }