public void InvocarServicioCarCool() { try { CarcoolBL carcoolBL = new CarcoolBL(); CarCoolProxy proxy = new CarCoolProxy(); ResponseCarCool response = new ResponseCarCool(); RecaladasPendientes pend = new RecaladasPendientes(); Contenedores ContenedoresList = new Contenedores(); List <RecaladasPendientes> listapendientes = new List <RecaladasPendientes>(); listapendientes = carcoolBL.ListarPendientes(); if (listapendientes != null && listapendientes.Count > 0) { foreach (RecaladasPendientes ent in listapendientes) { // Obtener detalle de envio - Recalada: {recalada} List <DetalleRecalada> listviajes = new List <DetalleRecalada>(); List <Contenedores> contenedores = new List <Contenedores>(); listviajes = carcoolBL.ListarDetallesdeEnvio(ent); if (listviajes != null && listviajes.Count > 0) { RequestCarCool request = new RequestCarCool(); request.Recalada = listviajes.FirstOrDefault().Recalada; request.Manifiesto = listviajes.FirstOrDefault().Manifiesto; request.Nave = listviajes.FirstOrDefault().Nave; request.Viaje = listviajes.FirstOrDefault().Viaje; request.Operador = listviajes.FirstOrDefault().Operador; request.FechaArribo = listviajes.FirstOrDefault().FechaArribo.ToString("yyyy-MM-dd HH:mm:ss"); request.FechaTerminoDescarga = listviajes.FirstOrDefault().FechaTerminoDescarga.ToString("yyyy-MM-dd HH:mm:ss"); request.FechaCutOffDry = listviajes.FirstOrDefault().FechaCutOffdry.ToString("yyyy-MM-dd HH:mm:ss"); request.FechaCutOffReefer = listviajes.FirstOrDefault().FechaCutOffReefer.ToString("yyyy-MM-dd HH:mm:ss"); request.FechaZarpe = listviajes.FirstOrDefault().FechaZarpe.ToString("yyyy-MM-dd HH:mm:ss"); request.TipoOperacion = listviajes.FirstOrDefault().TipoOperacion; foreach (DetalleRecalada conten in listviajes) { //para que vuelva a refresacar los datos Contenedores item = new Contenedores(); item.Contenedor = conten.Contenedor; item.Tipo = conten.Tipo; item.BlBooking = conten.BlBooking; item.Consignatario = conten.Consignatario; item.TipoContenedor = conten.TipoContenedor; item.Dimension = conten.Dimension; item.Condicion = conten.Condicion; item.Peso = conten.Peso; item.Temperatura = conten.Temperatura; item.Imo = conten.Imo; item.Iqbf = conten.Iqbf; item.SINI = conten.SINI; item.Conexion = conten.Conexion; //guarda contenedores.Add(item); } //ejecuta request.Contenedores = contenedores; // inicio envio a servicio carcool response = proxy.GenerarServicios(request); if (response.success == true) { // Servicio respondio con exito if (!carcoolBL.ActualizaEnvioRecalada(ent.IdEnvio)) { InsertLog.Instanse.Insert(string.Format(@"Error en el metodo: {0}{1}Mensaje Error:{2}{3}Detalle Error:{4}", MethodBase.GetCurrentMethod().Name, Environment.NewLine, "Error al actualizar el estado de envio", Environment.NewLine, "No se pudo actualizar el estado de envio a la recalada " + ent.Recalada.ToString())); } } else { InsertLog.Instanse.Insert(string.Format(@"Error en el metodo: {0}{1}Mensaje Error:{2}{3}Detalle Error:{4}", MethodBase.GetCurrentMethod().Name, Environment.NewLine, "Error al invocar el servicio CarCool", Environment.NewLine, response.message.ToString())); } } else { InsertLog.Instanse.Insert(string.Format(@"Error en el metodo: {0}{1}Mensaje Error:{2}{3}Detalle Error:{4}", MethodBase.GetCurrentMethod().Name, Environment.NewLine, "Obtener detalle recalada ", Environment.NewLine, "No se obtuvo detalle para la recalada " + ent.Recalada.ToString())); } } } } catch (Exception ex) { InsertLog.Instanse.Insert(string.Format(@"Error en el metodo: {0}{1}Mensaje Error:{2}{3}Detalle Error:{4}", MethodBase.GetCurrentMethod().Name, Environment.NewLine, ex.Message, Environment.NewLine, ex.StackTrace)); } }
static void Main(string[] args) { ManejadorLog manejador = new ManejadorLog(); try { CarcoolBL carcoolBL = new CarcoolBL(); CarCoolProxy proxy = new CarCoolProxy(); RequestCarCool request = new RequestCarCool(); ResponseCarCool response = new ResponseCarCool(); RecaladasPendientes pend = new RecaladasPendientes(); Contenedores ContenedoresList = new Contenedores(); List <Contenedores> contenedores = new List <Contenedores>(); List <RecaladasPendientes> PendientesList = new List <RecaladasPendientes>(); Console.WriteLine("Consultando Naves Pendiente"); List <RecaladasPendientes> listapendientes = carcoolBL.ListarPendientes(); // Mensaje que diga: Naves pendientes de envío = {0} Console.WriteLine("Naves pendientes de envio = " + listapendientes.Count()); foreach (RecaladasPendientes ent in listapendientes) { // Obtener detalle de envio - Recalada: {recalada} Console.WriteLine("Detalles de envio - Recalada : " + ent.Recalada.ToString()); List <DetalleRecalada> listviajes = carcoolBL.ListarDetallesdeEnvio(ent); request.Recalada = listviajes.FirstOrDefault().Recalada; request.Manifiesto = listviajes.FirstOrDefault().Manifiesto; request.Nave = listviajes.FirstOrDefault().Nave; request.Viaje = listviajes.FirstOrDefault().Viaje; request.Operador = listviajes.FirstOrDefault().Operador; request.FechaArribo = listviajes.FirstOrDefault().FechaArribo.ToString("yyyy-MM-dd HH:mm:ss"); request.FechaTerminoDescarga = listviajes.FirstOrDefault().FechaTerminoDescarga.ToString("yyyy-MM-dd HH:mm:ss"); request.FechaCutOffDry = listviajes.FirstOrDefault().FechaCutOffdry.ToString("yyyy-MM-dd HH:mm:ss"); request.FechaCutOffReefer = listviajes.FirstOrDefault().FechaCutOffReefer.ToString("yyyy-MM-dd HH:mm:ss"); request.FechaZarpe = listviajes.FirstOrDefault().FechaZarpe.ToString("yyyy-MM-dd HH:mm:ss"); request.TipoOperacion = listviajes.FirstOrDefault().TipoOperacion; //Cantidad de contenedores por enviar: {0} Console.WriteLine("Cantidad de contenedores por enviar : " + listviajes.Count()); foreach (DetalleRecalada conten in listviajes) { //para que vuelva a refresacar los datos Contenedores item = new Contenedores(); item.Contenedor = conten.Contenedor; item.Tipo = conten.Tipo; item.BlBooking = conten.BlBooking; item.Consignatario = conten.Consignatario; item.TipoContenedor = conten.TipoContenedor; item.Dimension = conten.Dimension; item.Condicion = conten.Condicion; item.Peso = conten.Peso; item.Temperatura = conten.Temperatura; item.Imo = conten.Imo; item.Iqbf = conten.Iqbf; item.SINI = conten.SINI; item.Conexion = conten.Conexion; //guarda contenedores.Add(item); } //ejecuta request.Contenedores = contenedores; // inicio envio a servicio carcool Console.WriteLine("Se inicio el envio a servicio Carcool"); response = proxy.GenerarServicios(request); if (response.success == true) { // Servicio respondio con exito Console.WriteLine("Servicio respondido con exito"); // ACTUALIZAR ESTADO ENVIO manejador.GrabarLog("Mensaje exitoso..."); } else { //servicio respondio con error Console.WriteLine("Servicio respondido con error"); manejador.GrabarLog("Algun otro problema"); } } { manejador.GrabarLog("Error en los servicios"); } } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } // Fin de proceso detalle Console.WriteLine("Fin de proceso detalle"); }