internal static IClientSecretIdentity ToDomain(this ClientSecretIdentityModel clientSecretIdentityModel, IConverter securityModelConverter) { NullGuard.NotNull(clientSecretIdentityModel, nameof(clientSecretIdentityModel)) .NotNull(securityModelConverter, nameof(securityModelConverter)); IEnumerable <Claim> claimCollection = securityModelConverter.Convert <IEnumerable <ClientSecretIdentityClaimModel>, IEnumerable <Claim> >(clientSecretIdentityModel.ClientSecretIdentityClaims); ClientSecretIdentityClaimModel latestClientSecretIdentityClaimModel = clientSecretIdentityModel.ClientSecretIdentityClaims.OrderByDescending(model => model.ModifiedUtcDateTime).FirstOrDefault(); IClientSecretIdentity clientSecretIdentity = new ClientSecretIdentityBuilder(clientSecretIdentityModel.FriendlyName) .WithIdentifier(clientSecretIdentityModel.ClientSecretIdentityIdentifier) .WithClientId(clientSecretIdentityModel.ClientId) .WithClientSecret(clientSecretIdentityModel.ClientSecret) .AddClaims(claimCollection) .Build(); if (latestClientSecretIdentityClaimModel == null || latestClientSecretIdentityClaimModel.ModifiedUtcDateTime < clientSecretIdentityModel.ModifiedUtcDateTime) { clientSecretIdentity.AddAuditInformation(clientSecretIdentityModel.CreatedUtcDateTime, clientSecretIdentityModel.CreatedByIdentifier, clientSecretIdentityModel.ModifiedUtcDateTime, clientSecretIdentityModel.ModifiedByIdentifier); } else { clientSecretIdentity.AddAuditInformation(clientSecretIdentityModel.CreatedUtcDateTime, clientSecretIdentityModel.CreatedByIdentifier, latestClientSecretIdentityClaimModel.ModifiedUtcDateTime, latestClientSecretIdentityClaimModel.ModifiedByIdentifier); } return(clientSecretIdentity); }
internal static ClientSecretIdentityClaimModel With(this ClientSecretIdentityClaimModel clientSecretIdentityClaimModel, ClientSecretIdentityModel clientSecretIdentity) { NullGuard.NotNull(clientSecretIdentityClaimModel, nameof(clientSecretIdentityClaimModel)) .NotNull(clientSecretIdentity, nameof(clientSecretIdentity)); clientSecretIdentityClaimModel.ClientSecretIdentityIdentifier = clientSecretIdentity.ClientSecretIdentityIdentifier; clientSecretIdentityClaimModel.ClientSecretIdentity = clientSecretIdentity; return(clientSecretIdentityClaimModel); }
protected override Task <ClientSecretIdentityModel> OnDeleteAsync(ClientSecretIdentityModel clientSecretIdentityModel) { NullGuard.NotNull(clientSecretIdentityModel, nameof(clientSecretIdentityModel)); ClientSecretIdentityClaimModel clientSecretIdentityClaimModel = clientSecretIdentityModel.ClientSecretIdentityClaims.FirstOrDefault(); while (clientSecretIdentityClaimModel != null) { clientSecretIdentityModel.ClientSecretIdentityClaims.Remove(clientSecretIdentityClaimModel); clientSecretIdentityClaimModel = clientSecretIdentityModel.ClientSecretIdentityClaims.FirstOrDefault(); } return(Task.FromResult(clientSecretIdentityModel)); }