public string control_guardar_actualizar_usuario(UsuarioObj usuario, bool actualizar)
 {
     conBdd.abrir_conexion_base();
     string mensaje = string.Empty;
     try
     {
         if (actualizar)
         {
             conBdd.actualizar_usuario(usuario);
             mensaje = "Actualizacion de datos usuario correcta";
         }
         else
         {
             GeneracionClave clave = new GeneracionClave(longitudClave);
             String password = clave.generarClaveUsuario();
             if (!string.IsNullOrEmpty(password))
             {
                 usuario.cambio_contrasenia = true;
                 usuario.contrasenia = seguridad.encriptar_informacion(password);
                 actualizar = true;
                 usuario.numero_intentos = 0;
                 notificacion("Usuario : " + usuario.nombre +" "+usuario.nombre + ", Contraseña Acceso : " + password
                     , MensajeSistema.contrasenia_generada, usuario);
                 conBdd.insertar_usuario(usuario);
                 mensaje = "Ingreso de nuevo usuario correcta";
             }
             else {
                 mensaje = "No se pudo realizar el ingreso de nuevo usuario correcta";
             }
         }
     }
     catch (ExInsertarRegistro ex)
     {
         logSistema.escritura_archivo_string(ex.Message);
         mensaje = ex.Message;
     }
     catch (ExActualizarRegistro ex)
     {
         logSistema.escritura_archivo_string(ex.Message);
         mensaje = ex.Message;
     }
     catch (Exception ex)
     {
         logSistema.escritura_archivo_string(ex.Message);
         mensaje = ex.Message;
     }
     finally
     {
         conBdd.cerrar_conexion_base();
     }
     return mensaje;
 }
        public string control_cambio_contrasenia(UsuarioObj usuario,string conNueva,bool generar)
        {
            string mensaje = "";
            bool actualizar = false;
            try
            {
                conBdd.abrir_conexion_base();
                if (generar)
                { // True es para generar la clave aleatorea
                    GeneracionClave clave = new GeneracionClave(longitudClave);
                    conNueva = clave.generarClaveUsuario();
                    if (!string.IsNullOrEmpty(conNueva))
                    {
                        usuario.cambio_contrasenia = true;
                        usuario.contrasenia = seguridad.encriptar_informacion(conNueva);
                        actualizar = true;
                        usuario.numero_intentos = 0;
                        notificacion("Usuario : " + usuario.nombre + " " + usuario.apellido+", Contraseña Reseteada : " + conNueva
                            , MensajeSistema.contrasenia_generada, usuario);
                        mensaje = "Contraseña de usuario generada correctamente, se ha enviado una notificación";
                    }else{
                        mensaje = MensajeSistema.contrasenia_no_generada;
                    }
                }else{
                    conNueva = seguridad.encriptar_informacion(conNueva);
                    string conAnt = seguridad.encriptar_informacion(usuario.contrasenia);
                    UsuarioObj utm = conBdd.obtener_usuario(usuario.cedula);
                    if (utm.contrasenia.Equals(conAnt))
                    {
                        usuario.contrasenia = conNueva;
                        usuario.cambio_contrasenia = false;
                        actualizar = true;
                        mensaje = "Contraseña de usuario actulizada correctamente";
                    }
                    else {
                        mensaje = MensajeSistema.error_contrasenia_ingresada;

                    }
                }
                if (actualizar)
                {
                    conBdd.actualizar_usuario(usuario);
                }
                else {
                    mensaje = "No se actulizo contraseña de usuario";
                }
            }
            catch (ExActualizarRegistro ex)
            {
                logSistema.escritura_archivo_string(ex.Message);
                mensaje = ex.Message;
            }
            catch (ExConexionBase ex)
            {
                logSistema.escritura_archivo_string(ex.Message);
                mensaje = MensajeSistema.error_Conexion;
            }
            catch (Exception ex)
            {
                logSistema.escritura_archivo_string(ex.Message);
                mensaje = MensajeSistema.error_sistema;
            }
            finally {
                conBdd.cerrar_conexion_base();
            }

            return mensaje;
        }