diff --git a/ProPublicaCongressAPI.Contracts/SpecificBillAction.cs b/ProPublicaCongressAPI.Contracts/SpecificBillAction.cs index 2e232e6..2ee16c7 100644 --- a/ProPublicaCongressAPI.Contracts/SpecificBillAction.cs +++ b/ProPublicaCongressAPI.Contracts/SpecificBillAction.cs @@ -7,5 +7,11 @@ public class SpecificBillAction public DateTime DateTimeOccurred { get; set; } public string Description { get; set; } + + public int Id { get; set; } + + public Chamber Chamber { get; set; } + + public string ActionType { get; set; } } } \ No newline at end of file diff --git a/ProPublicaCongressAPI/AutoMapperConfiguration.cs b/ProPublicaCongressAPI/AutoMapperConfiguration.cs index dfbb6af..219952a 100644 --- a/ProPublicaCongressAPI/AutoMapperConfiguration.cs +++ b/ProPublicaCongressAPI/AutoMapperConfiguration.cs @@ -107,9 +107,13 @@ public static void Initialize() { return CreateDateTimeFromDateAndTime(source.DateVoted, source.TimeVoted); })); + x.CreateMap() .ForMember(dest => dest.DateTimeOccurred, - opts => opts.ResolveUsing(s => s.DateTimeOccurred)); + opts => opts.ResolveUsing(s => s.DateTimeOccurred)) + .ForMember(dest => dest.Chamber, + opts => opts.ResolveUsing(s => s.Chamber)); + x.CreateMap() .ForMember(dest => dest.DateIntroduced, opts => opts.ResolveUsing(s => s.DateIntroduced)) diff --git a/ProPublicaCongressAPI/InternalModels/SpecificBillAction.cs b/ProPublicaCongressAPI/InternalModels/SpecificBillAction.cs index 5511b1e..19d1b84 100644 --- a/ProPublicaCongressAPI/InternalModels/SpecificBillAction.cs +++ b/ProPublicaCongressAPI/InternalModels/SpecificBillAction.cs @@ -9,5 +9,14 @@ internal class SpecificBillAction [JsonProperty("description")] public string Description { get; set; } + + [JsonProperty("id")] + public int Id { get; set; } + + [JsonProperty("chamber")] + public string Chamber { get; set; } + + [JsonProperty("action_type")] + public string ActionType { get; set; } } } \ No newline at end of file diff --git a/ProPublicaCongressAPI/Resolvers/ChamberResolver.cs b/ProPublicaCongressAPI/Resolvers/ChamberResolver.cs new file mode 100644 index 0000000..01d5a0f --- /dev/null +++ b/ProPublicaCongressAPI/Resolvers/ChamberResolver.cs @@ -0,0 +1,20 @@ +using AutoMapper; +using ProPublicaCongressAPI.Contracts; +using System; + +namespace ProPublicaCongressAPI.Resolvers +{ + internal class ChamberResolver : IMemberValueResolver + { + public Chamber Resolve(object source, object destination, string sourceMember, Chamber destinationMember, ResolutionContext context) + { + Chamber chamber; + if (!Enum.TryParse(sourceMember, out chamber)) + { + chamber = Chamber.Unknown; + } + + return chamber; + } + } +} \ No newline at end of file