/// <summary> /// Punto de entrada para la generacion de paquetes /// </summary> /// <param name="fecheaInicio"></param> /// <param name="fechaFin"></param> /// <param name="pedidosPorEncabezado"></param> /// <returns></returns> public int GenerarPaquetes(int pedidosPorEncabezado, bool procesprocesaSoloPedidosDiarios, int horaProcesaPedidos) { var fechaInicio = procesprocesaSoloPedidosDiarios ? BusinessUtils.GetFechaConHoraExacta(DateTime.Now, 0) : BusinessUtils.GetFechaConHoraExacta(DateTime.MinValue, 0); var fechaFin = procesprocesaSoloPedidosDiarios ? BusinessUtils.GetFechaConHoraExacta(DateTime.Now, horaProcesaPedidos) : BusinessUtils.GetFechaConHoraExacta(DateTime.MaxValue, 0); var grupos = GeneraGrupos(pedidosPorEncabezado, fechaInicio, fechaFin); int paquetesGenerados = 0; BusinessUtils.PreparaRutaTemporal(_rutaArchivosTemporales); if (grupos != null) { foreach (var grupo in grupos) { foreach (var encabeado in grupo.Encabezados) { GeneraArchivoEncabezado(encabeado); GeneraArchivosDetalle(encabeado); paquetesGenerados++; } } var rutaArchivoZip = _rutaArchivosFinales + @"\" + String.Format("orderivr.{0:yyyy-MM-dd}.zip", DateTime.Now); Zip.ComprimirPaquete(rutaArchivoZip, _rutaArchivosTemporales); return(paquetesGenerados); } return(0); }