Я работаю над старой CMS (C #, Visual Studio 2005, .NET 2.0), которая разделяет видимость объекта на основе идентификатора пользователя и отношения этого пользователя с идентификатором поставщика. В настоящее время у меня есть условие, которое сработало до сих пор, которое просто делает это:
protected void Page_Load(object sender, EventArgs e)
{
// If the current user is Special Vendor 1, or has a parent Id of Special Vendor 1 then load the "Special Vendor 1" documents
if ((CurrentUser.Vendor.Id == 3) || (CurrentUser.Vendor.ParentVendor.Id == 3) || (CurrentUser.Vendor.ParentVendor.Id == 1) || (CurrentUser.Vendor.Id == 374) || (CurrentUser.Vendor.ParentVendor.Id == 374))
{
hypCatalogAccessLink.NavigateUrl = "documents/SpecialVendor1_Catalog_Access_v3 3_2011_08SV1.pdf";
hypCatalogAccessLink.Text = "Download Special Vendor 1 Catalog Access";
hypCatalogAccessLink.Target = "_blank";
}
// Another Special Vendor (Special Vendor 2)
else if ((CurrentUser.Vendor.Name == "Special Vendor 2") || (CurrentUser.Vendor.ParentVendor.Name == "Special Vendor 2"))
{
hypCatalogAccessLink.NavigateUrl = "documents/SpecialVendor2_Catalog_Access_v3.3_2011_08_SV2.pdf";
hypCatalogAccessLink.Text = "Download Special Vendor 2 Catalog Access";
hypCatalogAccessLink.Target = "_blank";
}
else // Use Generic Vendor Catalog as default
{
hypCatalogAccessLink.NavigateUrl = "documents/Generic_Catalog_Access_v3 3_2011_08.pdf";
hypCatalogAccessLink.Text = "Download Generic Catalog Access";
hypCatalogAccessLink.Target = "_blank";
}
}
Что я хочу сделать, теперь, когда у нас много, много дочерних поставщиков Special Vendor 1, это извлечь всех дочерних поставщиков из хранимой процедуры, которая будет обновлять результаты по мере добавления дочерних поставщиков в режиме реального времени. Однако я не знаю, как интегрировать набор целочисленных результатов в условный оператор. Мой первый инстинкт - использовать foreach в первом условии, но у меня нет опыта в таких вещах. Я могу вызвать мою хранимую процедуру с
EXEC GetAllSV1ChildVendors
Который возвращает список из 24 поставщиков, которых я хочу отфильтровать для доступа к специальным поставщикам 1.
Должен ли я заполнить массив? Существует ли более прямой метод доступа к результатам хранимой процедуры? Любая помощь это здорово. Спасибо!