narsil/Tanshu.Accounts.BI/ProductBI.cs

131 lines
3.8 KiB
C#

using System;
using System.Collections.Generic;
using Tanshu.Accounts.Contracts;
namespace Tanshu.Accounts.BI
{
public class ProductBI : IProductBI
{
public bool Insert(ProductBO product)
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.Insert(product);
}
}
}
public bool Update(ProductBO product)
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.Update(product);
}
}
}
public bool Delete(Guid productID)
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.Delete(productID);
}
}
}
public ProductBO GetProductFromName(string nameAndUnits)
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.GetProduct(nameAndUnits);
}
}
}
public ProductBO GetProduct(Guid productID)
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.GetProduct(productID);
}
}
}
public decimal GetProductStock(DateTime date, Guid productID, Guid? voucherID)
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.GetProductStock(date, productID, voucherID);
}
}
}
public List<ProductDisplayBO> GetProducts()
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.GetProducts();
}
}
}
public List<ProductDisplaySmallBO> GetFilteredProducts(Dictionary<string, string> filter)
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.GetFilteredProducts(filter);
}
}
}
public void UpdateShortName()
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
dao.UpdateShortName();
}
}
}
public List<ProductDisplaySmallBO> GetUnFilteredProducts()
{
Dictionary<string, string> filter = new Dictionary<string, string>();
filter.Add("Name", "");
filter.Add("Type", "");
return GetFilteredProducts(filter);
}
public List<ProductTypeBO> GetProductTypes()
{
using (var connection = new SqlDAO.SqlConnectionDAO())
{
using (var dao = new SqlDAO.ProductDAO(connection))
{
return dao.GetProductTypes();
}
}
}
}
}