public Denuncia DefinirPropriedades(Intelbras.Message.Helper.MSG0107 xml) { var crm = new Denuncia(this.Organizacao, this.IsOffline); #region Propriedades Crm->Xml if (!String.IsNullOrEmpty(xml.CodigoDenuncia)) { if (xml.CodigoDenuncia.Length == 36) crm.ID = new Guid(xml.CodigoDenuncia); else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoDenuncia enviado está fora do padrão(Guid)."; return crm; } } if (!String.IsNullOrEmpty(xml.Descricao)) crm.Descricao = xml.Descricao; else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Descrição não enviada."; return crm; } if (!String.IsNullOrEmpty(xml.CodigoTipoDenuncia) && xml.CodigoTipoDenuncia.Length == 36) { TipoDeDenuncia tipoDenuncia = new Servicos.DenunciaService(this.Organizacao, this.IsOffline).ObterTipoDenuncia(new Guid(xml.CodigoTipoDenuncia)); if (tipoDenuncia != null) { crm.Nome = "Denúncia de : " + tipoDenuncia.Nome; crm.TipoDenuncia = new Lookup(tipoDenuncia.ID.Value, ""); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Tipo de Denuncia não cadastrado no Crm."; return crm; } } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoTipoDenuncia fora do padrão(Guid) ou não enviado."; return crm; } if (!String.IsNullOrEmpty(xml.Justificativa)) { crm.Justificativa = xml.Justificativa; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Justificativa não enviada."; return crm; } if (!String.IsNullOrEmpty(xml.CodigoCanalDenunciado) && xml.CodigoCanalDenunciado.Length == 36) { crm.Denunciado = new Lookup(new Guid(xml.CodigoCanalDenunciado), ""); } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Codigo Canal Denunciado não enviado ou fora do padrão(Guid)."; return crm; } //Status if (xml.Situacao == 1 || xml.Situacao == 0) crm.Status = xml.Situacao; else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Status não encontrado!"; return crm; } if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Denuncia.StatusDenuncia), xml.SituacaoDenuncia)) crm.RazaoStatus = xml.SituacaoDenuncia; else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "SituacaoDenuncia não encontrada!"; return crm; } if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Denuncia.TipoDenunciante), xml.TipoDenunciante)) crm.TipoDenunciante = xml.TipoDenunciante; else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "SituacaoDenuncia não encontrada!"; return crm; } if (xml.CodigoRepresentante.HasValue) { Contato contato = new Contato(this.Organizacao, this.IsOffline); contato = new Intelbras.CRM2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContatoPorCodigoRepresentante(xml.CodigoRepresentante.Value.ToString()); if (contato != null) crm.Representante = new Lookup(contato.ID.Value, ""); else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Representante não encontrado."; return crm; } } else { crm.AddNullProperty("Representante"); } if (!String.IsNullOrEmpty(xml.CodigoColaboradorIntelbras)) { if (xml.CodigoColaboradorIntelbras.Length == 36) crm.ColaboradorIntebras = new Lookup(new Guid(xml.CodigoColaboradorIntelbras), ""); else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoColaboradorIntelbras fora do padrão(Guid)."; return crm; } } else { crm.AddNullProperty("ColaboradorIntebras"); } if (!String.IsNullOrEmpty(xml.CodigoCanalDenunciante)) { if (xml.CodigoCanalDenunciante.Length == 36) crm.CanalDenunciante = new Lookup(new Guid(xml.CodigoCanalDenunciante), ""); else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoCanalDenunciante fora do padrão(Guid)."; return crm; } } else { crm.AddNullProperty("CanalDenunciante"); } if (!String.IsNullOrEmpty(xml.CodigoColaboradorCanal)) { if (xml.CodigoColaboradorCanal.Length == 36) crm.ColaboradorCanal = new Lookup(new Guid(xml.CodigoColaboradorCanal), ""); else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "CodigoColaboradorCanal fora do padrão(Guid)."; return crm; } } else { crm.AddNullProperty("ColaboradorCanal"); } if (!String.IsNullOrEmpty(xml.NomeDenunciante)) { crm.Denunciante = xml.NomeDenunciante; } else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Nome do Denunciante não Enviado."; return crm; } string tipoProprietario; if (xml.TipoProprietario == "team" || xml.TipoProprietario == "systemuser") tipoProprietario = xml.TipoProprietario; else { resultadoPersistencia.Sucesso = false; resultadoPersistencia.Mensagem = "Tipo Proprietário não Enviado."; return crm; } #endregion return crm; }