33 lines
989 B
C#
33 lines
989 B
C#
using LCU.Library.Internal.IncentiveApiModels.Entities;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Linq;
|
|
|
|
namespace LCU.Library.Internal.IncentiveApiModels.Common
|
|
{
|
|
public class RoleConverter : JsonConverter
|
|
{
|
|
public override bool CanWrite => false;
|
|
|
|
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public override bool CanRead => base.CanRead;
|
|
|
|
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
|
{
|
|
var roleName = (string)JObject.Load(reader)["name"];
|
|
var role = Role.GetRolesList().FirstOrDefault(role => role.Name.Equals(roleName));
|
|
return role;
|
|
}
|
|
|
|
public override bool CanConvert(Type objectType)
|
|
{
|
|
return objectType == typeof(Role);
|
|
}
|
|
}
|
|
}
|