Характеристика предприятия 1 правила техники безопасности


ПРИЛОЖЕНИЯ Приложение А. Диаграмма классов


Download 1.81 Mb.
bet11/14
Sana08.03.2023
Hajmi1.81 Mb.
#1250233
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
1663227409051 Отчет

ПРИЛОЖЕНИЯ

Приложение А. Диаграмма классов




Приложение Б. Код класса ProductProcessDb





Листинг класса ProductProcessDb

using System.Collections.Generic;


using Autoshop.BL.Interfaces;

namespace Autoshop.BL.Models


{
public class ProductProcessDb : IProductProcess
{
private readonly IProductDao _productDao;
public ProductProcessDb()
{
// Получаем объект для работы с товарами в базе
_productDao = DaoFactory.GetProductDao();
}

public IList


GetList()
{
return DtoConverter.Convert(_productDao.GetAll());
}

public ProductDto Get(int id)


{
return DtoConverter.Convert(_productDao.Get(id));
}

public void Add(ProductDto product)


{
_productDao.Add(DtoConverter.Convert(product));
}

public void Update(ProductDto product)


{
_productDao.Update(DtoConverter.Convert(product));
}

public void Delete(int id)


{
_productDao.Delete(id);
}
}
}



Приложение В. Код класса ProductDao ProductDao

Листинг класса ProductDao
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using Autoshop.BL.Entity;
using Autoshop.BL.Interfaces;

namespace Autoshop.BL.Models


{
public class ProductDao : IProductDao
{
public Product Get(int id)
{
// Получаем объект подключения к базе
using (var conn = GetConnection())
{
// Открываем соединение
conn.Open();
// Создаем sql команду
using(var cmd = conn.CreateCommand())
{
// Задаем текст команды
cmd.CommandText = "SELECT ProductId, Name, Customer, OrderDate, SaleDate, Category FROM Products WHERE ProductId = @id";
// Добавляем значение параметра
cmd.Parameters.AddWithValue("@id", id);
// Открываем SqlDataReader для чтения полученных в результате
// выполнения запроса данных
using (var dataReader = cmd.ExecuteReader())
{
return !dataReader.Read() ? null : LoadProduct(dataReader);
}
}
}
}
public IList
GetAll()
{
IList
products = new List
();
using(var conn = GetConnection())
{
conn.Open();
using(var cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT ProductId, Name, Customer, OrderDate, SaleDate, Category FROM Products";
using(var dataReader = cmd.ExecuteReader())
{
while (dataReader.Read())
{
products.Add(LoadProduct(dataReader));
}
}
}
}
return products;
}
public void Add(Product product)
{
using (var conn = GetConnection())
{
conn.Open();
using(var cmd = conn.CreateCommand())
{
cmd.CommandText = "INSERT INTO Products (Name, Customer, OrderDate, SaleDate, Category) " +
"VALUES (@Name, @Customer, @OrderDate, @SaleDate, @Category)";
cmd.Parameters.AddWithValue("@Name", product.Name);
cmd.Parameters.AddWithValue("@Customer", product.Customer);
cmd.Parameters.AddWithValue("@OrderDate", product.OrderDate);
cmd.Parameters.AddWithValue("@Category", product.Category);
object sale = product.SaleDate.HasValue ? (object)product.SaleDate.Value : DBNull.Value;
cmd.Parameters.AddWithValue("@SaleDate", sale);
cmd.ExecuteNonQuery();
}
}
}
public void Update(Product product)
{
using(var conn = GetConnection())
{
conn.Open();
using(var cmd = conn.CreateCommand())
{
cmd.CommandText = "UPDATE Products SET Name = @Name, Customer = @Customer, " +
"OrderDate = @OrderDate, SaleDate = @SaleDate, Category = @Category WHERE ProductId = @id";
cmd.Parameters.AddWithValue("@Name", product.Name);
cmd.Parameters.AddWithValue("@Customer", product.Customer);
cmd.Parameters.AddWithValue("@OrderDate", product.OrderDate);
cmd.Parameters.AddWithValue("@id", product.ProductId);
cmd.Parameters.AddWithValue("@Category", product.Category);
object sale = product.SaleDate.HasValue ? (object)product.SaleDate.Value : DBNull.Value;
cmd.Parameters.AddWithValue("@SaleDate", sale);
cmd.ExecuteNonQuery();
}
}
}
public void Delete(int id)
{
using (var conn = GetConnection())
{
conn.Open();
using(var cmd = conn.CreateCommand())
{
cmd.CommandText = "DELETE FROM Products WHERE ProductId = @id";
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
}
}
}

private static Product LoadProduct(SqlDataReader reader)


{
// Создаем пустой объект
Product product = new Product();
// Заполняем поля объекта в соответствии с названиями полей
// результирующего набора данных
product.ProductId = reader.GetInt32(reader.GetOrdinal("ProductId"));
product.OrderDate = Convert.ToInt32(reader["OrderDate"]);
// Помните, чтоу вас поле SaleDate может иметь значение NULL
// Следующие 3 строки корректно обрабатывают этот случай
object sale = reader["SaleDate"];
if (sale != DBNull.Value)
product.SaleDate = Convert.ToInt32(sale);
product.Name = reader.GetString(reader.GetOrdinal("Name"));
product.Customer = reader.GetString(reader.GetOrdinal("Customer"));
product.Category = reader.GetString(reader.GetOrdinal("Category"));
return product;
}
///
/// Возвращает строку подключения к базе
///

///
private static string GetConnectionString()
{
return ConfigurationManager.ConnectionStrings["Product"].ConnectionString;
}
///
/// Возвращает объект подключения к базе
///

///
private static SqlConnection GetConnection()
{
return new SqlConnection(GetConnectionString());
}
}
}






Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling