/// <summary>
        /// Registra una orden y retorna el ID de la orden
        /// </summary>
        /// <param name="mi_ve_vehiculo"></param>
        /// <param name="mi_orden"></param>
        /// <param name="mi_orde_detalle"></param>
        /// <returns>IR DE LA ORDEN</returns>
        public string RegistrarOrdenMantenimiento(ve_vehiculo mi_ve_vehiculo, orden mi_orden, List <orde_detalle> mi_orde_detalle, emp_empleado emp_usuario) //, ve_vehiculo_responsable mi_ve_vehiculo_responsable)
        {
            try
            {
                var _ve_vehiculo_responsable = new cls_data_ve_vehiculo_responsable();
                ve_vehiculo_responsable mi_ve_vehiculo_responsable = mi_orden.ve_vehiculo_responsable.First();
                int ve_vehiculo_responsable_id = _ve_vehiculo_responsable.Insertar_ve_vehiculo_responsable(mi_ve_vehiculo_responsable);

                var _orden = new cls_data_orden();
                mi_orden.ve_vehiculo_responsable_id = ve_vehiculo_responsable_id;
                string orden_id = _orden.Insertar_orden(mi_orden, emp_usuario.cedula); //registra la orden con la CI del usuario que la creo

                for (int i = 0; i < mi_orde_detalle.Count; i++)
                {
                    var _orde_detalle = mi_orde_detalle[i];
                    _orde_detalle.orden_id = orden_id;
                    new cls_data_orde_detalle().Insertar_orde_detalle(_orde_detalle);
                }
                return(orden_id);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Retorna un DataTable personalizado para ser usado en la grilla de la UI
        /// </summary>
        /// <param name="Cedula"></param>
        /// <param name="Placa"></param>
        /// <param name="id_orden"></param>
        /// <param name="estado">-1 representa que no busque segun el estado</param>
        /// <returns></returns>
        public System.Data.DataTable ConnsultarOrdenesAsignadasTecnicosPorCedula_UI_customized(string Cedula, string Placa, string id_orden, int estado)
        {
            try
            {
                System.Data.DataTable dt = new cls_data_orden().ObtenerOrdenesByTecnicoAsignado_UI(Cedula, Placa, id_orden, estado);
                //dataGridView1.Columns["tipo_oden"].ValueType = typeof(string);
                // dt.Columns["tipo_oden"].DataType = typeof(string);

                System.Data.DataTable dt_clodana = dt.Clone();
                dt_clodana.Columns["tipo_oden"].DataType      = typeof(string);
                dt_clodana.Columns["ve_vehiculo_id"].DataType = typeof(string);
                dt_clodana.Columns["estado"].DataType         = typeof(string);
                dt_clodana.Columns["hora"].DataType           = typeof(string);

                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    dt_clodana.LoadDataRow(dr.ItemArray, false);
                }
                dt.Clear();
                dt.Dispose();


                for (int i = 0; i < dt_clodana.Rows.Count; i++)
                {
                    entidades.vialsur.prefectura.per_persona persona_responsable = new logica.vialsur.prefectura.Catalogos.cls_logica_per_persona().Consultar_Per_Persona(
                        dt_clodana.Rows[i]["cedula_responsable"].ToString());

                    dt_clodana.Rows[i]["cedula_responsable"] = persona_responsable.apellidos + ", " + persona_responsable.nombres;

                    entidades.vialsur.prefectura.per_persona persona_chofer = new logica.vialsur.prefectura.Catalogos.cls_logica_per_persona().Consultar_Per_Persona(
                        dt_clodana.Rows[i]["chofer"].ToString());


                    dt_clodana.Rows[i]["chofer"] = persona_chofer.apellidos + ", " + persona_chofer.nombres;

                    dt_clodana.Rows[i]["tipo_oden"] = Orden_TipoMantenimientoById(int.Parse(dt_clodana.Rows[i]["tipo_oden"].ToString()));

                    dt_clodana.Rows[i]["ve_vehiculo_id"] = new logica.vialsur.prefectura.Catalogos.cls_logica_ve_vehiculo().GetPlacaById(int.Parse(dt_clodana.Rows[i]["ve_vehiculo_id"].ToString()));

                    dt_clodana.Rows[i]["estado"] = Orden_TipoEstadoById(int.Parse(dt_clodana.Rows[i]["estado"].ToString()));
                    dt_clodana.Rows[i]["hora"]   = dt_clodana.Rows[i]["hora"].ToString().Substring(0, 5);

                    dt_clodana.Rows[i]["per_persona_cedula_crea"] = new logica.vialsur.prefectura.Catalogos.cls_logica_per_persona().Consultar_Per_Persona(
                        dt_clodana.Rows[i]["per_persona_cedula_crea"].ToString()).ApellidosNombres;
                }
                return(dt_clodana);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }