




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 Aragorns File宠物商店系统的设计与实现 作者详情一览表 外文名中文名代号Aragorn阿拉贡114第 1 页 共 74 页74Aragorns File目 录1 绪论11.1项目开发的背景11.2 项目开发的意义12 系统分析与设计22.1项目主要功能描述22.2数据库设计23 系统实现53.1 系统首页53.2 增加宠物种类的功能实现63.3 查看购物车功能的实现143.4 注册功能实现423.5 登录功能实现443.6查看宠物类别详情功能实现473.7删除宠物种类功能实现513.8添加宠物功能实现533.9删除订单功能实现563.10发送订单功能实现583.11修改密码功能实现593.12重新登录功能实现603.13在购物车中添加宠物功能实现613.14删除购物车中宠物功能实现68结论72第 74 页 共 74 页1 绪论1.1项目开发的背景 网上购物,这个逐渐流行于21世纪的购物方式已经为越来越多的人所接受。不论是腰缠万贯的大富翁、时尚的白领丽人还是普通的工薪阶层,其中大部分人可能都有过上网购物的经历。这其中有的也许仅仅想拥有这种体检的感觉,有的可能将此作为一种“知识人士”的标志,有的则可能已经将网上购物作为自己日常生活的重要组成部分而取代了传统上街购物的方式。所以此时各种网购软件也就应运而生了。随着社会的发展,人们的生活也越来越好,更多的人愿意养一个宠物来陶冶一下情操了。而正在此时,我们做软件的程序员应该发现时代的气息、把我时代的走向,做出一款适合大众网购宠物的软件,所以我的宠物商店横空出世了。1.2 项目开发的意义 首先,对于消费者来说:第一,可以在家“逛商店”,订货不受时间、地点的限制; 第二,获得较大量的商品信息,可以买到当地没有的商品; 第三,网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫; 第四,从订货、买货到货物上门无需亲临现场,既省时又省力;第五,由于网上商品省去租店面、召雇员及储存保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。 其次,对于商家来说,由于网上销售没有库存压力、经营成本低、经营规模不受场地限制等。在将来会有更多的企业选择网上销售,通过互联网对市场信息的及时反馈适时调整经营战略,以此提高企业的经济效益和参与国际竞争的能力。 再次,对于整个市场经济来说,这种新型的购物模式可在更大的范围内、更广的层面上以更高的效率实现资源配置。 综上可以看出,网上购物突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。 2 系统分析与设计2.1项目主要功能描述这是一个网上宠物商店系统,网店里提供了和实体店一样的宠物来供用户观看、购买,具体功能如下: 系统的注册功能:在欢迎页可以实现用户的注册,注册之后可以登录。 登录功能:注册完成后就可以使用刚才注册的账号进行登录,如果是管理员,登录后实现管理员的功能,如果是普通用户,可以购买宠物。 下面来介绍管理员登陆后的功能:宠物类别的添加功能:使用该功能可以添加宠物种类和宠物种类的编号。宠物类别的删除功能:使用该功能可以删除某些宠物种类及其编号。宠物类别的查看功能:使用该功能可以查看所有的宠物种类和他们对应的编号。宠物数量的添加功能:使用该功能可以在一个宠物种类下添加一个具体的宠物,包括此宠物的价格、寿命、重量等等宠物的具体属性。订单发送功能:该功能可以发送顾客已经购买的宠物的订单。订单删除功能:使用该功能可以删除任何顾客的购物车中的订单,不管顾客有没有购买,都可以删除。重新登录功能:使用该功能可以回到登录页面。密码修改功能:该功能可以实现用户密码的修改。现在介绍普通用户的功能:添加宠物的功能:使用该功能可以将任何宠物添加到购物车。删除宠物的功能:该功能可以删除购物车中的宠物。查看购物车功能:该功能可以看见自己目前选定了多少宠物。购买宠物功能:使用该功能可以购买购物车中选定的宠物。修改密码功能:使用该功能可以修改用户的密码。重新登录功能:使用该动能可以回到登录页面。2.2数据库设计 1.绘制E-R图进行概念建模。用户表管理宠物类别宠物订单项表订单表订单项表存储订单表供应商表管理管理员普通用户查看添加2.数据库表设计 2-1用户表(Customer)编号字段名数据类型是否主见字段意义1userIdint是用户的编号2userNamenvarchar(50)否用户名称3userPasswordnvarchar(50)否用户密码 2-2宠物表(Pets)编号字段名数据类型是否主见字段意义1PetsIdnvarchar(50)是宠物的编号2PetsNamenvarchar(50)否宠物名称3Weightnvarchar(50)否宠物重量4PetsLifeint否宠物寿命5PurchasePricesmallmoney否宠物价格6RetailPricesmallmoney否宠物零售价7ActualSalePricesmallmoney否宠物售出的实际价格8PetsGenreIdnvarchar(50)否宠物所属种类的编号 2-3宠物种类表(PetsGenre)编号字段名数据类型是否主见字段意义1PetsGenreIdnvarchar(50)是宠物类别的编号2PetsGenreNamenvarchar(50)否宠物种类名称 2-4订单表(Pets)编号字段名数据类型是否主见字段意义1PurchaseOrderIdint是订单的编号2TotalMoneymoney否订单价格3PurchaseDateDatetime否订单产生日期4Demonvarchar(50)否顾客评价5SupplierIdint否供应商编号6CustomerIdInt否用户编号7PurchaseOrderItemIdint否订单项编号8Markint否用户是否购买的标记 2-5订单项表(PurchaseOrderItem)编号字段名数据类型是否主见字段意义1PurchaseOrderItemIdint是订单项的编号2PetsQuanlityInt否宠物数量3TotalPerchaseItemPricemoney否订单项价格4PetsIdnvarchar(50)否宠物编号5PurchaseOrderIdint否订单编号 2-6供应商表(Supplier)编号字段名数据类型是否主见字段意义1SupplierIdint是供应商的编号2SupplierNamenvarchar(50)否供应商名称3Telephonenvarchar(50)否供应商电话4Addressnvarchar(50)否供应商地址5FaxCodenvarchar(50)否供应商传真6Memonvarchar(50)否供应商备注3 系统实现3.1 系统首页3.1.1 管理员角色首页3.1.2 普通用户角色首页3.2 增加宠物种类的功能实现3.2.1 Model.Models层 public class PetsGenre public string PetsGenreId get; set; public string PetsGenreName get; set; 3.2.2 Model.IRepository层 public interface IPetsGenreRepository void Add(PetsGenre PetsGenre);/add void Save(PetsGenre PetsGenre);/save void Remove(PetsGenre PetsGenre);/delete PetsGenre FindBy(string id);/find according to id List FindAll();/ find all 3.2.3 Repository.Linq层 public class PetsGenreRepository:IPetsGenreRepository PetsShopSolutionDataContext db = new PetsShopSolutionDataContext(); public void Add(PetsGenre PetsGenre) /将一个类中的信息传到那一个类中 R_PetsGenre r_goodGenre = new R_PetsGenre(); r_goodGenre.PetsGenreId = PetsGenre.PetsGenreId; r_goodGenre.PetsGenreName = PetsGenre.PetsGenreName; db.R_PetsGenre.InsertOnSubmit(r_goodGenre); db.SubmitChanges(); public void Save(PetsGenre PetsGenre) var r_petsGenre = db.R_PetsGenre.SingleOrDefault (u = u.PetsGenreId = PetsGenre.PetsGenreId); r_petsGenre.PetsGenreId = PetsGenre.PetsGenreId; r_petsGenre.PetsGenreName = PetsGenre.PetsGenreName; db.SubmitChanges(); public void Remove(PetsGenre PetsGenre) var r_petsGenre = db.R_PetsGenre.SingleOrDefault (u = u.PetsGenreId = PetsGenre.PetsGenreId); db.R_PetsGenre.DeleteOnSubmit(r_petsGenre); db.SubmitChanges(); public PetsGenre FindBy(string id) PetsGenre petsGenre = new PetsGenre(); var r_petsGenre = db.R_PetsGenre.SingleOrDefault (u = u.PetsGenreId = id); if (r_petsGenre != null) petsGenre.PetsGenreId = r_petsGenre.PetsGenreId; petsGenre.PetsGenreName = r_petsGenre.PetsGenreName; return petsGenre; else return null; public List FindAll() List petsGenres = new List(); var r_petsGenres = db.R_PetsGenre.ToList(); foreach (R_PetsGenre r_petsGenre in r_petsGenres) PetsGenre petsGenre = new PetsGenre(); petsGenre.PetsGenreId = r_petsGenre.PetsGenreId; petsGenre.PetsGenreName = r_petsGenre.PetsGenreName; petsGenres.Add(petsGenre); return petsGenres; 3.2.4 Model.Services层 public class PetsGenreService private IPetsGenreRepository _petsGenreRepository; public PetsGenreService(IPetsGenreRepository petsGenreRepository) _petsGenreRepository = petsGenreRepository; public PetsGenre FindBy(string petsGenreId) return _petsGenreRepository.FindBy(petsGenreId); public bool IsExisted(string petsGenreId) var result = FindBy(petsGenreId); if (result != null) return true; else return false; public List FindAll() return _petsGenreRepository.FindAll(); public bool IsExistedName(string petsGenreName) var result = FindAll(). Where(u = u.PetsGenreName = petsGenreName).ToList(); if (result.Count 0) return true; else return false; public int Add(PetsGenre petsGenre) if (IsExisted(petsGenre.PetsGenreId) return 4; else _petsGenreRepository.Add(petsGenre); return 1; public int Save(PetsGenre petsGenre) if (IsExisted(petsGenre.PetsGenreId) _petsGenreRepository.Save(petsGenre); return 2; else return 5; public int Remove(PetsGenre petsGenre) if (IsExisted(petsGenre.PetsGenreId) _petsGenreRepository.Remove(petsGenre); return 3; else return 6; 3.2.5 Service.ServiceFactory层 public static PetsGenreService CreatePetsGenreService() IPetsGenreRepository petsGenreRepoitory = new PetsGenreRepository(); return new PetsGenreService(petsGenreRepoitory); 3.2.6 Infrastructure层 public class StringHelper public static bool StringIsNull(string test) if (test.Trim() = ) return true; else return false; public static bool StringIsNotNull(string test) if (test.Trim() != ) return true; else return false; 3.2.7 WebUI.ASPNET层 public partial class Create : System.Web.UI.Page PetsGenreService petsGenreService = ServiceFactory.CreatePetsGenreService(); protected void Page_Load(object sender, EventArgs e) protected void ClearData() /此函数可清textbox中的数据 txtPetsGenreId.Text = ; txtPetsGenreName.Text = ; protected bool ValidatePage()/此函数可判断textbox中的值是否为空 if (StringHelper.StringIsNull(txtPetsGenreId.Text) Response.Write(alert(请填写宠物类别号!);); return false; if (StringHelper.StringIsNull(txtPetsGenreName.Text) Response.Write(alert(请填写宠物名称!);); return false; return true; protected void Button1_Click(object sender, EventArgs e)/触发button按钮事件 if (ValidatePage() Model.Models.PetsGenre petsGenre = new Model.Models.PetsGenre(); petsGenre.PetsGenreId = txtPetsGenreId.Text; petsGenre.PetsGenreName = txtPetsGenreName.Text; int rel = petsGenreService.Add(petsGenre); Response.Write(alert(宠物类别资料已经创建成功!);); ClearData(); Response.Redirect(Index.aspx); else 3.3 查看购物车功能的实现3.3.1 Model.Models层 public class PurchaseOrderItem public int PurchaseOrderItemId set; get; public int PetsQuanlity set; get; /public decimal PetsPrice set; get; public decimal ?TotalPerchaseItemPrice set; get; public Pets Pets set; get; /public List PetList set; get; public int PurchaseOrderId set; get; public PurchaseOrderItem() Pets = new Model.Models.Pets(); /PetList=new List; /PurchaseOrder = new PurchaseOrder(); public class PurchaseOrder public int PurchaseOrderId set; get; public decimal ?TotalMoney set; get; public DateTime ? PurchaseDate set; get; public string Demo set; get; public int ?Mark set;get; public Supplier Supplier set; get; public Customer Customer set; get; /public List PurchaseOrderItemList set; get; public PurchaseOrderItem PurchaseOrderItem set; get; public PurchaseOrder() Supplier = new Supplier(); Customer=new Customer(); / PurchaseOrderItemList = new List(); PurchaseOrderItem = new PurchaseOrderItem(); public class Pets public string PetsId get; set; public string PetsName get; set; public string Weight get; set; public int ? PetsLife get; set; public PetsGenre PetsGenre get; set; public PetsPrice PetsPrice get; set; public Pets() PetsGenre =new PetsGenre(); PetsPrice =new PetsPrice(); public class Customer public int userId set; get; public string userName set; get; public string userPassword set; get; 3.3.2 Model.IRepository层 public interface IPurchaseOrderRepository void Add(PurchaseOrder purchaseOrder); void Save(PurchaseOrder purchaseOrder); void Remove(PurchaseOrder purchaseOrder); PurchaseOrder FindBy(int id); /PurchaseOrder findby(string str); List FindAll(); public interface IPurchaseOrderItemRepository void Add(PurchaseOrderItem PurchaseOrderItem); void Remove(PurchaseOrderItem PurchaseOrderItem); void Save(PurchaseOrderItem PurchaseOrderItem); PurchaseOrderItem FindBy(int id); List Findall(); public interface IPetsRepository void Add(Pets pets);/add void Save(Pets pets);/save void Remove(Pets pets);/delete Pets FindBy(string id);/find according to id List FindAll();/find all public interface ICustomerRepository void Add(Customer customer); void Remove(Customer customer); void Save(Customer customer); Customer FindBy(string username); List FindAll(); 3.3.3 Repository.Linq层 public class PurchaseOrderRepository:IPurchaseOrderRepository PetsShopSolutionDataContext db = new PetsShopSolutionDataContext(); public void Add(PurchaseOrder purchaseOrder) R_PurchaseOrder r_pets = new R_PurchaseOrder(); r_pets.CustomerId = purchaseOrder.Customer.userId; r_pets.Demo = purchaseOrder.Demo; r_pets.PurchaseDate = purchaseOrder.PurchaseDate; r_pets.PurchaseOrderId = purchaseOrder.PurchaseOrderId; r_pets.PurchaseOrderItemId = purchaseOrder.PurchaseOrderItem.PurchaseOrderItemId; r_pets.SupplierId = purchaseOrder.Supplier.SupplierId; r_pets.TotalMoney = purchaseOrder.TotalMoney; r_pets.Mark = purchaseOrder.Mark; db.R_PurchaseOrder.InsertOnSubmit(r_pets); db.SubmitChanges(); public void Save(PurchaseOrder purchaseOrder) var r_purchaseOrder = db.R_PurchaseOrder.SingleOrDefault (u = u.PurchaseOrderId = purchaseOrder.PurchaseOrderId); r_purchaseOrder.CustomerId = purchaseOrder.Customer.userId; r_purchaseOrder.Demo = purchaseOrder.Demo; r_purchaseOrder.PurchaseDate = purchaseOrder.PurchaseDate; r_purchaseOrder.PurchaseOrderId = purchaseOrder.PurchaseOrderId; r_purchaseOrder.PurchaseOrderItemId= purchaseOrder.PurchaseOrderItem.PurchaseOrderItemId; r_purchaseOrder.SupplierId = purchaseOrder.Supplier.SupplierId; r_purchaseOrder.TotalMoney = purchaseOrder.TotalMoney; r_purchaseOrder.Mark = purchaseOrder.Mark; db.SubmitChanges(); public void Remove(PurchaseOrder purchaseOrder) var r_purchasseOrder = db.R_PurchaseOrder.SingleOrDefault (u = u.PurchaseOrderId= purchaseOrder.PurchaseOrderId); db.R_PurchaseOrder.DeleteOnSubmit(r_purchasseOrder); db.SubmitChanges(); public PurchaseOrder FindBy(int id) PurchaseOrder purchaseOrder = new PurchaseOrder(); var r_purchaseOrder = (from r in db.R_PurchaseOrder /join p in db.R_Supplier on r.SupplierId equals p.SupplierId join q in db.R_Customer on r.CustomerId equals q.userId join s in db.R_PurchaseOrderItem on r.PurchaseOrderItemId equals s.PurchaseOrderItemId join p in db.R_Pets on s.PetsId equals p.PetsId where r.PurchaseOrderId = id select new id = r.PurchaseOrderId, customerid = r.CustomerId, customername=q.use
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字智慧方案流程优化方法课件
- 基于分层教学模式下的高中数学教学设计研究
- 2025年辽宁省盘锦市中考数学二模试卷
- 职业资格-民用核安全设备焊接操作工真题库-1
- 财务管理考试记忆法试题及答案
- 糖尿病考试试题及答案
- 职高机电实操考试试题及答案
- 大学补考测试题及答案
- 文学研究考试试题及答案
- 点菜技巧试题及答案
- 风电场应急预案演练方案
- 《几何画板教程》课件
- 小红书食用农产品承诺书示例
- 流式细胞术-原理、操作及应用
- 中外合作办学可行性方案
- 新会陈皮培训课件
- 普通高等新郎接亲试卷(2022全国卷)
- 机电2023年江苏职教高考文化综合理论试卷
- 工程量增加补充协议(范本)
- 卫生部检验科三甲评审标准
- 校园安全工作考核表
评论
0/150
提交评论