public static CustoDescarga Processar(Rota rota)
        {
            custoDescargaXml = null;

            foreach (var entrega in rota.Entregas)
            {
                if (entrega.SolicitacaoDescarga != null && entrega.SolicitacaoDescarga.IdAprovado)
                {
                    if (custoDescargaXml == null)
                    {
                        custoDescargaXml = new CustoDescarga();
                    }

                    custoDescargaXml.AdicionarItem(entrega.Cliente.CdClienteNegocio, entrega.SolicitacaoDescarga.VlPreAprovado, entrega.SolicitacaoDescarga.VlCalculado);
                }
            }

            return(custoDescargaXml);
        }
        private static void CustoDescargaOcorrenciaWS(Entities.Ocorrencia ocorrencia, DT_CUSTO_ADICIONAL_FRETE_HBSIS_RequestIntegracaoOcorrencia ocorrenciaWS)
        {
            var itens = new List <DT_CUSTO_ADICIONAL_FRETE_HBSIS_RequestIntegracaoOcorrenciaItensItem>();

            CustoDescarga custoDescarga = (CustoDescarga)ocorrencia;

            ocorrenciaWS.Codigo = custoDescarga.Codigo;
            ocorrenciaWS.Nome   = custoDescarga.Nome;
            ocorrenciaWS.Itens  = InicializaItens();

            foreach (var item in custoDescarga.Itens)
            {
                var ocorrenciaWsItem = InicializaItem();

                ocorrenciaWsItem.CodigoCliente          = item.CodigoClienteNegocio;
                ocorrenciaWsItem.ValorDescargaPrevisto  = item.ValorDescargaPrevisto.ToString("0.0000", System.Globalization.CultureInfo.InvariantCulture);
                ocorrenciaWsItem.ValorDescargaRealizado = item.ValorDescargaRealizado.ToString("0.0000", System.Globalization.CultureInfo.InvariantCulture);

                itens.Add(ocorrenciaWsItem);
            }

            ocorrenciaWS.Itens.Item = itens.ToArray();
        }