public void Guardar(UsuarioDto usuarioDto)
        {
            if (usuarioDto.Estado == EstadoObjeto.Nuevo)
            {
                string password = _encriptacion.Encriptar(usuarioDto.Password);

                usuarioDto.Username = usuarioDto.Username.ToUpper(CultureInfo.CurrentCulture);

                UsuarioEntity usuario = UsuarioEntity.Crear(usuarioDto.Username, password, usuarioDto.Nombre, usuarioDto.Apellido,
                                                            usuarioDto.Email, usuarioDto.Imagen, usuarioDto.Usuario);

                _usuarioRepository.Crear(usuario);
            }
            else if (usuarioDto.Estado == EstadoObjeto.Modificado)
            {
                string password = _encriptacion.Encriptar(usuarioDto.Password);

                bool passwordCorrecto = _usuarioRepository.VerificarPassword(usuarioDto.Username, password);

                if (!passwordCorrecto)
                {
                    throw new Exception("No se puede modificar el usuario, la contraseña es incorrecta");
                }

                usuarioDto.Username = usuarioDto.Username.ToUpper(CultureInfo.CurrentCulture);

                UsuarioEntity usuario = _usuarioRepository.Buscar(usuarioDto.Id);
                usuario.Modificar(usuarioDto.Username, usuarioDto.Nombre, usuarioDto.Apellido, usuarioDto.Email
                                  , usuarioDto.Imagen, usuarioDto.Usuario);
                _usuarioRepository.Modificar();
            }
            else if (usuarioDto.Estado == EstadoObjeto.Borrado)
            {
                _usuarioRepository.Eliminar(usuarioDto.Id);
            }
            else
            {
                throw new Exception("El método no es el correcto");
            }
        }