public void TestUploadImagemContato() { var service = new Domain.Servicos.ContatoService(this.OrganizationName, this.IsOffline); // new Guid("8C69D160-7F68-E711-80CB-0050568DED44") var contato = service.BuscaContato(new Guid("6E92D000-8E49-E411-9424-00155D013D3A")); var photoBase64 = "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"; contato.Imagem = Convert.FromBase64String(photoBase64); //contato.Imagem = File.ReadAllBytes(@"c:\temp\diego.jpg"); service.Persistir(contato); }
protected override void Execute(IPluginExecutionContext context, IOrganizationServiceFactory serviceFactory, IOrganizationService adminService, IOrganizationService userService) { switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName)) { case Domain.Enum.Plugin.MessageName.Create: var entidade = (Entity)context.InputParameters["Target"]; Domain.Model.Conta Conta = entidade.Parse <Domain.Model.Conta>(context.OrganizationName, context.IsExecutingOffline); #region Sharepoint if (Conta != null && !string.IsNullOrEmpty(Conta.RazaoSocial)) { new SharepointServices(context.OrganizationName, context.IsExecutingOffline, adminService).CriarDiretorio <Domain.Model.Conta>(Conta.RazaoSocial, Conta.ID.Value); } var enderecoService = new EnderecoService(context.OrganizationName, context.IsExecutingOffline, adminService); enderecoService.AtualizaEnderecosAdicionaisDaConta(Conta); #endregion break; case Domain.Enum.Plugin.MessageName.Update: var repositoryService = new Domain.Servicos.RepositoryService(context.OrganizationName, context.IsExecutingOffline, adminService); var CanalPre = ((Entity)context.PreEntityImages["imagem"]).Parse <Domain.Model.Conta>(context.OrganizationName, context.IsExecutingOffline, adminService); var CanalPost = ((Entity)context.PostEntityImages["imagem"]).Parse <Domain.Model.Conta>(context.OrganizationName, context.IsExecutingOffline, adminService); if (CanalPost.Classificacao != null && CanalPost.Classificacao.Id == SDKore.Configuration.ConfigurationManager.GetSettingValue <Guid>("Intelbras.Classificacao.Revenda")) { if ((!CanalPre.ParticipantePrograma.HasValue || CanalPre.ParticipantePrograma.Value != (int)Domain.Enum.Conta.ParticipaDoPrograma.Sim) && CanalPost.ParticipantePrograma.HasValue && CanalPost.ParticipantePrograma.Value == (int)Domain.Enum.Conta.ParticipaDoPrograma.Sim) { var entityTarget = (Entity)context.InputParameters["Target"]; var contaService = new Intelbras.CRM2013.Domain.Servicos.ContaService(context.OrganizationName, context.IsExecutingOffline, adminService); CanalPost.IntegrarNoPlugin = false; AdesaoRevenda(CanalPost, repositoryService); } } //Adesão ao programa if (CanalPre.ParticipantePrograma != (int)Domain.Enum.Conta.ParticipaDoPrograma.Sim && CanalPost.ParticipantePrograma == (int)Domain.Enum.Conta.ParticipaDoPrograma.Sim) { new Domain.Servicos.BeneficioDoCanalService(context.OrganizationName, context.IsExecutingOffline, adminService).AdesaoAoPrograma(CanalPost); var integraPontua = (new Domain.Servicos.BeneficioDoCanalService(context.OrganizationName, context.IsExecutingOffline, adminService).validaIntegraPontuaFielo(CanalPre, CanalPost)); var contatos = repositoryService.Contato.ListarAssociadosA(CanalPost.ID.ToString()); var contatoService = new Domain.Servicos.ContatoService(context.OrganizationName, context.IsExecutingOffline, adminService); foreach (var contato in contatos) { contato.IntegraIntelbrasPontua = true; contatoService.Persistir(contato); } } //Envia contatos para Fielo na troca de categoria da revenda if (CanalPre.Categoria != CanalPost.Categoria && CanalPost.Categoria.Name != "Registrada") { var contatos = repositoryService.Contato.ListarAssociadosA(CanalPost.ID.ToString()); var contatoService = new Domain.Servicos.ContatoService(context.OrganizationName, context.IsExecutingOffline, adminService); foreach (var contato in contatos) { contato.IntegraIntelbrasPontua = true; contatoService.Persistir(contato); } } //Descredenciamento ao programa if (CanalPre.ParticipantePrograma == (int)Domain.Enum.Conta.ParticipaDoPrograma.Sim && (CanalPost.ParticipantePrograma == (int)Domain.Enum.Conta.ParticipaDoPrograma.Nao || CanalPost.ParticipantePrograma == (int)Domain.Enum.Conta.ParticipaDoPrograma.Descredenciado)) { new Domain.Servicos.BeneficioDoCanalService(context.OrganizationName, context.IsExecutingOffline, adminService).DescredenciamentoAoPrograma(CanalPost); } //Envia Verba para Fielo if (CanalPost.StatusEnvioVMC == (int)Domain.Enum.Conta.StatusEnvioVMC.Enviando) { string retorno = new Domain.Servicos.VerbaVmcService(context.OrganizationName, context.IsExecutingOffline, adminService).EnviaVerbaFielo(CanalPost, CanalPost.CpfCnpj); var contaService = new Intelbras.CRM2013.Domain.Servicos.ContaService(context.OrganizationName, context.IsExecutingOffline, adminService); Conta CanalUpdate = new Conta(context.OrganizationName, context.IsExecutingOffline); CanalUpdate.ID = CanalPost.ID; if (!retorno.Contains("false")) { CanalUpdate.StatusEnvioVMC = (int)Domain.Enum.Conta.StatusEnvioVMC.Enviado; CanalUpdate.DataUltimoEnvioVMC = DateTime.Now.AddHours(3); CanalUpdate.TemDrireitoVMC = false; CanalUpdate.IntegrarNoPlugin = true; contaService.Persistir(CanalUpdate); } else { CanalUpdate.StatusEnvioVMC = (int)Domain.Enum.Conta.StatusEnvioVMC.ErroAoEnviar; CanalUpdate.TemDrireitoVMC = false; CanalUpdate.IntegrarNoPlugin = true; contaService.Persistir(CanalUpdate); } } break; } }