Я реструктурирую учебный проект, чтобы преобразовать его в n-ярус и ОО, и я столкнулся с проблемой. У меня есть 7 продуктов, каждый с несколькими полями, и в представлении может быть 0-7 продуктов (без избыточных экземпляров). Я храню все данные полей для всех продуктов с соответствующим идентификатором отправки в списке, который является вложенным объектом внутри объекта отправки. Все это говорит о том, как мне вытащить определенные поля из этого списка и загрузить с них метки на моей странице?
Пример: отправка с идентификатором 109 имеет Product EPL, а одно поле, Coverage, имеет значение 800. Я хочу, чтобы метка LblEplCov содержала это значение. Код ниже.
слой данных для продуктов
SqlCommand FidCmd = new SqlCommand(FiduciaryQuery, conn);
SqlDataReader FidRead = new SqlDataReader();
FidRead = FidCmd.ExecuteReader();
Fiduciary TempFid = new Fiduciary();
TempFid.Entity1 = FidRead.GetString(0);
TempFid.PrimEx1 = FidRead.GetInt32(1);
TempFid.Limit1 = FidRead.GetInt32(2);
TempFid.SIR1 = FidRead.GetInt32(3);
TempFid.Att1 = FidRead.GetInt32(4);
TempFid.Premium1 = FidRead.GetInt32(5);
TempFid.Sublim1 = FidRead.GetInt32(6);
TempProdList.Add(TempFid);
SqlCommand CrimeCmd = new SqlCommand(CrimeQuery, conn);
SqlDataReader dr = null;
List<Product> lstProduct = new List<Product>();
dr = CrimeCmd.ExecuteReader();
CrimeFidelity TempCrime = new CrimeFidelity();
TempCrime.Entity1 = dr.GetString(0);
TempCrime.Employees1 = dr.GetInt32(1);
TempCrime.PrimEx1 = dr.GetInt32(2);
TempCrime.LimA1 = dr.GetInt32(3);
TempCrime.DedA1 = dr.GetInt32(4);
TempCrime.PremA1 = dr.GetInt32(5);
TempCrime.LimB1 = dr.GetInt32(6);
TempCrime.DedB1 = dr.GetInt32(7);
TempCrime.PremB1 = dr.GetInt32(8);
TempProdList.Add(TempCrime);
return TempProdList;
Бизнес-уровень
public static class ProductService
{
public static List<Product> getProductById(string x)
{
return ProductDatabaseLayer.GetProductsById(x);
}
}
уровень представления
Submission sub = SubmissionService.getSubmissionByID(x);
Customer cust = CustomerService.getCustomerById(sub.CustomerId1.ToString());
Broker bro = BrokerService.getBrokerById(sub.BrokerId1.ToString());
sub.Products1 = ProductService.getProductById(sub.SubmissionId1.ToString());
// Примечание: я полагаю, я бы использовал блок if! Null, чтобы определить, присоединен ли продукт к представлению, но если есть лучший способ, не стесняйтесь упоминать его.