using System.Collections.Generic; using System.Threading.Tasks; using Bit.Core.Models.Data; using Bit.Core.Models.View; namespace Bit.Core.Models.Domain { public class Identity : Domain { private HashSet _map = new HashSet { "Title", "FirstName", "MiddleName", "LastName", "Address1", "Address2", "Address3", "City", "State", "PostalCode", "Country", "Company", "Email", "Phone", "SSN", "Username", "PassportNumber", "LicenseNumber" }; public Identity() { } public Identity(IdentityData obj, bool alreadyEncrypted = false) { BuildDomainModel(this, obj, _map, alreadyEncrypted); } public EncString Title { get; set; } public EncString FirstName { get; set; } public EncString MiddleName { get; set; } public EncString LastName { get; set; } public EncString Address1 { get; set; } public EncString Address2 { get; set; } public EncString Address3 { get; set; } public EncString City { get; set; } public EncString State { get; set; } public EncString PostalCode { get; set; } public EncString Country { get; set; } public EncString Company { get; set; } public EncString Email { get; set; } public EncString Phone { get; set; } public EncString SSN { get; set; } public EncString Username { get; set; } public EncString PassportNumber { get; set; } public EncString LicenseNumber { get; set; } public Task DecryptAsync(string orgId) { return DecryptObjAsync(new IdentityView(this), this, _map, orgId); } public IdentityData ToIdentityData() { var i = new IdentityData(); BuildDataModel(this, i, _map); return i; } } }