【发布时间】:2020-02-12 19:30:23
【问题描述】:
我目前正在使用 Salesforce API 基本上从 Salesforce 中提取数据并将其推回。
在这一节中,我需要提取数据并对其进行反序列化,以便对它进行模型访问。
模型中的这个特定属性,称为主题,不是列表类型,因为它们没有多个,但是有来自不同对象的多个主题进入,这就是我想放在下拉列表中的内容。
我该怎么办?
我的服务中的 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();
【问题讨论】:
-
有哪些科目,从哪里获得?
-
有很多,比如“呼叫”、“电子邮件”、“文本”、等等等等,它们来自 Salesforce 选项列表值,但我想将它们带入我的网站,以便基本上使用他们
-
你能发布你的模型吗?
-
更新的帖子,应该在那里看到。
标签: c# .net api model-view-controller salesforce