using System; using System.Collections.Generic; using Tanshu.Accounts.Contracts; namespace Tanshu.Accounts.BI { public class ProductBI { 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 List GetProducts() { using (var connection = new SqlDAO.SqlConnectionDAO()) { using (var dao = new SqlDAO.ProductDAO(connection)) { return dao.GetProducts(); } } } public List GetFilteredProducts(Dictionary 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 GetUnFilteredProducts() { Dictionary filter = new Dictionary(); filter.Add("Name", ""); filter.Add("Type", ""); return GetFilteredProducts(filter); } public List GetProductGroups() { using (var connection = new SqlDAO.SqlConnectionDAO()) { using (var dao = new SqlDAO.ProductDAO(connection)) { return dao.GetProductGroups(); } } } public List GetTaxes() { using (var connection = new SqlDAO.SqlConnectionDAO()) { using (var dao = new SqlDAO.ProductDAO(connection)) { return dao.GetTaxes(); } } } } }