public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario) { usuarioIntegracao = usuario; var objeto = this.DefinirPropriedades(this.CarregarMensagem <Pollux.MSG0103>(mensagem)); if (!resultadoPersistencia.Sucesso) { retorno.Add("Resultado", resultadoPersistencia); return(CriarMensagemRetorno <Pollux.MSG0103R1>(numeroMensagem, retorno)); } objeto = new Servicos.TreinamentoCertificacaoService(this.Organizacao, this.IsOffline).Persistir(objeto); if (objeto != null) { resultadoPersistencia.Sucesso = true; resultadoPersistencia.Mensagem = "Integração ocorrida com sucesso!"; retorno.Add("Resultado", resultadoPersistencia); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Erro de Persistência!"; retorno.Add("Resultado", resultadoPersistencia); } return(CriarMensagemRetorno <Pollux.MSG0103R1>(numeroMensagem, retorno)); }
public ColaboradorTreinadoCertificado DefinirPropriedades(Intelbras.Message.Helper.MSG0106 xml) { var crm = new ColaboradorTreinadoCertificado(this.Organizacao, this.IsOffline); #region Propriedades Crm->Xml if (xml.DataConclusao.HasValue) { crm.DataConclusao = xml.DataConclusao; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "DataConclusao não enviada!"; return(crm); } if (xml.DataValidade.HasValue) { crm.DataValidade = xml.DataValidade; } else { //Se nao enviar datavalidade adicionamos 24meses a data de conclusao crm.DataValidade = crm.DataConclusao.Value.AddMonths(24); } 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 (xml.StatusAproveitamento.HasValue) { if (xml.StatusAproveitamento != (int)Enum.ColaboradorTreinamentoCertificado.Status.Aprovado && xml.StatusAproveitamento != (int)Enum.ColaboradorTreinamentoCertificado.Status.Pendente && xml.StatusAproveitamento != (int)Enum.ColaboradorTreinamentoCertificado.Status.Reprovado) { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Status Aproveitamento não existente."; return(crm); } crm.RazaoStatus = xml.StatusAproveitamento; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Status Aproveitamento não enviado!"; return(crm); } if (xml.IdentificadorTreinamento.HasValue) { TreinamentoCertificacao treinamentoCertif = new Servicos.TreinamentoCertificacaoService(this.Organizacao, this.IsOffline).ObterPor(xml.IdentificadorTreinamento.Value); if (treinamentoCertif != null) { crm.TreinamentoCertificado = new Lookup(treinamentoCertif.ID.Value, ""); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "IdentificadorTreinamento não cadastrado no Crm!"; return(crm); } } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "IdentificadorTreinamento não enviado!"; return(crm); } if (!String.IsNullOrEmpty(xml.CodigoContato)) { Guid contato; if (!Guid.TryParse(xml.CodigoContato, out contato)) { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoConta inválido!"; return(crm); } crm.Contato = new Lookup(contato, ""); Contato contatoObj = new Intelbras.CRM2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(contato); if (contatoObj == null) { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Contato não encontrado!"; return(crm); } if (!String.IsNullOrEmpty(contatoObj.NomeCompleto)) { crm.Nome = contatoObj.NomeCompleto + " em " + xml.IdentificadorTreinamento.ToString(); } else if (!String.IsNullOrEmpty(contatoObj.PrimeiroNome)) { crm.Nome = contatoObj.PrimeiroNome + " em " + xml.IdentificadorTreinamento.ToString(); } else { crm.Nome = xml.IdentificadorTreinamento.ToString(); } Helper.Truncate(crm.Nome, 100); if (contatoObj.AssociadoA != null && contatoObj.AssociadoA.Type == SDKore.Crm.Util.Utility.GetEntityName <Domain.Model.Conta>().ToLower()) { crm.Canal = new Lookup(contatoObj.AssociadoA.Id, ""); } } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoContato não enviado!"; return(crm); } if (xml.IdentificadorMatricula.HasValue) { crm.IdMatricula = xml.IdentificadorMatricula; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "IdentificadorMatricula não enviado!"; return(crm); } #endregion return(crm); }