Beispiel #1
0
        public static DivergenciaDiaria Processar(Rota rota)
        {
            DivergenciaDiaria divergenciaDiaria = new DivergenciaDiaria();
            TimeSpan          timeRealizados    = rota.DtChegadaRealizada.Date - rota.DtPartidaRealizada.Date;
            TimeSpan          timePrevistos     = rota.DtChegadaPrevista.Date - rota.DtPartidaPrevista.Date;

            // Contabiliza o dia em que ele saiu
            int diasRealizados = timeRealizados.Days + 1;
            int diasPrevistos  = timePrevistos.Days + 1;

            if (rota.DtChegadaRealizada.Hour < 9)
            {
                diasRealizados--;
            }

            if (rota.DtChegadaPrevista.Hour < 9)
            {
                diasPrevistos--;
            }

            // Não envia o indicador ao WS quando os dias realizados estiverem dentro do previsto
            if (diasRealizados <= diasPrevistos)
            {
                divergenciaDiaria.SetExibirOcorrenciaNoXml(false);
            }

            divergenciaDiaria.QuantidadeDiariaRealizada = diasRealizados < 0 ? 0 : diasRealizados;
            divergenciaDiaria.QuantidadeDiariaPrevista  = diasPrevistos < 0 ? 0 : diasPrevistos;

            return(divergenciaDiaria);
        }
        private static void DivergenciaDiariaOcorrenciaWS(Entities.Ocorrencia ocorrencia, DT_CUSTO_ADICIONAL_FRETE_HBSIS_RequestIntegracaoOcorrencia ocorrenciaWS)
        {
            DivergenciaDiaria divergenciaDiaria = (DivergenciaDiaria)ocorrencia;

            ocorrenciaWS.Codigo = divergenciaDiaria.Codigo;
            ocorrenciaWS.Nome   = divergenciaDiaria.Nome;
            ocorrenciaWS.QuantidadeDiariaPrevista  = divergenciaDiaria.QuantidadeDiariaPrevista.ToString();
            ocorrenciaWS.QuantidadeDiariaRealizada = divergenciaDiaria.QuantidadeDiariaRealizada.ToString();
        }