public Licenca ObterLicenca() { var nomeLicenca = NomeDaLicenca(); if (nomeLicenca == null) { return(new Licenca()); } if (_licencas.TryGetValue(nomeLicenca, out Licenca licenca)) { return(licenca); } else { try { var localArquivo = LocalDoArquivo(); if (!File.Exists(localArquivo)) { throw new FileNotFoundException("Erro ao localizar o arquivo: " + localArquivo); } var conteudoArquivo = CriptografiaAES.Descriptografa(_hash, File.ReadAllText(localArquivo)); licenca = JsonSerializer.Deserialize <Licenca>(conteudoArquivo); _licencas.Add(nomeLicenca, licenca); return(licenca); } catch (Exception e) { throw new ExcecaoDeLicenciamento("Erro ao localizar licença.", e); } } }
public Licenca ObterLicencaDoHash(string hash) { return(JsonSerializer.Deserialize <Licenca>(CriptografiaAES.Descriptografa(_hash, hash))); }