2011-03-21 15 views
1

私は、テキストファイルから読み込んでテキストファイルに書き込むことができる単純なアプリケーションを作成しようとしています。私は下に示されているメインフォームを持っています、また、私も下に示されている二次フォームを持っています。顧客、口座、取引のゲッターとセッターのクラスもあります。私がしたいのは、保持されているデータに基づいて顧客を検索することですが、主にアカウント番号があります。どのように私はそれがすべての情報を持つ正しい顧客を返すようになるでしょう。これにリンクして、新しいアカウントを挿入するためのポイントとして検索を使用するとよいでしょう。Complex Arraylist&Insertの検索方法

以下は、顧客を借りてファイルから情報を得るためのメインフォームです。クラスのアカウントに追加すると、私は思うのArrayListは、顧客を格納するための基本的なリストを使用して、メインフォーム上のプログラムの残りの部分と間違っているされているアカウントを追加するための上記のコードでは、

//create account if all ok 
    if (allInputOK) 
    { 
     //create Account 
     Account temp = new Account(tempAccSortCode, tempAccNumber, tempAccNickName, tempAccDate, tempAccCurBal, tempAccOverDraft, tempNumTrans); 

     //add to array 
     Form1.accDetails.Add(temp); 

     //finish up 
     MessageBox.Show("Success Account added "); 
     resetForm(); 
    } 
} 

    foreach (Customer c in bankDetails) 
    { 
     lstOutput.Items.Add(" "); 
     lstOutput.Items.Add(c.getCustomerNumber() + " " + c.getCustomerTitle() + " " + c.getFirstName() 
          + " " + c.getInitials() + " " + c.getSurname() + " " + c.getDateOfBirth() 
          + " " + c.getHouseNameNumber() + " " + c.getStreetName() + " " + c.getArea() 
          + " " + c.getCityTown() + " " + c.getCounty() + " " + c.getPostcode() 
          + " " + c.getPassword() + " " + c.getNumberAccounts()); 
     foreach (Account a in c.Accounts) 
     { 
      lstOutput.Items.Add("\t" + a.getAccSort() + " " + a.getAccNumber() + " " + a.getAccNick() + " " + a.getAccDate() 
           + " " + a.getAccCurBal() + " " + a.getAccOverDraft() + " " + a.getAccNumTrans()); 

      foreach (Transaction t in a.Transactions) 
      { 
       lstOutput.Items.Add("\t \t" + t.getDate() + " " + t.getType() + " " + t.getDescription() + " " + t.getAmount() 
            + " " + t.getBalAfter()); 
      } 
     } 
    } 

情報とそこにアカウント/トランザクション。

EDIT:上記のコードスニペットは新しいアカウントの追加を示していますが、顧客の配列を検索して正しい場所に挿入することで正しい顧客を見つける必要があるため動作していないようです。コードの2番目のスニペットは、各顧客に接続されている根本的なリストを持つarraylistを示しています。

+0

実際にはあまりにも多くのコードを投稿している可能性があります。どのラインが最も心配ですか?別のコードブロックに投稿できますか? – Stuart

+0

これまでに何を試しましたか? StackOverflowに投稿すると、他人にコードを書くように求めるのではなく、自分で問題を解決しようとすると、あなたの質問は一般的に良く受けられます。 –

答えて

0

ここから始めます。

一般に、オブジェクトを照会するために、Linq to Objectsを使用することができます。

また、私は物事を追跡するためにテキストファイルを使用することをお勧めします。彼らは最初は大丈夫ですが、素早く扱いにくく、遅くなります。さらに、保存する前にアプリがクラッシュした場合はどうなりますか? SQLiteのような "軽いデータベース"を見てください(そうです、それはLです)。