private void toolStripButton5_Click(object sender, EventArgs e)
        { /// SOLICITUD DE LUBRICANTES
            try
            {
                var _pedido = new entidades.vialsur.prefectura.pedidos_aceite();
                _pedido.cedula   = Cedula_mecanico; //ESTA PUESTO PARA QUE REGISTRE EL MECANICO QUE SOLICITA
                _pedido.orden_id = OrdenID;         //id de la orden de mantenimiento


                var objPedido = new logica.vialsur.prefectura.Catalogos.cls_logica_pedidos_aceite();
                //verificar que ya este creado la orden
                if (objPedido.Consultar_Pedido(OrdenID).cedula == null)
                {
                    if (MessageBox.Show("¿Desea solicitar partes?", "Alerta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        objPedido.InsertarPedido(_pedido);
                    }
                }
                if (objPedido.Consultar_Pedido(OrdenID).cedula != null)
                {
                    var frmPedido = new vialsur.prefectura.PedidosLubricantes.frmPedidosLubricantesOrden();
                    frmPedido.OrdenID = OrdenID;
                    frmPedido.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error " + ex.Message);
            }
        }
        public string Generar()
        {
            try
            {

                //pedidos obj_pedido = new logica.vialsur.prefectura.Catalogos.cls_logica_pedidos().Consultar_PedidoById(Orden_Id);
                //fondo_pedido obj_pedido = new logica.vialsur.prefectura.Catalogos.cls_logica_fondo_pedido().Consultar_PedidoById(Orden_Id);
                pedidos_aceite obj_pedido = new logica.vialsur.prefectura.Catalogos.cls_logica_pedidos_aceite().Consultar_PedidoById(Orden_Id);
                orden obj_orden = new logica.vialsur.prefectura.Orden.cls_logica_orden().ConsultarOrden(obj_pedido.orden_id);
                per_persona obj_persona = new logica.vialsur.prefectura.Catalogos.cls_logica_per_persona().Consultar_Per_Persona(obj_pedido.cedula);
                ve_vehiculo_responsable obj_ve_resp = obj_orden.ve_vehiculo_responsable.FirstOrDefault();
                ve_vehiculo obj_vehiculo = new logica.vialsur.prefectura.Catalogos.cls_logica_ve_vehiculo().ConsultarDatosVehiculoPorId((int)obj_ve_resp.ve_vehiculo_id);

                ve_vehiculo_color obj_col = obj_vehiculo.ve_vehiculo_color;
                ve_vehiculo_modelo obj_modelo = obj_vehiculo.ve_vehiculo_modelo;
                ve_vehiculo_marca obj_marca = obj_modelo.ve_vehiculo_marca;


                PdfReader pdfReader = new PdfReader(template_1);
                PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(@"C:\Temp\4.pdf", FileMode.Create));
                AcroFields pdfFormFields = pdfStamper.AcroFields;
                /// DETALLES DE LA ORDEN
                pdfFormFields.SetField("ORDEN No", String.Format("{0:000000000000#}", obj_pedido.id));
                pdfFormFields.SetField("MECANICO RESPONSABLE", obj_persona.GetFullName);
                pdfFormFields.SetField("FECHA DE REGISTRO DE SOLICITUD", ((DateTime)obj_pedido.fecha).ToString("dd-MM-yyy"));
                pdfFormFields.SetField("OBSERVACIONES GENERALES", obj_pedido.observaciones);
                pdfFormFields.SetField("ESTADO SOLICITUD", obj_pedido.aprobada?"APROBADA":"NO APROBADA");

                /// DATOS GENERALES DEL AUTOMOTOR
                  //info del vehiculo
                pdfFormFields.SetField("CÓDIGO", obj_vehiculo.codigo);
                pdfFormFields.SetField("MARCA", obj_marca.nombre);
                pdfFormFields.SetField("SERIE MOTOR", obj_vehiculo.serie_motor);
                pdfFormFields.SetField("SERIE CHASIS", obj_vehiculo.serie_chasis);
                pdfFormFields.SetField("PLACA", obj_vehiculo.placa);
                pdfFormFields.SetField("TIPO VEHÍCULO", "");
                //pdfFormFields.SetField("ESTADO", obj_vehiculo.estado.ToString());
                pdfFormFields.SetField("ESTADO", (bool)obj_vehiculo.estado? "ACTIVO":"INACTIVO");
                pdfFormFields.SetField("MODELO", obj_modelo.modelo);
                pdfFormFields.SetField("COLOR", obj_col.nombre_comun);
                pdfFormFields.SetField("PLACA PROVISIONAL", obj_vehiculo.placa_provisional);
                pdfFormFields.SetField("TIPO DE COMBUSTIBLE", ((TipoCombustible)((int)obj_modelo.tipo_combustible)).ToString());

                /// DETALLE DE REPUESTOS Y MATERIALES
                
                //DataTable dt_detalle = new logica.vialsur.prefectura.Catalogos.cls_logica_detalle_pedidos().ConsultarDetallesBy_PedidoId(Orden_Id);
                DataTable dt_detalle = new logica.vialsur.prefectura.Catalogos.cls_logica_detalle_pedidos_aceite().ConsultarDetallesBy_PedidoId(Orden_Id);
                for (int i = 0; i < dt_detalle.Rows.Count; i++)
                {
                    pdfFormFields.SetField("CANTIDADRow" + (i + 1), String.Format("{0:0000#}",dt_detalle.Rows[i]["cantidad"].ToString()));
                    pdfFormFields.SetField("CONCEPTORow" + (i + 1), dt_detalle.Rows[i]["detalle"].ToString());
                }
                dt_detalle.Clear();
                dt_detalle.Dispose();
                
                ///
                pdfFormFields.SetField("SOLICITANTE", obj_persona.GetFullName);


                /*
                orden obj_orden =  new logica.vialsur.prefectura.Orden.cls_logica_orden().ConsultarOrden(Orden_Id);
                ve_vehiculo_responsable obj_ve_resp = obj_orden.ve_vehiculo_responsable.FirstOrDefault();

                ve_vehiculo obj_vehiculo = new logica.vialsur.prefectura.Catalogos.cls_logica_ve_vehiculo().ConsultarDatosVehiculoPorId((int)obj_ve_resp.ve_vehiculo_id);                                
                ve_vehiculo_color obj_col = obj_vehiculo.ve_vehiculo_color;
                ve_vehiculo_modelo obj_modelo = obj_vehiculo.ve_vehiculo_modelo;
                ve_vehiculo_marca obj_marca = obj_modelo.ve_vehiculo_marca;

                per_persona obj_persona = new logica.vialsur.prefectura.Catalogos.cls_logica_per_persona().Consultar_Per_Persona(obj_ve_resp.per_persona_cedula);


                PdfReader pdfReader = new PdfReader(template_1);
                PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(@"C:\Temp\1.pdf", FileMode.Create));
                AcroFields pdfFormFields = pdfStamper.AcroFields;
                //info de la orden
                pdfFormFields.SetField("ORDEN No", String.Format("{0:0000000000000}", obj_orden.id ));
                pdfFormFields.SetField("TIPO DE MANTENIMIENTO", ((entidades.vialsur.prefectura.Orden_TipoMantenimiento) obj_orden.tipo_oden).ToString() );
                pdfFormFields.SetField("MECANICO RESPONSABLE", obj_persona.GetFullName );
                pdfFormFields.SetField("FECHA DE REGISTRO",   ((DateTime)obj_orden.fecha).ToString("dd-MM-yyy hh:mm:ss") );
                pdfFormFields.SetField("FECHA SALIDA", obj_orden.fecha_cierre!=null?obj_orden.fecha_cierre.ToString():"");
                pdfFormFields.SetField("KILOMENTRAJE DE INGRESO", obj_orden.km_ingreso.ToString()+"Km" );
                pdfFormFields.SetField("KILOMETRAJE DE EGRESO", obj_orden.km_egreso.ToString()+"Km");
                pdfFormFields.SetField("OBSERVACIONES GENERALES", obj_orden.observacion );

                //info del vehiculo
                pdfFormFields.SetField("CODIGO", obj_vehiculo.codigo);
                pdfFormFields.SetField("MARCA", obj_marca.nombre );
                pdfFormFields.SetField("SERIE MOTOR", obj_vehiculo.serie_motor );
                pdfFormFields.SetField("SERIE CHASIS", obj_vehiculo.serie_chasis );
                pdfFormFields.SetField("PLACA", obj_vehiculo.placa );
                pdfFormFields.SetField("TIPO VEHICULO", "" );
                pdfFormFields.SetField("ESTADO", obj_vehiculo.estado.ToString() );
                pdfFormFields.SetField("MODELO", obj_modelo.modelo );
                pdfFormFields.SetField("COLOR", obj_col.nombre_comun);
                pdfFormFields.SetField("PLACA PROVISIONAL", obj_vehiculo.placa_provisional ) ;
                pdfFormFields.SetField("TIPO DE COMBUSTIBLE", ((TipoCombustible)((int)obj_modelo.tipo_combustible)).ToString() );

                //info detalle de trabajos realizados
               

               DataTable dt_detalle = new logica.vialsur.prefectura.Catalogos.cls_logica_orde_detalle().ConsultarDetalleOrdenesByIdOrden_UI(Orden_Id);
                for(int i=0; i<dt_detalle.Rows.Count; i++ )
                {
                    
                    pdfFormFields.SetField("PARTE PRINCIPAL_" + (i + 1), dt_detalle.Rows[i]["nombrePP"].ToString()   );                    
                    pdfFormFields.SetField("SUB PARTE_" + (i+1), dt_detalle.Rows[i]["nombrePS"].ToString());
                    pdfFormFields.SetField("TRABAJO REQUERIDO_" + (i + 1), dt_detalle.Rows[i]["accion_requerida"].ToString());
                    pdfFormFields.SetField("TRABAJO REALIZADO_" + (i+1), dt_detalle.Rows[i]["accion_realizada"].ToString()  );
                    pdfFormFields.SetField("CANTIDAD_" + (i+1), dt_detalle.Rows[i]["cantidad"].ToString());                    
                    pdfFormFields.SetField("OBSERVACIONRow1_" + (i+1), dt_detalle.Rows[i]["observacion"].ToString());
                }
                dt_detalle.Clear();
                dt_detalle.Dispose();

                pdfStamper.FormFlattening = false;
                pdfStamper.Close();
                */


                pdfStamper.FormFlattening = false;
                pdfStamper.Close();


                return "";
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }