private void toolStripButton4_Click(object sender, EventArgs e)
        {  ///SOLICITAR PARTES
            try
            {
                var _pedido = new entidades.vialsur.prefectura.pedidos();
                _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();
                //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.Pedidos.frmPedidosOrden();
                    frmPedido.OrdenID = OrdenID;
                    frmPedido.ShowDialog();
                }

                /*
                 * var objFrmCambioEstado = new frmOrdenesCambiarEstado();
                 * objFrmCambioEstado.OrdenID = this.OrdenID;
                 * //                objFrmCambioEstado.Cedula = this.Cedula;
                 * //objFrmCambioEstado.Cedula = Empleado.cedula;
                 * objFrmCambioEstado.Empleado = Empleado;
                 *
                 * //    objFrmCambioEstado.Estado = entidades.vialsur.prefectura.Orden_TipoEstado.AUTORIZADO | entidades.vialsur.prefectura.Orden_TipoEstado.DESCARTADO;  //COMENTO ESTO
                 *
                 * if (objFrmCambioEstado.ShowDialog() == DialogResult.Yes)
                 * {
                 *  obj_orden = new logica.vialsur.prefectura.Orden.cls_logica_orden().ConsultarOrden(OrdenID);
                 *  MostrarInformacionVehiculo(obj_vehiculo, obj_orden);
                 * }  */
            }
            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);
                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\2.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_orde_detalle().ConsultarDetalleOrdenesByIdOrden_UI(Orden_Id);
                DataTable dt_detalle = new logica.vialsur.prefectura.Catalogos.cls_logica_detalle_pedidos().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;
            }
        }