public ResponseCarCool GenerarServicios(RequestCarCool request)
        {
            var url      = ConfigurationManager.AppSettings["UrlGenerarServicios"];
            var response = Util.InvocarServicio <ResponseCarCool>(request, url);

            if (response == null)
            {
                throw new Exception(string.Format("Problemas con el servicio: {0}", url));
            }


            return(response);
        }
        public ResponseCarCool EnviarDatos(RequestCarCool request)
        {
            var             url      = ConfigurationManager.AppSettings["UrlServicioCarcool"];
            ResponseCarCool response = new ResponseCarCool();

            try
            {
                response = Helper.InvocarServicio2 <ResponseCarCool>(request, "POST", url);
                if (response == null)
                {
                    throw new Exception(string.Format("Problemas con el servicio: {0}", url));
                }
            }
            catch (Exception ex)
            {
                response.success = false;
                response.message = ex.ToString(); // + " Trama request:" + JsonConvert.SerializeObject(request);
            }

            return(response);
        }
        public ResponseEnviarInformacionCarCool EnviarInformacionCarCool(RequestEnviarInformacionCarCool input)
        {
            ResponseEnviarInformacionCarCool resp = new ResponseEnviarInformacionCarCool();
            CarCoolDA           da           = new CarCoolDA();
            CarCoolProxy        proxy        = new CarCoolProxy();
            ResponseCarCool     response     = new ResponseCarCool();
            List <DetalleNave>  listaDetalle = new List <DetalleNave>();
            List <Contenedores> contenedores = new List <Contenedores>();

            //List<string> listaDestinatarios = new List<string>();
            //List<string> listaCopia = new List<string>();
            //List<string> listaCopiaOculta = new List<string>();
            //string destinatarios = ConfigurationManager.AppSettings["Destinatarios"].ToString();
            //string copia = ConfigurationManager.AppSettings["ConCopia"].ToString();
            //string copiaOculta = ConfigurationManager.AppSettings["CopiaOculta"].ToString();

            listaDetalle = da.ListarDetallesdeEnvio(input.OrdenServicio);

            if (listaDetalle != null && listaDetalle.Count > 0)
            {
                RequestCarCool request = new RequestCarCool();
                request.Recalada             = listaDetalle.FirstOrDefault().Recalada;
                request.Manifiesto           = listaDetalle.FirstOrDefault().Manifiesto;
                request.Nave                 = listaDetalle.FirstOrDefault().Nave;
                request.Viaje                = listaDetalle.FirstOrDefault().Viaje;
                request.Operador             = listaDetalle.FirstOrDefault().Operador;
                request.FechaArribo          = listaDetalle.FirstOrDefault().FechaArribo.ToString("yyyy-MM-dd HH:mm:ss");
                request.FechaTerminoDescarga = listaDetalle.FirstOrDefault().FechaTerminoDescarga.ToString("yyyy-MM-dd HH:mm:ss");
                request.FechaCutOffDry       = listaDetalle.FirstOrDefault().FechaCutOffdry.ToString("yyyy-MM-dd HH:mm:ss");
                request.FechaCutOffReefer    = listaDetalle.FirstOrDefault().FechaCutOffReefer.ToString("yyyy-MM-dd HH:mm:ss");
                request.FechaZarpe           = listaDetalle.FirstOrDefault().FechaZarpe.ToString("yyyy-MM-dd HH:mm:ss");
                request.TipoOperacion        = listaDetalle.FirstOrDefault().TipoOperacion;

                foreach (DetalleNave conten in listaDetalle)
                {
                    //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.EnviarDatos(request);

                if (!response.success)
                {
                    resp.Resultado = false;
                    resp.Mensaje   = response.message;
                }
                else
                {
                    resp.Resultado = true;
                    resp.Mensaje   = "OK";
                }
            }

            return(resp);
        }
Exemple #4
0
        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));
            }
        }
Exemple #5
0
        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");
        }