2017-10-20 9 views
-2

C#のリストに値を代入しようとしています。私はskudidをつかむと、彼らに私は他のプロパティをしたのと同じ方法を割り当てるにはどうすればよいC#のリストに代入する

public async Task<IHttpActionResult> GetCases() 
    { 
     var client = await 
     SalesforceService.GetUserNamePasswordForceClientAsync(); 

     //Select All Cases Where Status = New. 
     var cases = await client.QueryAsync<Case>("SELECT Id, 
     Description FROM Case Where Status='New'"); 
     var sfCases = cases.Records.Select(c => new 
     { 
      c.Description 
     }); 

     List<Request> requestresults = new List<Request>(); 
     foreach (var c in sfCases) 
     { 

      var sfrequest = new Request(); 
      if (c.Description != null) 
      { 
       string[] descriptionline = null; 

       sfrequest.Description = c.Description; 

       descriptionline = Regex.Split(c.Description, "\r\n"); 

       if (descriptionline.Any(x => x.Contains("FirstName"))) 
       { 
        var firstnameindex = Array.FindIndex(descriptionline, row => row.Contains("FirstName")); 
        sfrequest.firstName = descriptionline[firstnameindex].Replace("FirstName - ", ""); 

        var lastnameindex = Array.FindIndex(descriptionline, row => row.Contains("LastName")); 
        sfrequest.lastName = descriptionline[lastnameindex].Replace("LastName - ", ""); 

        var emailindex = Array.FindIndex(descriptionline, row => row.Contains("Email")); 
        sfrequest.email = descriptionline[emailindex].Replace("Email - ", ""); 

        var skuindex = Array.FindIndex(descriptionline, row => row.Contains("sku")); 

public class Request 
{ 
    public string firstName { get; set; } 
    public string lastName { get; set; } 
    public string email { get; set; } 
    public List<Service> services { get; set; } 

} 
public class Service 
{ 
    public string sku { get; set; } 
    public string did { get; set;} 
} 

私は私のコントローラに次のコードを使用しています:私は、以下のクラスを持っています?

+4

問題はどこにありますか?コード内でハイライトしてください。 – Coding

+2

ようこそ!質問をするときは、問題の[最小完全で検証可能な](https://stackoverflow.com/help/mcve)の例を作成してください。今は、おそらく問題とはあまり関係がないコードがたくさんあります。上記の@コーディングのように、今問題が何であるかは不明です。これは簡単ではありませんが、ソフトウェアで作業することの一部です。 –

答えて

-1

あなたの要求クラスがservicesと呼ばれるリストが含まれているとして、あなたは、単にようなサービスの値にアクセスすることができます

ソースコード内

services.sku
services.did

、私はあなたのようにそれを使用すると仮定します。

var skuindex = Array.FindIndex(descriptionline, row => row.Contains("sku")); 
sfrequest.services.sku = descriptionline[skuindex].Replace("Sku - ", ""); 

var didindex = Array.FindIndex(descriptionline, row => row.Contains("did")); 
sfrequest.services.did = descriptionline[didindex].Replace("Did - ", ""); 

はさらに私は2つのことを指摘する必要があります。
を - することを確認してくださいservices -variableは、アクセスしようとしている時点で初期化されます。それ以外の場合は、例外が発生します。
- プロパティ名の最初の文字に大文字を使用することをお勧めします。あなたが使った表記法は、通常、フィールドに使用されます。

関連する問題