Трехслойная архитектура в C# .NET - Слой бизнес-логики
ОГЛАВЛЕНИЕ
Страница 5 из 6
Слой бизнес-логики
Слой бизнес-логики (BUS) работает как мост между уровнем представления и DAO. Все значения пользователя, полученные от уровня представления, передаются в BUS. Результаты, полученные от DAO, - это внутрирядные данные в формате таблицы данных, но в BUS они преобразуются в объекты-значения (VO). Слой бизнес-логики (BUS) – это самый важный класс во всей архитектуре, так как он содержит всю бизнес-логику программы. Всякий раз, когда пользователь хочет обновить бизнес-логику программы, ему нужно обновить только этот класс.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace ThreeLayerDemo.Core
{
/// <summary>
/// краткое описание для UserBUS
/// </summary>
public class UserBUS
{
private UserDAO _userDAO;
/// <constructor>
/// конструктор UserBUS
/// </constructor>
public UserBUS()
{
_userDAO = new UserDAO();
}
/// <method>
/// Получение электронного письма пользователя по имени или фамилии и возврат VO
/// </method>
public UserVO getUserEmailByName(string name)
{
UserVO userVO = new UserVO();
DataTable dataTable = new DataTable();
dataTable = _userDAO.searchByName(name);
foreach (DataRow dr in dataTable.Rows)
{
userVO.idUser = Int32.Parse(dr["t01_id"].ToString());
userVO.firstname = dr["t01_firstname"].ToString();
userVO.lastname = dr["t01_lastname"].ToString();
userVO.email = dr["t01_email"].ToString();
}
return userVO;
}
/// <method>
/// Получение электронного письма пользователя по идентификатору и возврат таблицы данных
/// </method>
public UserVO getUserById(string _id)
{
UserVO userVO = new UserVO();
DataTable dataTable = new DataTable();
dataTable = _userDAO.searchById(_id);
foreach (DataRow dr in dataTable.Rows)
{
userVO.idUser = Int32.Parse(dr["t01_id"].ToString());
userVO.firstname = dr["t01_firstname"].ToString();
userVO.lastname = dr["t01_lastname"].ToString();
userVO.email = dr["t01_email"].ToString();
}
return userVO;
}
}
}