Код класса TestSection, который наследуем от класса ConfigurationSection и используем для упаковки и хранения настроек web.config. В основном, кажется, тут все понятно.
using System.Configuration;
using System.Web.Configuration;
namespace Paging
{
/// <summary>
/// Считывание настроек Web.config
/// </summary>
public class TestSection:ConfigurationSection
{
public readonly static TestSection Section =
(TestSection)WebConfigurationManager.GetSection("TestSection");
[ConfigurationProperty("jobs")]
public JobsElement Jobs
{
get { return (JobsElement)base["jobs"]; }
}
[ConfigurationProperty("Employees")]
public EmployeesElement Employees
{
get { return (EmployeesElement)base["Employees"]; }
}
}
public class JobsElement : ConfigurationElement
{
[ConfigurationProperty("providerType", DefaultValue = "OracleJobProvider")]
public string ProviderType
{
get { return (string)base["providerType"]; }
set { base["providerType"] = value; }
}
}
public class EmployeesElement : ConfigurationElement
{
[ConfigurationProperty("providerType", DefaultValue = "OracleEmployeeProvider")]
public string ProviderType
{
get { return (string)base["providerType"]; }
set { base["providerType"] = value; }
}
}
}
В этом классе мы прописываем два провайдера данных OracleJobProvider и OracleEmployeeProvider. При создании instance в классах JobsProvider и EmployeesProvider необходимый провайдер данных будет извлекаться из TestSection. Таким образом BLL слой нашего приложения передает вызовы DAL слою.
Классы - обертки для таблиц БД:
Класс - обертка для таблицы jobs:
using System;
namespace Paging
{
/// <summary>
/// Класс контейнер служит для упаковки полученных значений
/// </summary>
public class JobDetails
{
public JobDetails()
{
JobNm = String.Empty;
}
public JobDetails(String jobNm)
{
JobNm = jobNm;
}
public JobDetails(Int32 jobId, String jobNm)
{
JobId = jobId;
JobNm = jobNm;
}
public int JobId { get; set; }
public string JobNm { get; set; }
}
}
Класс - обертка для таблицы Employees:
using System;
namespace Paging
{
/// <summary>
/// Класс контейнер служит для упаковки полученных значений
/// </summary>
public class EmployeeDetails
{
public EmployeeDetails()
{
}
public EmployeeDetails(Int32 empId,Int32 jobId, String firstName, String lastName,Double salary)
{
EmpId = empId;
JobId = jobId;
FirstName = firstName;
LastName = lastName;
Salary = salary;
}
public int EmpId { get; set; }
public int JobId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public double Salary { get; set; }
}
}
Свойства, созданные в классах, полностью соответствуют таблицам которые мы создавали в БД в первой части. В следующей части рассмотрим сами классы - провайдеры. Именно в них реализован механизм подключения к БД и извлечения данных.
Комментариев нет:
Отправить комментарий