public string Enviar(AcessoKonviva objModel) { string retMsg = String.Empty; Intelbras.Message.Helper.MSG0105 mensagem = this.DefinirPropriedades(objModel); Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline); if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out retMsg)) { Intelbras.Message.Helper.MSG0105R1 retorno = CarregarMensagem <Pollux.MSG0105R1>(retMsg); if (!retorno.Resultado.Sucesso) { throw new ArgumentException("(CRM) " + string.Concat(retorno.Resultado.Mensagem)); } } else { Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(retMsg); throw new ArgumentException("(CRM) " + string.Concat("Erro de Integração \n", erro001.GenerateMessage(false))); } return(retMsg); }
public AcessoKonviva DefinirPropriedades(Intelbras.Message.Helper.MSG0105 xml) { var crm = new AcessoKonviva(this.Organizacao, this.IsOffline); Guid idClassificacaoKonviva = Guid.Empty; Lookup classificacaoKonviva; Guid organizacaoPadrao; Guid conta = Guid.Empty; #region Propriedades Crm->Xml if (!String.IsNullOrEmpty(xml.NomeAcessoKonviva)) { crm.Nome = xml.NomeAcessoKonviva; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "NomeAcessoKonviva não enviado!"; return(crm); } xml.Situacao = (crm.Status.HasValue ? crm.Status.Value : 0); //if (xml.Situacao == 1 || xml.Situacao == 0) // crm.Status = xml.Situacao; //else //{ // resultadoPersistencia.Sucesso = false; // resultadoPersistencia.Mensagem = "Situação não enviada!"; // return crm; //} if (!String.IsNullOrEmpty(xml.CodigoAcessoKonviva)) { Guid konviva; if (Guid.TryParse(xml.CodigoAcessoKonviva, out konviva)) { crm.ID = konviva; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Guid AcessoKonviva Formato incorreto"; return(crm); } } //Seção comentada enquanto não é decidido a documentação //Conta não é obrigatório então caso nao tenha preenchido a classificação assume um default //if (String.IsNullOrEmpty(xml.CodigoConta)) //{ // if (false == Guid.TryParse(SDKore.Configuration.ConfigurationManager.GetSettingValue("ClassificacaoPadraoKonviva"), out idClassificacaoKonviva)) // { // resultadoPersistencia.Sucesso = false; // resultadoPersistencia.Mensagem = "Guid Classificação Konviva padrão em formato incorreto"; // return crm; // } // Classificacao classif = new Intelbras.CRM2013.Domain.Servicos.ClassificacaoService(this.Organizacao,this.IsOffline).BuscaClassificacao(idClassificacaoKonviva); // if(classif == null) // { // resultadoPersistencia.Sucesso = false; // resultadoPersistencia.Mensagem = "Classificação do Canal não encontrada."; // return crm; // } // classificacaoKonviva = new Lookup(classif.ID.Value,classif.Nome,""); //} //else //{ // if (false == Guid.TryParse(xml.CodigoConta,out conta)) // { // resultadoPersistencia.Sucesso = false; // resultadoPersistencia.Mensagem = "Guid conta em formato incorreto"; // return crm; // } // Model.Conta mConta = new Intelbras.CRM2013.Domain.Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaConta(conta); // if (conta == null) // { // resultadoPersistencia.Sucesso = false; // resultadoPersistencia.Mensagem = "Conta não encontrada."; // return crm; // } // if (mConta.Classificacao == null) // { // resultadoPersistencia.Sucesso = false; // resultadoPersistencia.Mensagem = "Classificação da conta obrigatório."; // return crm; // } // classificacaoKonviva = mConta.Classificacao; //} if (!Guid.TryParse(SDKore.Configuration.ConfigurationManager.GetSettingValue("organizacaoPadraoKonviva"), out organizacaoPadrao)) { throw new Exception("Variável organizacaoPadraoKonviva do SDKore.config não foi configurada corretamente."); } UnidadeKonviva unKonviva = new Intelbras.CRM2013.Domain.Servicos.UnidadeKonvivaService(this.Organizacao, this.IsOffline).ObterPor(organizacaoPadrao); if (unKonviva == null) { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Unidade Konviva não encontrada."; return(crm); } crm.UnidadeKonviva = new Lookup(unKonviva.ID.Value, ""); if (unKonviva.IdInterno.HasValue) { crm.IdUnidadeAcessoKonviva = unKonviva.IdInterno; } //if (xml.IdentificadorUnidadeKonviva.HasValue) //{ // UnidadeKonviva unidadeKonviva = new Servicos.UnidadeKonvivaService(this.Organizacao, this.IsOffline).ObterPor(xml.IdentificadorUnidadeKonviva.Value); // if (unidadeKonviva != null) // { // crm.UnidadeKonviva = new Lookup(unidadeKonviva.ID.Value, ""); // crm.IdUnidadeAcessoKonviva = xml.IdentificadorUnidadeKonviva; // } // else // { // resultadoPersistencia.Sucesso = false; // resultadoPersistencia.Mensagem = "UnidadeKonviva não cadastrado no Crm!"; // return crm; // } //} //else //{ // resultadoPersistencia.Sucesso = false; // resultadoPersistencia.Mensagem = "IdentificadorUnidadeKonviva não enviado!"; // return crm; //} if (!String.IsNullOrEmpty(xml.CodigoConta)) { crm.Conta = new Lookup(new Guid(xml.CodigoConta), ""); } if (!String.IsNullOrEmpty(xml.CodigoContato) && xml.CodigoContato.Length == 36) { crm.Contato = new Lookup(new Guid(xml.CodigoContato), ""); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoContato inválido ou não enviado!"; return(crm); } if (xml.PerfilAluno.HasValue) { crm.PerfilAluno = xml.PerfilAluno; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilAluno não enviado!"; return(crm); } if (xml.PerfilGestor.HasValue) { crm.PerfilGestor = xml.PerfilGestor; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilGestor não enviado!"; return(crm); } if (xml.PerfilAutor.HasValue) { crm.PerfilAutor = xml.PerfilAutor; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilAutor não enviado!"; return(crm); } if (xml.PerfilAdministrador.HasValue) { crm.PerfilAdministrador = xml.PerfilAdministrador; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilAdministrador não enviado!"; return(crm); } if (xml.PerfilMonitor.HasValue) { crm.PerfilMonitor = xml.PerfilMonitor; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilMonitor não enviado!"; return(crm); } if (xml.PerfilModerador.HasValue) { crm.PerfilModerador = xml.PerfilModerador; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilModerador não enviado!"; return(crm); } if (xml.PerfilInstrutor.HasValue) { crm.PerfilInstrutor = xml.PerfilInstrutor; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilInstrutor não enviado!"; return(crm); } if (xml.PerfilAnalista.HasValue) { crm.PerfilAnalista = xml.PerfilAnalista; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilAnalista não enviado!"; return(crm); } if (xml.PerfilTutor.HasValue) { crm.PerfilTutor = xml.PerfilTutor; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "PerfilTutor não enviado!"; return(crm); } crm.IntegrarNoPlugin = true; #endregion return(crm); }
public Pollux.MSG0105 DefinirPropriedades(AcessoKonviva objModel) { #region Propriedades Crm->Xml if (String.IsNullOrEmpty(objModel.Nome)) { objModel.Nome = (string)this.PreencherAtributoVazio("string"); } Pollux.MSG0105 msg0105 = new Pollux.MSG0105(itb.RetornaSistema(itb.Sistema.CRM), Intelbras.CRM2013.Domain.Servicos.Helper.Truncate(objModel.Nome, 40)); if (objModel.Conta != null) { msg0105.CodigoConta = objModel.Conta.Id.ToString(); } if (objModel.Contato != null) { msg0105.CodigoContato = objModel.Contato.Id.ToString(); } msg0105.CodigoAcessoKonviva = objModel.ID.Value.ToString(); if (objModel.UnidadeKonviva != null) { Model.UnidadeKonviva uniAcessoKonviva = new Intelbras.CRM2013.Domain.Servicos.UnidadeKonvivaService(this.Organizacao, this.IsOffline).ObterPor(objModel.UnidadeKonviva.Id); if (uniAcessoKonviva != null && uniAcessoKonviva.IdInterno.HasValue) { msg0105.IdentificadorUnidadeKonviva = uniAcessoKonviva.IdInterno.Value; } } if (!string.IsNullOrEmpty(objModel.Nome)) { msg0105.NomeAcessoKonviva = objModel.Nome; } else { msg0105.NomeAcessoKonviva = (string)this.PreencherAtributoVazio("string"); } if (objModel.PerfilAdministrador.HasValue) { msg0105.PerfilAdministrador = objModel.PerfilAdministrador; } if (objModel.PerfilAluno.HasValue) { msg0105.PerfilAluno = objModel.PerfilAluno; } if (objModel.PerfilAnalista.HasValue) { msg0105.PerfilAnalista = objModel.PerfilAnalista; } if (objModel.PerfilAutor.HasValue) { msg0105.PerfilAutor = objModel.PerfilAutor; } if (objModel.PerfilGestor.HasValue) { msg0105.PerfilGestor = objModel.PerfilGestor; } if (objModel.PerfilInstrutor.HasValue) { msg0105.PerfilInstrutor = objModel.PerfilInstrutor; } if (objModel.PerfilModerador.HasValue) { msg0105.PerfilModerador = objModel.PerfilModerador; } if (objModel.PerfilMonitor.HasValue) { msg0105.PerfilMonitor = objModel.PerfilMonitor; } if (objModel.PerfilTutor.HasValue) { msg0105.PerfilTutor = objModel.PerfilTutor; } if (usuarioIntegracao != null) { msg0105.Proprietario = usuarioIntegracao.ID.Value.ToString(); msg0105.TipoProprietario = "systemuser"; } else { msg0105.Proprietario = "259A8E4F-15E9-E311-9420-00155D013D39"; msg0105.TipoProprietario = "systemuser"; } msg0105.Situacao = (objModel.Status.HasValue ? objModel.Status.Value : (int)Enum.StateCode.Ativo); #endregion return(msg0105); }