Open Source Web Application Framework for ASP.NET Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

77 lines
2.2 KiB

namespace Volo.Abp.OpenIddict.Scopes;
public static class OpenIddictScopeExtensions
{
public static OpenIddictScope ToEntity(this OpenIddictScopeModel model)
{
Check.NotNull(model, nameof(model));
var entity = new OpenIddictScope(model.Id)
{
Description = model.Description,
Descriptions = model.Descriptions,
DisplayName = model.DisplayName,
DisplayNames = model.DisplayNames,
Name = model.Name,
Properties = model.Properties,
Resources = model.Resources
};
foreach (var extraProperty in model.ExtraProperties)
{
entity.ExtraProperties.Add(extraProperty.Key, extraProperty.Value);
}
return entity;
}
public static OpenIddictScope ToEntity(this OpenIddictScopeModel model, OpenIddictScope entity)
{
Check.NotNull(model, nameof(model));
Check.NotNull(entity, nameof(entity));
entity.Description = model.Description;
entity.Descriptions = model.Descriptions;
entity.DisplayName = model.DisplayName;
entity.DisplayNames = model.DisplayNames;
entity.Name = model.Name;
entity.Properties = model.Properties;
entity.Resources = model.Resources;
foreach (var extraProperty in model.ExtraProperties)
{
entity.ExtraProperties.Remove(extraProperty.Key);
entity.ExtraProperties.Add(extraProperty.Key, extraProperty.Value);
}
return entity;
}
public static OpenIddictScopeModel ToModel(this OpenIddictScope entity)
{
if(entity == null)
{
return null;
}
var model = new OpenIddictScopeModel
{
Id = entity.Id,
Description = entity.Description,
Descriptions = entity.Descriptions,
DisplayName = entity.DisplayName,
DisplayNames = entity.DisplayNames,
Name = entity.Name,
Properties = entity.Properties,
Resources = entity.Resources
};
foreach (var extraProperty in entity.ExtraProperties)
{
model.ExtraProperties.Add(extraProperty.Key, extraProperty.Value);
}
return model;
}
}