public async Task <CredentialsContract> CreateCovidTest(string connectionId, CovidTestCredentialParameters covidTestCredential, string walletId) { CredentialsContract credentials = null; if (covidTestCredential != null) { covidTestCredential.DateIssued = DateTime.UtcNow; var credentialOffer = new CredentialOfferParameters { ConnectionId = connectionId, DefinitionId = DefinitionIds[Schemas.CovidTest], AutomaticIssuance = false, CredentialValues = new Dictionary <string, string> { { Attributes.ReferenceNumber, covidTestCredential.ReferenceNumber.ValidateLength() }, { Attributes.Laboratory, covidTestCredential.Laboratory.ToString() }, { Attributes.DateTested, covidTestCredential.DateTested.IsInPast().ToString() }, { Attributes.DateIssued, covidTestCredential.DateIssued.ToString() }, { Attributes.CovidStatus, covidTestCredential.CovidStatus.ToString() }, } }; credentials = await _agencyBroker.SendCredentials(credentialOffer); StoreCoviIDCredentials(covidTestCredential, walletId); } return(credentials); }
public async Task <CredentialsContract> SendCredentials(CredentialOfferParameters credentials) { var content = new StringContent(JsonConvert.SerializeObject(credentials), Encoding.UTF8, applicationJson); var response = await _httpClient.PostAsync($"{partialRoot}credentials", content); response = await ValidateResponse(response); return(JsonConvert.DeserializeObject <CredentialsContract>(await response.Content.ReadAsStringAsync())); }
/// <summary> /// Creates a verified person credentials with the relevant DefinitionID and attribute values. /// </summary> /// <param name="connectionId"></param> /// <param name="personCredential"></param> /// <returns></returns> public async Task <CredentialsContract> CreatePerson(string connectionId, PersonCredentialParameters personCredential) { var credentialOffer = new CredentialOfferParameters { ConnectionId = connectionId, DefinitionId = DefinitionIds[Schemas.Person], AutomaticIssuance = false, CredentialValues = new Dictionary <string, string> { { Attributes.FirstName, personCredential.FirstName.ValidateLength() }, { Attributes.LastName, personCredential.LastName.ValidateLength() }, { Attributes.Photo, personCredential.Photo }, { Attributes.MobileNumber, personCredential.MobileNumber.ValidateMobileNumber().ToString() }, { Attributes.IdentificationType, personCredential.IdentificationType.ToString() }, { Attributes.IdentificationValue, personCredential.IdentificationValue.ValidateIdentification(personCredential.IdentificationType) } } }; var credentials = await _agencyBroker.SendCredentials(credentialOffer); return(credentials); }