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"); } }