public XmlDocument ObterOS(string NumeroDaOS, string LoginDoPostoAutorizado, string SenhaDoPostoAutorizado) { StringBuilder xml = new StringBuilder("<Ocorrencia>"); // "<?xml version=\"1.0\" encoding=\"utf-8\" ?><Intelbras xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.microsoft.com/crm/2009/WebServices\">"; try { if (!VerificaAcessoDoPosto(LoginDoPostoAutorizado, SenhaDoPostoAutorizado)) { Exception AcessoNegado = new Exception("ACESSO NEGADO"); throw AcessoNegado; } Ocorrencia ocorrencia = new Ocorrencia(nomeOrganizacao, false); ocorrencia = ocorrencia.ObterOcorrenciaPor(NumeroDaOS); if (ocorrencia != null) { xml.AppendLine("<Numero>" + ocorrencia.Numero + "</Numero>"); xml.AppendLine("<StatusOcorrencia>" + ocorrencia.Status + "</StatusOcorrencia>"); xml.AppendLine("<DataDeAberturaInformada>" + (ocorrencia.DataOrigem.HasValue ? ocorrencia.DataOrigem.Value.Date.ToShortDateString() : "") + "</DataDeAberturaInformada>"); xml.AppendLine("<DataDeAberturaDigitada>" + (ocorrencia.DataDeAberturaDigitada.HasValue ? ocorrencia.DataDeAberturaDigitada.Value.Date.ToShortDateString() : "") + "</DataDeAberturaDigitada>"); xml.AppendLine("<DataDeConsertoInformada>" + (ocorrencia.DataDeConsertoInformada.HasValue ? ocorrencia.DataDeConsertoInformada.Value.Date.ToShortDateString() : "") + "</DataDeConsertoInformada>"); xml.AppendLine("<DataDeConsertoDigitada>" + (ocorrencia.DataDeConsertoDigitada.HasValue ? ocorrencia.DataDeConsertoDigitada.Value.Date.ToShortDateString() : "") + "</DataDeConsertoDigitada>"); xml.AppendLine("<DataDeEntregaClienteInformada>" + (ocorrencia.DataDeEntregaClienteInformada.HasValue ? ocorrencia.DataDeEntregaClienteInformada.Value.Date.ToShortDateString() : "") + "</DataDeEntregaClienteInformada>"); xml.AppendLine("<DataDeEntregaClienteDigitada>" + (ocorrencia.DataDeEntregaClienteDigitada.HasValue ? ocorrencia.DataDeEntregaClienteDigitada.Value.Date.ToShortDateString() : "") + "</DataDeEntregaClienteDigitada>"); xml.AppendLine("<ValorServico>" + (ocorrencia.ValorServico.HasValue ? ocorrencia.ValorServico.Value.ToString("N") : "") + "</ValorServico>"); xml.AppendLine("<RetiradoPorCPF>" + ocorrencia.RetiradoPorCPF + "</RetiradoPorCPF>"); xml.AppendLine("<RetiradoPorNome>" + ocorrencia.RetiradoPorNome + "</RetiradoPorNome>"); xml.AppendLine("<DefeitoAlegado>" + ocorrencia.DefeitoAlegado + "</DefeitoAlegado>"); xml.AppendLine("<AcessoriosOpcionais>" + ocorrencia.AcessoriosOpcionais + "</AcessoriosOpcionais>"); xml.AppendLine("<AparenciaDoProduto>" + ocorrencia.AparenciaDoProduto + "</AparenciaDoProduto>"); xml.AppendLine("<SolicitantePortal>" + ocorrencia.SolicitantePortal + "</SolicitantePortal>"); xml.AppendLine("<EmIntervencaoTecnica>" + ocorrencia.EmIntervencaoTecnica.Value + "</EmIntervencaoTecnica>"); xml.AppendLine("<Observacoes>" + ocorrencia.DescricaoDaMensagemDeIntegracao + "</Observacoes>"); xml.AppendLine("<ProdutoPricipal>"); if (ocorrencia.Produto != null) { xml.AppendLine("<Codigo>" + ocorrencia.Produto.Codigo + "</Codigo>"); xml.AppendLine("<Nome>" + ocorrencia.Produto.Nome + "</Nome>"); xml.AppendLine("<NumeroDeSerie>" + ocorrencia.ProdutosDoCliente + "</NumeroDeSerie>"); } xml.AppendLine("</ProdutoPricipal>"); xml.AppendLine("<Cliente>"); if (ocorrencia.ClienteId != null && ocorrencia.ClienteId.Type == "account") { xml.AppendLine("<Codigo>" + ocorrencia.Cliente.CodigoMatriz + "</Codigo>"); xml.AppendLine("<CPFouCNPJ>" + ocorrencia.Cliente.CpfCnpj + "</CPFouCNPJ>"); //ou vai estar preenchido um ou o outro xml.AppendLine("<Nome>" + ocorrencia.Cliente.Nome + "</Nome>"); xml.AppendLine("<Email>" + ocorrencia.Cliente.Email + "</Email>"); xml.AppendLine("<TelefonePrincipal>" + ocorrencia.Cliente.Telefone + "</TelefonePrincipal>"); xml.AppendLine("<Endereco>"); xml.AppendLine("<Logradouro>" + ocorrencia.Cliente.Endereco1Rua + "</Logradouro>"); xml.AppendLine("<Numero>" + ocorrencia.Cliente.Endereco1Numero + "</Numero>"); xml.AppendLine("<Complemento>" + ocorrencia.Cliente.Endereco1Complemento + "</Complemento>"); xml.AppendLine("<Cep>" + ocorrencia.Cliente.Endereco1CEP + "</Cep>"); xml.AppendLine("<Bairro>" + ocorrencia.Cliente.Endereco1Bairro + "</Bairro>"); xml.AppendLine("<Cidade>" + (ocorrencia.Cliente.Endereco1Municipioid != null ? ocorrencia.Cliente.Endereco1Municipioid.Name : "") + "</Cidade>"); xml.AppendLine("<Uf>" + (ocorrencia.Cliente.Endereco1Estadoid != null ? ocorrencia.Cliente.Endereco1Estadoid.Name : "") + "</Uf>"); xml.AppendLine("</Endereco>"); } else if (ocorrencia.ClienteId != null && ocorrencia.ClienteId.Type == "contact") { xml.AppendLine("<Codigo>" + ocorrencia.ClienteOS.CodigoRemetente + "</Codigo>"); xml.AppendLine("<CPFouCNPJ>" + ocorrencia.ClienteOS.CpfCnpj + "</CPFouCNPJ>"); xml.AppendLine("<Nome>" + ocorrencia.ClienteOS.Nome + "</Nome>"); xml.AppendLine("<Email>" + ocorrencia.ClienteOS.Email1 + "</Email>"); xml.AppendLine("<TelefonePrincipal>" + ocorrencia.ClienteOS.TelefoneComercial + "</TelefonePrincipal>"); xml.AppendLine("<Endereco>"); xml.AppendLine("<Logradouro>" + ocorrencia.ClienteOS.Endereco1Rua + "</Logradouro>"); xml.AppendLine("<Numero>" + ocorrencia.ClienteOS.Endereco1Numero + "</Numero>"); xml.AppendLine("<Complemento>" + ocorrencia.ClienteOS.Endereco1Complemento + "</Complemento>"); xml.AppendLine("<Cep>" + ocorrencia.ClienteOS.Endereco1CEP + "</Cep>"); xml.AppendLine("<Bairro>" + ocorrencia.ClienteOS.Endereco1Bairro + "</Bairro>"); xml.AppendLine("<Cidade>" + (ocorrencia.ClienteOS.Endereco1Municipioid != null ? ocorrencia.ClienteOS.Endereco1Municipioid.Name : "") + "</Cidade>"); xml.AppendLine("<Uf>" + (ocorrencia.ClienteOS.Endereco1Estadoid != null ? ocorrencia.ClienteOS.Endereco1Estadoid.Name : "") + "</Uf>"); xml.AppendLine("</Endereco>"); } xml.AppendLine("</Cliente>"); xml.AppendLine("<NotaFiscalFatura>"); xml.AppendLine("<DataDeCompra>" + (ocorrencia.DataConstadoNotaFiscalDeCompra.HasValue ? ocorrencia.DataConstadoNotaFiscalDeCompra.Value.ToShortDateString() : "") + "</DataDeCompra>"); xml.AppendLine("<NumeroNF>" + ocorrencia.NumeroNotaFiscalDeCompra + "</NumeroNF>"); xml.AppendLine("<NomeClienteNF>" + ocorrencia.NomeConstadoNaNotaFiscalDeCompra + "</NomeClienteNF>"); xml.AppendLine("<CPFCNPJClienteNF>" + ocorrencia.CpfCnpjConstadoNaNotaFiscalDeCompra + "</CPFCNPJClienteNF>"); xml.AppendLine("<Revenda>"); xml.AppendLine("<Cnpj>" + ocorrencia.CnpjDaLojaDoAtendimento + "</Cnpj>"); xml.AppendLine("<RazaoSocial>" + ocorrencia.NomeDaLojaDoAtendimento + "</RazaoSocial>"); xml.AppendLine("<TelefonePrincipal>" + ocorrencia.TelefoneDaLojaDoAtendimento + "</TelefonePrincipal>"); xml.AppendLine("</Revenda>"); xml.AppendLine("</NotaFiscalFatura>"); xml.AppendLine("<PostoDeServico>"); if (ocorrencia.Autorizada != null) { xml.AppendLine("<CodigoPosto>" + ocorrencia.Autorizada.CodigoMatriz + "</CodigoPosto>"); xml.AppendLine("<Login>" + ocorrencia.SolicitantePortal + "</Login>"); } xml.AppendLine("</PostoDeServico>"); if (ocorrencia.Diagnosticos != null && ocorrencia.Diagnosticos.Count > 0) { for (int x = 0; x < ocorrencia.Diagnosticos.Count; x++) { xml.AppendLine("<ServicosExecutados>"); xml.AppendLine("<Status>" + (Domain.Enum.StatusDoDiagnostico)ocorrencia.Diagnosticos[x].RazaoStatus + "</Status>"); xml.AppendLine("<Defeito>" + (ocorrencia.Diagnosticos[x].DefeitoId != null ? ocorrencia.Diagnosticos[x].DefeitoId.Name : "") + "</Defeito>"); xml.AppendLine("<Solucao>" + (ocorrencia.Diagnosticos[x].SolucaoId != null ? ocorrencia.Diagnosticos[x].SolucaoId.Name : "") + "</Solucao>"); xml.AppendLine("<QtdeSolicitada>" + (ocorrencia.Diagnosticos[x].QuantidadeSolicitada.HasValue ? ocorrencia.Diagnosticos[x].QuantidadeSolicitada.Value.ToString() : "") + "</QtdeSolicitada>"); xml.AppendLine("<DataPedidoEmitidoERP>" + (ocorrencia.Diagnosticos[x].DataPedidoEmitidoERP.HasValue ? ocorrencia.Diagnosticos[x].DataPedidoEmitidoERP.Value.Date.ToShortDateString() : "") + "</DataPedidoEmitidoERP>"); xml.AppendLine("<DataFaturamentoERP>" + (ocorrencia.Diagnosticos[x].DataFaturamentoERP.HasValue ? ocorrencia.Diagnosticos[x].DataFaturamentoERP.Value.Date.ToShortDateString() : "") + "</DataFaturamentoERP>"); xml.AppendLine("<NumeroNotaFiscal>" + ocorrencia.Diagnosticos[x].NumeroNotaFiscal + "</NumeroNotaFiscal>"); xml.AppendLine("<SerieNotaFiscal>" + ocorrencia.Diagnosticos[x].SerieNotaFiscal + "</SerieNotaFiscal>"); xml.AppendLine("<Produto>" + ocorrencia.Diagnosticos[x].Produto.Codigo + "</Produto>"); xml.AppendLine("<Item>" + ocorrencia.Diagnosticos[x].Produto.Nome + "</Item>"); xml.AppendLine("</ServicosExecutados>"); } } else { xml.AppendLine("<ServicosExecutados></ServicosExecutados>"); } } else { //base.Mensageiro.AdicionarTopico("Achou", false); } } catch (Exception erro) { //return base.TratarErro("Não foi possível realizar a pesquisa pelo seguinte motivo: " + erro.Message + " - " + erro.StackTrace.ToString(), erro, "CalcularDiferencaEntreDatas"); xml.AppendLine("<ERRO>Não foi possível realizar a pesquisa pelo seguinte motivo: " + erro.Message + " - " + erro.StackTrace.ToString() + "</ERRO>"); } xml.AppendLine("</Ocorrencia>"); XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.ToString()); return(doc); }