私のWebアプリケーションにアクセスできる会社はいくつかあります。
さまざまな種類の会社:
クライアントサプライヤーエージェント
それぞれがデータベースに独自のテーブルを持ち、メインテーブルCompanyにリンクされています。メインテーブルCompanyは、アドレス、電話、電子メール、TypeOfCompanyなどのすべての一般的なデータを関連するテーブル(クライアントなど)にFKで格納します。
アプリ全体でこのOOを処理するための最良の方法は何ですか?
私は現在次のようなことをしています:
public class CompanyDTO
{
public int Id {get;set;}
public string Name {get;set;}
public Address Address {get;set;}
public string Type {get;set;} //type of company
//etc...
}
次に、そのクラスから継承し、追加のプロパティを追加します。
public class ClientDTO : CompanyDTO
{
public string Key {get;set;}
public Address Billing {get;set;}
}
しかし、私はそれが時々問題になると感じています
- サプライヤーユーザーがアクセスしたい:AllCompanies、-すべての会社のリストを表示
- 次に、Supplier Companyのユーザーが特定の会社の詳細を表示したいのですが、それがクライアントの場合、ClientDTOまたはSupplierDTOを表示する必要がありますか?この例では、特定の企業に詳細を示したいと思います
これを処理するための最良の方法は何でしょうか?
たとえばGetCompanyByID(int companyid);
、GetClientByID(int clientid);
両方のインスタンスでクライアントの詳細が必要だと仮定して、両方のインスタンスでどのタイプのオブジェクトを返す必要がありますか。