public ActionResult CrearUsuario(UsuarioModel unUsuario)
        {
            //Si el modelo NO es valido
            if (!ModelState.IsValid)
            {
                //Retornamos la vista con el error
                return(View(unUsuario));
            }
            else //Si el modelo es correcto
            {
                //Nos anticipamos a un posible error en nuestra base de datos
                try
                {
                    //Controlamos que el id de usuario no este en uso
                    UsuarioDTO buscar = unaLogica.BuscarUsuario(unUsuario.Usuario);
                    if (buscar != null)
                    {
                        //Creamos el error en el campo usuario
                        ModelState.AddModelError("Usuario", $"El usuario {unUsuario.Usuario} ya esta en uso");
                        //Retornamos la vista con el error
                        return(View(unUsuario));
                    }
                    else //si el usuario no esta en uso
                    {
                        //Controlamos la contraseña.

                        /*La contraseña debe tener entre 8 y 16 caracteres, mayusculas, minusculas
                         * y simbolos*/
                        if (FuncionesAuxiliares.ContrasenaEsValida(unUsuario.Contrasena))
                        {
                            //Pasamos nuestro usuarioModel a usuarioDTO
                            UsuarioDTO nuevoUsuario = HerramientasM.ConvertirUsuarioModel(unUsuario);

                            //enviamos nuestro usuario a la logica
                            unaLogica.CrearUsuario(nuevoUsuario);

                            //redirigimos al GET para que se reseteen los campos del formulario
                            return(RedirectToAction("CrearUsuario"));
                        }
                        else //si la contraseña no es segura
                        {
                            //Creamos el mensaje de error
                            ModelState.AddModelError("Contrasena", $"La contraseña debe tener: minusculas, mayusculas, numeros, simbolos y entre 8 y 16 caracteres sin espacios en blanco");
                            //Devolvemos la vista con el error
                            return(View(unUsuario));
                        }
                    }
                }
                catch (Exception unError)
                {
                    //Podriamos guardar el error en la base de datos
                    //Retornamos la vista de Error
                    return(View("Error"));
                }
            }
        }
        public ActionResult EditarUsuario(UsuarioModel unUsuario)
        {
            //Controlamos que el modelo sea valido
            if (!ModelState.IsValid)
            {
                //El modelo no es valido y mostramos el error
                return(View(unUsuario));
            }
            else //El modelo es valido
            {
                //Anticipamos un posible error en base
                try
                {
                    //Controlamos la contraseña.

                    /*La contraseña debe tener entre 8 y 16 caracteres, mayusculas, minusculas
                     * y simbolos*/
                    if (FuncionesAuxiliares.ContrasenaEsValida(unUsuario.Contrasena))
                    {
                        //Convertimos nuestro usuarioModel a UsuarioDTO
                        UsuarioDTO miusuario = HerramientasM.ConvertirUsuarioModel(unUsuario);
                        //Pasamos el usuario a la logica
                        unaLogica.ActualizarUsuario(miusuario);
                        //Luego de terminado devolvemos la vista de usuarios
                        return(RedirectToAction("MostrarUsuarios"));
                    }
                    else //si la contraseña no es segura
                    {
                        //Creamos el mensaje de error
                        ModelState.AddModelError("Contrasena", $"La contraseña debe tener: minusculas, mayusculas, numeros, simbolos y entre 8 y 16 caracteres sin espacios en blanco");
                        //Devolvemos la vista con el error
                        return(View(unUsuario));
                    }
                }
                catch (Exception unError)
                {
                    //Podriamos guardar el error en la base
                    //Redirigimos a la vista de error
                    return(View("Error"));
                }
            }
        }