读书:《Asp.net2.0电子商务开发实战》(四)
完成业务层代码
在Web.conifg中设置一些值,然后取出来。没有什么好说的。
在CatalogAccess.cs文件中添加
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
再添加GetDepartmentDetails方法
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
我们看,方法的返回值就是上面定义的结构体,OK,创建一个Comm,指定存储过程名称,定义参数,指定参数的各个必要的值,将函数添加。定义一个表,因为执行ExecuterSelectCommand方法返回一个Datatable,定义出结构。
因为这个方法是传递进入一个门类的ID,根据这个ID去查找详细信息,因此这个table中只有一行数据。我们读取时很简单。直接读出来。
if (table.Rows.Count>0)
{
details.Name = table.Rows[0]["Name"].ToString();
details.Description = table.Rows[0]["Description"].ToString();
}
目的达到了,现在我们来猜想下,以后怎么用这个函数,我想肯定是以此结构为数据源来绑定一个控件。待会看看是不是吧!嘿嘿
同理GetCategoryDetails完全相同。
GetProductDetails也是相同的,只是里面读取数据的代码有点不一样。
看看
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
DataRow就是指DataTable中的一行数据。其实原理是一样的,只是换个种表达方式。我是这个觉得的。请高手指点一下。
然后就是GetCategoriesInDepartment方法
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
GetProductsOnCatalogPromotion方法
这个要麻烦一点,因为要实现分页。这里我换个方式,我直接在代码中加注释,可能有很多,大家只要把这个流程走一遍以后看代码就很清晰了。
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
过程应该是清晰了,至于返回什么还可能不是很清楚。等后面用表示层表示出来就豁然开朗了。
GetProductsOnDepartmentPromotion和GetProductsInCategory也是一样的,就不重复了。
好了,我们就把业务层完成了。
觉得这个方法不错,回头把前面的文章也改改,在代码里面加注释,不管多少,直到说清楚为止!