В настоящее время я работаю с Salesforce API, чтобы получить данные из Salesforce и вернуть их sh.
Есть один раздел, в котором мне нужно извлечь данные и десериализовать их, чтобы у меня был доступ к модели.
Это определенное свойство в модели, называемое Subject, не относится к списку типов. потому что их не много, НО есть несколько Субъектов из разных объектов, и это то, что я хочу добавить в выпадающий список.
Как бы я go об этом?
Мой метод GetAllEvents () в моих службах.
public async Task<SFEventModel> GetAllEvents()
{
HttpClient queryClient = new HttpClient();
var tm = await GetToken();
List<SelectListItem> events = new List<SelectListItem>();
string restQuery = tm.ServiceUrl + "/services/data/v25.0/query?q=SELECT+Subject+from+Event";
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, restQuery);
// Adding the token to the header
request.Headers.Add("Authorization", "Bearer " + tm.AccessToken);
// Return JSON to the caller
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//Call Endpoint Async
HttpResponseMessage response = await queryClient.SendAsync(request);
string responseString = await response.Content.ReadAsStringAsync();
var model = JsonConvert.DeserializeObject<SFEventModel>(responseString);
return model;
}
Моя нерешительная попытка поместить эти входящие объекты в список
<div class="text-center">
<div>
@Html.LabelFor(x => Model.Subject)
<div class="col-md-5">
@Html.DropDownListFor(x => Model.Subject, new SelectList(Model.Subject))
</div>
</div>
</div>
Я собираюсь отфильтровать все остальные свойства, поскольку они не имеют контекста к этому вопросу и Есть много свойств. У меня есть данные, извлекаемые правильно из этой модели в моем контроллере для фактического извлечения «PicklistValues», но проблема в том, что он считается типом.
public partial class Field
{
[JsonProperty("picklistValues")
public PicklistValue[] PicklistValues { get; set; }
}
Частичный класс PicklistValue в модели ->
public partial class PicklistValue
{
[JsonProperty("active")]
public bool Active { get; set; }
[JsonProperty("defaultValue")]
public bool DefaultValue { get; set; }
[JsonProperty("label")]
public string Label { get; set; }
[JsonProperty("validFor")]
public object ValidFor { get; set; }
[JsonProperty("value")]
public string Value { get; set; }
}
метод в контроллере для получения этих значений, поступающих из вызова API.
var allEvents = await _api.GetAllEvents();
var subjectList = allEvents.Fields.Where(x => x.Name == "Subject").Select(x => x.PicklistValues).FirstOrDefault();