/// <summary> /// 更新一条数据 /// </summary> public bool Update(Model.user_addr_book model) { StringBuilder strSql = new StringBuilder(); StringBuilder str1 = new StringBuilder(); //利用反射获得属性的所有公共属性 PropertyInfo[] pros = model.GetType().GetProperties(); List <SqlParameter> paras = new List <SqlParameter>(); strSql.Append("update " + databaseprefix + "user_addr_book set "); foreach (PropertyInfo pi in pros) { //如果不是主键则追加sql字符串 if (!pi.Name.Equals("id")) { //判断属性值是否为空 if (pi.GetValue(model, null) != null && !pi.GetValue(model, null).ToString().Equals("")) { str1.Append(pi.Name + "=@" + pi.Name + ","); //声明参数 paras.Add(new SqlParameter("@" + pi.Name, pi.GetValue(model, null))); //对参数赋值 } } } strSql.Append(str1.ToString().Trim(',')); strSql.Append(" where id=@id "); paras.Add(new SqlParameter("@id", model.id)); return(DbHelperSQL.ExecuteSql(strSql.ToString(), paras.ToArray()) > 0); }
/// <summary> /// 得到一个对象实体 /// </summary> public Model.user_addr_book GetModel(int id) { StringBuilder strSql = new StringBuilder(); StringBuilder str1 = new StringBuilder(); Model.user_addr_book model = new Model.user_addr_book(); //利用反射获得属性的所有公共属性 PropertyInfo[] pros = model.GetType().GetProperties(); foreach (PropertyInfo p in pros) { str1.Append(p.Name + ",");//拼接字段 } strSql.Append("select top 1 " + str1.ToString().Trim(',')); strSql.Append(" from " + databaseprefix + "user_addr_book"); strSql.Append(" where id=@id"); SqlParameter[] parameters = { new SqlParameter("@id", SqlDbType.Int, 4) }; parameters[0].Value = id; DataTable dt = DbHelperSQL.Query(strSql.ToString(), parameters).Tables[0]; if (dt.Rows.Count > 0) { return(DataRowToModel(dt.Rows[0])); } else { return(null); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Model.user_addr_book DataRowToModel(DataRow row) { Model.user_addr_book model = new Model.user_addr_book(); if (row != null) { if (row["id"] != null && row["id"].ToString() != "") { model.id = int.Parse(row["id"].ToString()); } if (row["user_id"] != null && row["user_id"].ToString() != "") { model.user_id = int.Parse(row["user_id"].ToString()); } if (row["user_name"] != null) { model.user_name = row["user_name"].ToString(); } if (row["accept_name"] != null) { model.accept_name = row["accept_name"].ToString(); } if (row["area"] != null) { model.area = row["area"].ToString(); } if (row["address"] != null) { model.address = row["address"].ToString(); } if (row["mobile"] != null) { model.mobile = row["mobile"].ToString(); } if (row["telphone"] != null) { model.telphone = row["telphone"].ToString(); } if (row["email"] != null) { model.email = row["email"].ToString(); } if (row["post_code"] != null) { model.post_code = row["post_code"].ToString(); } if (row["is_default"] != null && row["is_default"].ToString() != "") { model.is_default = int.Parse(row["is_default"].ToString()); } if (row["add_time"] != null && row["add_time"].ToString() != "") { model.add_time = DateTime.Parse(row["add_time"].ToString()); } } return(model); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Model.user_addr_book model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update " + databaseprefix + "user_addr_book set "); strSql.Append("user_id=@user_id,"); strSql.Append("user_name=@user_name,"); strSql.Append("accept_name=@accept_name,"); strSql.Append("area=@area,"); strSql.Append("address=@address,"); strSql.Append("mobile=@mobile,"); strSql.Append("telphone=@telphone,"); strSql.Append("email=@email,"); strSql.Append("post_code=@post_code,"); strSql.Append("is_default=@is_default,"); strSql.Append("add_time=@add_time"); strSql.Append(" where id=@id"); SqlParameter[] parameters = { new SqlParameter("@user_id", SqlDbType.Int, 4), new SqlParameter("@user_name", SqlDbType.NVarChar, 100), new SqlParameter("@accept_name", SqlDbType.NVarChar, 100), new SqlParameter("@area", SqlDbType.NVarChar, 100), new SqlParameter("@address", SqlDbType.NVarChar, 500), new SqlParameter("@mobile", SqlDbType.NVarChar, 20), new SqlParameter("@telphone", SqlDbType.NVarChar, 30), new SqlParameter("@email", SqlDbType.NVarChar, 50), new SqlParameter("@post_code", SqlDbType.NVarChar, 20), new SqlParameter("@is_default", SqlDbType.TinyInt, 1), new SqlParameter("@add_time", SqlDbType.DateTime), new SqlParameter("@id", SqlDbType.Int, 4) }; parameters[0].Value = model.user_id; parameters[1].Value = model.user_name; parameters[2].Value = model.accept_name; parameters[3].Value = model.area; parameters[4].Value = model.address; parameters[5].Value = model.mobile; parameters[6].Value = model.telphone; parameters[7].Value = model.email; parameters[8].Value = model.post_code; parameters[9].Value = model.is_default; parameters[10].Value = model.add_time; parameters[11].Value = model.id; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Model.user_addr_book model) { int newId; using (OleDbConnection conn = new OleDbConnection(DbHelperOleDb.connectionString)) { conn.Open(); using (OleDbTransaction trans = conn.BeginTransaction()) { try { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into " + databaseprefix + "user_addr_book("); strSql.Append("user_id,user_name,accept_name,area,address,mobile,telphone,email,post_code,is_default,add_time)"); strSql.Append(" values ("); strSql.Append("@user_id,@user_name,@accept_name,@area,@address,@mobile,@telphone,@email,@post_code,@is_default,@add_time)"); OleDbParameter[] parameters = { new OleDbParameter("@user_id", OleDbType.Integer, 4), new OleDbParameter("@user_name", OleDbType.VarChar, 100), new OleDbParameter("@accept_name", OleDbType.VarChar, 100), new OleDbParameter("@area", OleDbType.VarChar, 100), new OleDbParameter("@address", OleDbType.VarChar, 500), new OleDbParameter("@mobile", OleDbType.VarChar, 20), new OleDbParameter("@telphone", OleDbType.VarChar, 30), new OleDbParameter("@email", OleDbType.VarChar, 50), new OleDbParameter("@post_code", OleDbType.VarChar, 20), new OleDbParameter("@is_default", OleDbType.Integer, 4), new OleDbParameter("@add_time", OleDbType.Date) }; parameters[0].Value = model.user_id; parameters[1].Value = model.user_name; parameters[2].Value = model.accept_name; parameters[3].Value = model.area; parameters[4].Value = model.address; parameters[5].Value = model.mobile; parameters[6].Value = model.telphone; parameters[7].Value = model.email; parameters[8].Value = model.post_code; parameters[9].Value = model.is_default; parameters[10].Value = model.add_time; DbHelperOleDb.ExecuteSql(conn, trans, strSql.ToString(), parameters); //取得新插入的ID newId = GetMaxId(conn, trans); trans.Commit(); } catch { trans.Rollback(); return(-1); } } } return(newId); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Model.user_addr_book model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into " + databaseprefix + "user_addr_book("); strSql.Append("user_id,user_name,accept_name,area,address,mobile,telphone,email,post_code,is_default,add_time)"); strSql.Append(" values ("); strSql.Append("@user_id,@user_name,@accept_name,@area,@address,@mobile,@telphone,@email,@post_code,@is_default,@add_time)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@user_id", SqlDbType.Int, 4), new SqlParameter("@user_name", SqlDbType.NVarChar, 100), new SqlParameter("@accept_name", SqlDbType.NVarChar, 100), new SqlParameter("@area", SqlDbType.NVarChar, 100), new SqlParameter("@address", SqlDbType.NVarChar, 500), new SqlParameter("@mobile", SqlDbType.NVarChar, 20), new SqlParameter("@telphone", SqlDbType.NVarChar, 30), new SqlParameter("@email", SqlDbType.NVarChar, 50), new SqlParameter("@post_code", SqlDbType.NVarChar, 20), new SqlParameter("@is_default", SqlDbType.TinyInt, 1), new SqlParameter("@add_time", SqlDbType.DateTime) }; parameters[0].Value = model.user_id; parameters[1].Value = model.user_name; parameters[2].Value = model.accept_name; parameters[3].Value = model.area; parameters[4].Value = model.address; parameters[5].Value = model.mobile; parameters[6].Value = model.telphone; parameters[7].Value = model.email; parameters[8].Value = model.post_code; parameters[9].Value = model.is_default; parameters[10].Value = model.add_time; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 将对象转换实体 /// </summary> public Model.user_addr_book DataRowToModel(DataRow row) { Model.user_addr_book model = new Model.user_addr_book(); if (row != null) { //利用反射获得属性的所有公共属性 Type modelType = model.GetType(); for (int i = 0; i < row.Table.Columns.Count; i++) { //查找实体是否存在列表相同的公共属性 PropertyInfo proInfo = modelType.GetProperty(row.Table.Columns[i].ColumnName); if (proInfo != null && row[i] != DBNull.Value) { proInfo.SetValue(model, row[i], null);//用索引值设置属性值 } } } return(model); }
/// <summary> /// 重写虚方法,此方法在Init事件执行 /// </summary> protected override void InitPage() { action = DTRequest.GetQueryString("action"); id = DTRequest.GetQueryInt("id"); if (action.ToLower() == DTEnums.ActionEnum.Edit.ToString().ToLower()) { BLL.user_addr_book bll = new BLL.user_addr_book(); if (!bll.Exists(id)) { HttpContext.Current.Response.Redirect(linkurl("error", "?msg=" + Utils.UrlEncode("出错了,您要浏览的页面不存在或已删除!"))); return; } model = bll.GetModel(id); if (model.user_id != userModel.id) { HttpContext.Current.Response.Redirect(linkurl("error", "error.aspx?msg=" + Utils.UrlEncode("出错了,您所要修改的并非自己的地址!"))); return; } } }
/// <summary> /// 重写虚方法,此方法在Init事件执行 /// </summary> protected override void InitPage() { action = DTRequest.GetQueryString("action"); id = DTRequest.GetQueryInt("id"); if (action.ToLower() == DTEnums.ActionEnum.Edit.ToString().ToLower()) { BLL.user_addr_book bll = new BLL.user_addr_book(); if (!bll.Exists(id)) { HttpContext.Current.Response.Redirect(linkurl("error")); return; } model = bll.GetModel(id); if (model.user_id != userModel.id) { HttpContext.Current.Response.Redirect(linkurl("error")); return; } } }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Model.user_addr_book model) { StringBuilder strSql = new StringBuilder(); StringBuilder str1 = new StringBuilder(); //数据字段 StringBuilder str2 = new StringBuilder(); //数据参数 //利用反射获得属性的所有公共属性 PropertyInfo[] pros = model.GetType().GetProperties(); List <SqlParameter> paras = new List <SqlParameter>(); strSql.Append("insert into " + databaseprefix + "user_addr_book("); foreach (PropertyInfo pi in pros) { //如果不是主键则追加sql字符串 if (!pi.Name.Equals("id")) { //判断属性值是否为空 if (pi.GetValue(model, null) != null && !pi.GetValue(model, null).ToString().Equals("")) { str1.Append(pi.Name + ","); //拼接字段 str2.Append("@" + pi.Name + ","); //声明参数 paras.Add(new SqlParameter("@" + pi.Name, pi.GetValue(model, null))); //对参数赋值 } } } strSql.Append(str1.ToString().Trim(',')); strSql.Append(") values ("); strSql.Append(str2.ToString().Trim(',')); strSql.Append(") "); strSql.Append(";select @@IDENTITY;"); object obj = DbHelperSQL.GetSingle(strSql.ToString(), paras.ToArray()); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Model.user_addr_book model) { return(dal.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Model.user_addr_book model) { return(dal.Add(model)); }
private void order_save(HttpContext context) { //获取传参信息=================================== string hideGoodsJson = Utils.GetCookie(DTKeys.COOKIE_SHOPPING_BUY); //获取商品JSON数据 string sitepath = DTRequest.GetQueryString("site"); //站点目录 int book_id = DTRequest.GetFormInt("book_id", 1); int payment_id = DTRequest.GetFormInt("payment_id"); int express_id = DTRequest.GetFormInt("express_id"); int is_invoice = DTRequest.GetFormInt("is_invoice", 0); string accept_name = Utils.ToHtml(DTRequest.GetFormString("accept_name")); string province = Utils.ToHtml(DTRequest.GetFormString("province")); string city = Utils.ToHtml(DTRequest.GetFormString("city")); string area = Utils.ToHtml(DTRequest.GetFormString("area")); string address = Utils.ToHtml(DTRequest.GetFormString("address")); string telphone = Utils.ToHtml(DTRequest.GetFormString("telphone")); string mobile = Utils.ToHtml(DTRequest.GetFormString("mobile")); string email = Utils.ToHtml(DTRequest.GetFormString("email")); string post_code = Utils.ToHtml(DTRequest.GetFormString("post_code")); string message = Utils.ToHtml(DTRequest.GetFormString("message")); string invoice_title = Utils.ToHtml(DTRequest.GetFormString("invoice_title")); Model.orderconfig orderConfig = new BLL.orderconfig().loadConfig(); //获取订单配置 //检查传参信息=================================== if (string.IsNullOrEmpty(hideGoodsJson)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,无法获取商品信息!\"}"); return; } //检查站点目录 if (string.IsNullOrEmpty(sitepath)) { context.Response.Write("{\"status\": 0, \"msg\": \"错误提示:站点传输参数不正确!\"}"); return; } if (express_id == 0) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请选择配送方式!\"}"); return; } if (payment_id == 0) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请选择支付方式!\"}"); return; } Model.express expModel = new BLL.express().GetModel(express_id); if (expModel == null) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,配送方式不存在或已删除!\"}"); return; } //检查支付方式 Model.payment payModel = new BLL.payment().GetModel(payment_id); if (payModel == null) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,支付方式不存在或已删除!\"}"); return; } //检查收货人 if (string.IsNullOrEmpty(accept_name)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请输入收货人姓名!\"}"); return; } //检查手机和电话 if (string.IsNullOrEmpty(telphone) && string.IsNullOrEmpty(mobile)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请输入收货人联系电话或手机!\"}"); return; } //检查地区 if (string.IsNullOrEmpty(province) && string.IsNullOrEmpty(city)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请选择您所在的省市区!\"}"); return; } //检查地址 if (string.IsNullOrEmpty(address)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请输入详细的收货地址!\"}"); return; } //如果开启匿名购物则不检查会员是否登录 int user_id = 0; int user_group_id = 0; string user_name = string.Empty; //检查用户是否登录 Model.users userModel = new Web.UI.BasePage().GetUserInfo(); if (userModel != null) { user_id = userModel.id; user_group_id = userModel.group_id; user_name = userModel.user_name; //检查是否需要添加会员地址 if (book_id == 0) { Model.user_addr_book addrModel = new Model.user_addr_book(); addrModel.user_id=userModel.id; addrModel.user_name=userModel.user_name; addrModel.accept_name = accept_name; addrModel.area = province + "," + city + "," + area; addrModel.address = address; addrModel.mobile = mobile; addrModel.telphone = telphone; addrModel.email = email; addrModel.post_code = post_code; new BLL.user_addr_book().Add(addrModel); } } if (orderConfig.anonymous == 0 && userModel == null) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,用户尚未登录或已超时!\"}"); return; } //获取商品信息================================== List<Model.cart_keys> iList = (List<Model.cart_keys>)JsonHelper.JSONToObject<List<Model.cart_keys>>(hideGoodsJson); List<Model.cart_items> goodsList = ShopCart.ToList(iList, user_group_id); //商品列表 Model.cart_total goodsTotal = ShopCart.GetTotal(goodsList); //商品统计 if (goodsList == null) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,商品为空,无法结算!\"}"); return; } //保存订单======================================= Model.orders model = new Model.orders(); model.order_no = "B" + Utils.GetOrderNumber(); //订单号B开头为商品订单 model.user_id = user_id; model.user_name = user_name; model.payment_id = payment_id; model.express_id = express_id; model.accept_name = accept_name; model.area = province + "," + city + "," + area; //省市区以逗号相隔 model.address = address; model.telphone = telphone; model.mobile = mobile; model.message = message; model.email = email; model.post_code = post_code; model.is_invoice = is_invoice; model.payable_amount = goodsTotal.payable_amount; model.real_amount = goodsTotal.real_amount; model.express_status = 1; model.express_fee = expModel.express_fee; //物流费用 //是否先款后货 if (payModel.type == 1) { model.payment_status = 1; //标记未付款 if (payModel.poundage_type == 1 && payModel.poundage_amount > 0) //百分比 { model.payment_fee = model.real_amount * payModel.poundage_amount / 100; } else //固定金额 { model.payment_fee = payModel.poundage_amount; } } //是否开具发票 if (model.is_invoice == 1) { model.invoice_title = invoice_title; if (orderConfig.taxtype == 1 && orderConfig.taxamount > 0) //百分比 { model.invoice_taxes = model.real_amount * orderConfig.taxamount / 100; } else //固定金额 { model.invoice_taxes = orderConfig.taxamount; } } //订单总金额=实付商品金额+运费+支付手续费+税金 model.order_amount = model.real_amount + model.express_fee + model.payment_fee + model.invoice_taxes; //购物积分,可为负数 model.point = goodsTotal.total_point; model.add_time = DateTime.Now; //商品详细列表 List<Model.order_goods> gls = new List<Model.order_goods>(); foreach (Model.cart_items item in goodsList) { gls.Add(new Model.order_goods { article_id = item.article_id, goods_id = item.goods_id, goods_no = item.goods_no, goods_title = item.title, img_url = item.img_url, spec_text = item.spec_text, goods_price = item.sell_price, real_price = item.user_price, quantity = item.quantity, point = item.point }); } model.order_goods = gls; int result = new BLL.orders().Add(model); if (result < 1) { context.Response.Write("{\"status\":0, \"msg\":\"订单保存发生错误,请联系管理员!\"}"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "积分换购,订单号:" + model.order_no, false); } //删除购物车对应的商品 Web.UI.ShopCart.Clear(iList); //清空结账清单 Utils.WriteCookie(DTKeys.COOKIE_SHOPPING_BUY, ""); //提交成功,返回URL context.Response.Write("{\"status\":1, \"url\":\"" + new Web.UI.BasePage().getlink(sitepath, new Web.UI.BasePage().linkurl("payment", "?action=confirm&order_no=" + model.order_no)) + "\", \"msg\":\"恭喜您,订单已成功提交!\"}"); return; }
private void user_address_edit(HttpContext context) { //检查用户是否登录 Model.users userModel = new BasePage().GetUserInfo(); Model.user_addr_book model = new Model.user_addr_book(); BLL.user_addr_book bll = new BLL.user_addr_book(); if (userModel == null) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,用户尚未登录或已超时!\"}"); return; } int id = DTRequest.GetQueryInt("id", 0); if (id > 0) { if (!bll.Exists(id, userModel.user_name)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,收货地址不存在或已删除!\"}"); return; } model = bll.GetModel(id); } string code = DTRequest.GetFormString("txtCode"); string accept_name = DTRequest.GetFormString("txtAcceptName"); string province = Utils.ToHtml(DTRequest.GetFormString("txtProvince")); string city = Utils.ToHtml(DTRequest.GetFormString("txtCity")); string area = Utils.ToHtml(DTRequest.GetFormString("txtArea")); string address = Utils.ToHtml(context.Request.Form["txtAddress"]); string mobile = Utils.ToHtml(DTRequest.GetFormString("txtMobile")); string telphone = Utils.ToHtml(DTRequest.GetFormString("txtTelphone")); string email = Utils.ToHtml(DTRequest.GetFormString("txtEmail")); string post_code = Utils.ToHtml(DTRequest.GetFormString("txtPostCode")); //校检验证码 string result = verify_code(context, code); if (result != "success") { context.Response.Write(result); return; } //检查收件人 if (string.IsNullOrEmpty(accept_name)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请输入收件人姓名!\"}"); return; } //检查省市区 if (string.IsNullOrEmpty(province) || string.IsNullOrEmpty(city) || string.IsNullOrEmpty(area)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请选择您所在的省市区!\"}"); return; } //检查手机 if (string.IsNullOrEmpty(mobile)) { context.Response.Write("{\"status\":0, \"msg\":\"对不起,请输入收件人的手机!\"}"); return; } //保存数据 model.user_id = userModel.id; model.user_name = userModel.user_name; model.accept_name = accept_name; model.area = province + "," + city + "," + area; model.address = address; model.mobile = mobile; model.telphone = telphone; model.email = email; model.post_code = post_code; if (id > 0) { new BLL.user_addr_book().Update(model); context.Response.Write("{\"status\":1, \"msg\":\"修改收货地址成功!\"}"); } else { new BLL.user_addr_book().Add(model); context.Response.Write("{\"status\":1, \"msg\":\"新增收货地址成功!\"}"); } return; }