private static Try<PersonalCard> BuildPersonalCard(ConfigureOptions options) { var result = new Try<PersonalCard>(); string cardJson = null; CardModel cardModel = null; byte[] privateKeyBytes = null; PrivateKey privateKey = null; try { cardJson = File.ReadAllText(options.VirgilCardPath); } catch (Exception) { result.AddError("Can't read virgil card file"); } try { if (cardJson != null) { cardModel = JsonConvert.DeserializeObject<CardModel>(cardJson); } } catch (Exception) { result.AddError("Can't deserialize virgil card from file"); } try { privateKeyBytes = File.ReadAllBytes(options.PrivateKeyPath); } catch (Exception) { result.AddError("Can't read virgil private card file"); } try { if (privateKeyBytes != null) { privateKey = new PrivateKey(privateKeyBytes); } } catch (Exception) { result.AddError("Private key file could not be parsed"); } if (result.IsValid()) { var pc = new PersonalCard(new RecipientCard(cardModel), privateKey); result.SetResult(pc); } return result; }