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(); }