/// <summary> /// 得到一个对象实体 /// </summary> public VipSoft.Model.OrderDetail DataRowToModel(DataRow row) { VipSoft.Model.OrderDetail model = new VipSoft.Model.OrderDetail(); if (row != null) { if (row["ID"] != null && row["ID"].ToString() != "") { model.ID = int.Parse(row["ID"].ToString()); } if (row["OrderCode"] != null) { model.OrderCode = row["OrderCode"].ToString(); } if (row["GoodsID"] != null && row["GoodsID"].ToString() != "") { model.GoodsID = int.Parse(row["GoodsID"].ToString()); } if (row["GoodsCode"] != null) { model.GoodsCode = row["GoodsCode"].ToString(); } if (row["GoodsName"] != null) { model.GoodsName = row["GoodsName"].ToString(); } if (row["Price"] != null && row["Price"].ToString() != "") { model.Price = decimal.Parse(row["Price"].ToString()); } if (row["DiscountPrice"] != null && row["DiscountPrice"].ToString() != "") { model.DiscountPrice = decimal.Parse(row["DiscountPrice"].ToString()); } if (row["Number"] != null && row["Number"].ToString() != "") { model.Number = int.Parse(row["Number"].ToString()); } if (row["Percent"] != null && row["Percent"].ToString() != "") { model.Percent = decimal.Parse(row["Percent"].ToString()); } if (row["IsService"] != null && row["IsService"].ToString() != "") { if ((row["IsService"].ToString() == "1") || (row["IsService"].ToString().ToLower() == "true")) { model.IsService = true; } else { model.IsService = false; } } } return(model); }
/// <summary> /// 得到一个对象实体 /// </summary> public VipSoft.Model.OrderDetail DataRowToModel(DataRow row) { VipSoft.Model.OrderDetail model=new VipSoft.Model.OrderDetail(); if (row != null) { if(row["ID"]!=null && row["ID"].ToString()!="") { model.ID=int.Parse(row["ID"].ToString()); } if(row["OrderCode"]!=null) { model.OrderCode=row["OrderCode"].ToString(); } if(row["GoodsID"]!=null && row["GoodsID"].ToString()!="") { model.GoodsID=int.Parse(row["GoodsID"].ToString()); } if(row["GoodsCode"]!=null) { model.GoodsCode=row["GoodsCode"].ToString(); } if(row["GoodsName"]!=null) { model.GoodsName=row["GoodsName"].ToString(); } if(row["Price"]!=null && row["Price"].ToString()!="") { model.Price=decimal.Parse(row["Price"].ToString()); } if(row["DiscountPrice"]!=null && row["DiscountPrice"].ToString()!="") { model.DiscountPrice=decimal.Parse(row["DiscountPrice"].ToString()); } if(row["Number"]!=null && row["Number"].ToString()!="") { model.Number=int.Parse(row["Number"].ToString()); } if(row["Percent"]!=null && row["Percent"].ToString()!="") { model.Percent=decimal.Parse(row["Percent"].ToString()); } if(row["IsService"]!=null && row["IsService"].ToString()!="") { if((row["IsService"].ToString()=="1")||(row["IsService"].ToString().ToLower()=="true")) { model.IsService=true; } else { model.IsService=false; } } } return model; }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(VipSoft.Model.OrderDetail model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update OrderDetail set "); strSql.Append("OrderCode=@OrderCode,"); strSql.Append("GoodsID=@GoodsID,"); strSql.Append("GoodsCode=@GoodsCode,"); strSql.Append("GoodsName=@GoodsName,"); strSql.Append("Price=@Price,"); strSql.Append("DiscountPrice=@DiscountPrice,"); strSql.Append("Number=@Number,"); strSql.Append("Percent=@Percent,"); strSql.Append("IsService=@IsService"); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@OrderCode", SqlDbType.VarChar, 50), new SqlParameter("@GoodsID", SqlDbType.Int, 4), new SqlParameter("@GoodsCode", SqlDbType.VarChar, 50), new SqlParameter("@GoodsName", SqlDbType.VarChar, 50), new SqlParameter("@Price", SqlDbType.Money, 8), new SqlParameter("@DiscountPrice", SqlDbType.Money, 8), new SqlParameter("@Number", SqlDbType.Int, 4), new SqlParameter("@Percent", SqlDbType.Float, 8), new SqlParameter("@IsService", SqlDbType.Bit, 1), new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = model.OrderCode; parameters[1].Value = model.GoodsID; parameters[2].Value = model.GoodsCode; parameters[3].Value = model.GoodsName; parameters[4].Value = model.Price; parameters[5].Value = model.DiscountPrice; parameters[6].Value = model.Number; parameters[7].Value = model.Percent; parameters[8].Value = model.IsService; parameters[9].Value = model.ID; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 增加一条数据 /// </summary> public int Add(VipSoft.Model.OrderDetail model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into OrderDetail("); strSql.Append("OrderCode,GoodsID,GoodsCode,GoodsName,Price,DiscountPrice,Number,Percent,IsService)"); strSql.Append(" values ("); strSql.Append("@OrderCode,@GoodsID,@GoodsCode,@GoodsName,@Price,@DiscountPrice,@Number,@Percent,@IsService)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@OrderCode", SqlDbType.VarChar, 50), new SqlParameter("@GoodsID", SqlDbType.Int, 4), new SqlParameter("@GoodsCode", SqlDbType.VarChar, 50), new SqlParameter("@GoodsName", SqlDbType.VarChar, 50), new SqlParameter("@Price", SqlDbType.Money, 8), new SqlParameter("@DiscountPrice", SqlDbType.Money, 8), new SqlParameter("@Number", SqlDbType.Int, 4), new SqlParameter("@Percent", SqlDbType.Float, 8), new SqlParameter("@IsService", SqlDbType.Bit, 1) }; parameters[0].Value = model.OrderCode; parameters[1].Value = model.GoodsID; parameters[2].Value = model.GoodsCode; parameters[3].Value = model.GoodsName; parameters[4].Value = model.Price; parameters[5].Value = model.DiscountPrice; parameters[6].Value = model.Number; parameters[7].Value = model.Percent; parameters[8].Value = model.IsService; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 得到一个对象实体 /// </summary> public VipSoft.Model.OrderDetail GetModel(int ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 ID,OrderCode,GoodsID,GoodsCode,GoodsName,Price,DiscountPrice,Number,Percent,IsService from OrderDetail "); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = ID; VipSoft.Model.OrderDetail model = new VipSoft.Model.OrderDetail(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 得到一个对象实体 /// </summary> public VipSoft.Model.OrderDetail GetModel(int ID) { StringBuilder strSql=new StringBuilder(); strSql.Append("select top 1 ID,OrderCode,GoodsID,GoodsCode,GoodsName,Price,DiscountPrice,Number,Percent,IsService from OrderDetail "); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int,4) }; parameters[0].Value = ID; VipSoft.Model.OrderDetail model=new VipSoft.Model.OrderDetail(); DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters); if(ds.Tables[0].Rows.Count>0) { return DataRowToModel(ds.Tables[0].Rows[0]); } else { return null; } }
// 确认结算时 // 订单表中插入记录、订单详细表、账户金额积分处理 // 系统日志 void exp_ExpenseResultSelected(OrderPayType expType, decimal payMoney, decimal payCard, decimal payCash, decimal payCredit, decimal payVoucher, decimal moneyZero) { string orderCode = CreateOrderCode(); payInfo = payCard + "|" + payCash + "|" + payCredit + "|" + payVoucher; // 如果修改了金额,积分需要重新计算一下的 int point = totalPoint; List<VipSoft.Model.OrderDetail> ListDetail = new List<VipSoft.Model.OrderDetail>(); VipSoft.Model.OrderDetail detail; foreach (TempOrderInfo temp in listOrder) { detail = new VipSoft.Model.OrderDetail(); detail.OrderCode=orderCode; detail.GoodsID=temp.GInfo.ID; detail.GoodsCode=temp.GInfo.GoodsCode; detail.GoodsName=temp.GInfo.Name; detail.OrderCode=orderCode; detail.Number=temp.Number; detail.Percent=temp.Discount; detail.IsService=temp.GInfo.GoodsType==(byte)0?true:false; detail.Price=temp.GInfo.Price; detail.DiscountPrice=temp.DiscountPrice; ListDetail.Add(detail); } VipSoft.BLL.OrderLog oLog = new VipSoft.BLL.OrderLog(); bool ok; string logStrType, logStrOk, logStrErr; if (IsTravelerMember) { order = new Model.OrderLog(); order.OrderCode = orderCode; order.OrderType = 0; order.MemID = 59; order.MemName = "散客消费"; order.CardID = "0"; order.CreateDateTime = DateTime.Now; order.DisCountMoney = discountPrice; order.MasterID = PublicState.Master.ID; order.MasterName = PublicState.Master.Name; order.PayInfo = payInfo; order.PayType = (int)expType; order.Point = totalPoint; order.ShopID = PublicState.Master.ShopID; order.ShopName = PublicState.Master.ShopName; order.TotalMoney = totalPrice; order.TotalNumber = totalNumber; ok = oLog.Add(order, ListDetail); logStrType = "散客消费"; logStrOk = string.Format("消费成功,订单号:{0}消费金额:{1}", order.OrderCode, order.DisCountMoney); logStrErr = string.Format("消费失败,消费金额:{0}", order.DisCountMoney); } else { order = new Model.OrderLog(); order.OrderCode = orderCode; order.OrderType = 0; order.MemID = memInfo.ID; order.MemName = memInfo.Name; order.CardID = memInfo.CardID; order.CreateDateTime = DateTime.Now; order.DisCountMoney = discountPrice; order.MasterID = PublicState.Master.ID; order.MasterName = PublicState.Master.Name; order.PayInfo = payInfo; order.PayType = (int)expType; order.Point = totalPoint; order.TotalMoney = totalPrice; order.TotalNumber = totalNumber; order.ShopID = PublicState.Master.ShopID; order.ShopName = PublicState.Master.ShopName; ok = oLog.Add(order, ListDetail); if (ok) { VipSoft.BLL.MemCard bllMemCard = new BLL.MemCard(); VipSoft.BLL.PointLog bllPointLog = new BLL.PointLog(); memInfo.Point += totalPoint; memInfo.TotalMoney += discountPrice; memInfo.LastTime = DateTime.Now; memInfo.Money -= payCard; bllMemCard.Update(memInfo); memInfo = bllMemCard.GetModel(memInfo.ID); VipSoft.Model.PointLog modelPointLog = new Model.PointLog(); modelPointLog.CardID = memInfo.CardID; modelPointLog.CreateDateTime = DateTime.Now; modelPointLog.MemName = memInfo.Name; modelPointLog.Point = totalPoint; modelPointLog.ShopID = PublicState.Master.ShopID; modelPointLog.ShopName = PublicState.Master.ShopName; modelPointLog.Type = (int)PointLogType.OrderPoint; bllPointLog.Add(modelPointLog); } logStrType = "会员消费"; logStrOk = string.Format("消费成功,订单号:{0}会员卡号:{1}姓名:{2}消费金额:{3}所得积分:{4}付费方式:{5}", order.OrderCode, order.CardID, order.MemName, order.DisCountMoney, order.Point, order.PayType.ToString()); logStrErr = string.Format("消费失败,会员卡号:{0}姓名:{1}消费金额:{2}所得积分:{3}付费方式:{4}", order.CardID, order.MemName, order.DisCountMoney, order.Point, order.PayType.ToString()); } if (ok) { VipSoft.BLL.SysLog log = new VipSoft.BLL.SysLog(); log.Add(new VipSoft.Model.SysLog(PublicState.Master, logStrType, logStrOk, DateTime.Now)); // 更新当前会员的财务信息,因为打印的时候和更新等级的时候都需要显示出来 if (!IsTravelerMember) { memInfo = new VipSoft.BLL.MemCard().GetModel(memInfo.ID); Function.UpdateMemberLevel(1, memInfo); } MessageBox.Show("消费成功。"); // 清除数据 this.label_OTMoney.Text = ""; this.label_OTMoney2.Text = ""; this.label_OTNumber.Text = ""; this.label_OTPoint.Text = ""; this.label_OTActivity.Text = ""; listOrder = new List<TempOrderInfo>(); order = null; this.dataGridView_List.Rows.Clear(); ClearFormText(); memInfo = null; } else { MessageBox.Show("系统错误导致消费失败,请重试。"); // 记录日志 VipSoft.BLL.SysLog log = new VipSoft.BLL.SysLog(); log.Add(new VipSoft.Model.SysLog(PublicState.Master, logStrType, logStrErr, DateTime.Now)); } }