コード例 #1
0
ファイル: SWCarCool.cs プロジェクト: jmelgarejoy/SWCarCool
        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));
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: jmelgarejoy/CarCool
        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");
        }