using System.Text.Json.Serialization;
using System.Collections.Generic;
public static void Main()
Console.WriteLine(GetJsonPropertyNameAttribute<Deal>(nameof(deal.DatePassageProovstation)));
Dictionary<string, string> test = new() { { string.IsNullOrEmpty("") ? null : "coucou", "hehe" } };
Console.WriteLine(test.Remove("coucou"));
static string GetJsonPropertyNameAttribute<T>(string propertyName)
.GetProperty(propertyName)
.GetCustomAttribute<JsonPropertyNameAttribute>().Name;
public string Amount { get; init; }
public DateTime CloseDate { get; init; }
public DateTime CreateDate { get; init; }
public string DealName { get; init; }
public string DealStage { get; init; }
public string HubspotOwnerId { get; init; }
public string Pipeline { get; init; }
[JsonPropertyName("kilometrage")]
public string Kilometrage { get; init; }
[JsonPropertyName("finitions")]
public string Finitions { get; init; }
[JsonPropertyName("marque")]
public string Marque { get; init; }
[JsonPropertyName("modele")]
public string Modele { get; init; }
[JsonPropertyName("vin")]
public string Vin { get; init; }
[JsonPropertyName("date_de_mis_en_circulation")]
public DateTime? DateMiseEnCirculation { get; init; }
[JsonPropertyName("amount_in_home_currency")]
public string AmountInHomeCurrency { get; init; }
[JsonPropertyName("days_to_close")]
public string DaysToClose { get; init; }
[JsonPropertyName("hs_closed_amount")]
public string HsClosedAmount { get; init; }
[JsonPropertyName("hs_closed_amount_in_home_currency")]
public string HsClosedAmountInHomeCurrency { get; init; }
[JsonPropertyName("hs_deal_stage_probability")]
public string HsDealStageProbability { get; init; }
[JsonPropertyName("hs_deal_stage_probability_shadow")]
public string HsDealStageProbabilityShadow { get; init; }
[JsonPropertyName("hs_forecast_amount")]
public string HsForecastAmount { get; init; }
[JsonPropertyName("hs_is_closed")]
public string HsIsClosed { get; init; }
[JsonPropertyName("hs_is_closed_won")]
public string HsIsClosedWon { get; init; }
[JsonPropertyName("hs_lastmodifieddate")]
public DateTimeOffset HsLastModifiedDate { get; init; }
[JsonPropertyName("hs_object_id")]
public string HsObjectId { get; init; }
[JsonPropertyName("hs_projected_amount_in_home_currency")]
public string HsProjectedAmountInHomeCurrency { get; init; }
[JsonPropertyName("hs_updated_by_user_id")]
public string HsUpdatedByUserId { get; init; }
[JsonPropertyName("proovstation_station_id")]
public string ProovstationStationId { get; init; }
[JsonPropertyName("date_passage_proovstation")]
public DateTimeOffset DatePassageProovstation { get; init; }
public record ResultObject<T> : BaseObject
[JsonPropertyName("properties")]
public T Properties { get; init; }
public string Id { get; init; }
public DateTime CreatedAt { get; init; }
public DateTime UpdatedAt { get; init; }
public bool Archived { get; init; }
public record ListResults<T>
[JsonPropertyName("results")]
public List<T> Results { get; init; }