/// <summary> /// 由一行数据得到一个实体 /// </summary> private Hi.Model.DIS_ShopCart GetModel(DataRow r) { Hi.Model.DIS_ShopCart model = new Hi.Model.DIS_ShopCart(); model.ID = SqlHelper.GetInt(r["ID"]); model.CompID = SqlHelper.GetInt(r["CompID"]); model.DisID = SqlHelper.GetInt(r["DisID"]); model.GoodsID = SqlHelper.GetInt(r["GoodsID"]); model.GoodsinfoID = SqlHelper.GetInt(r["GoodsinfoID"]); model.GoodsInfos = SqlHelper.GetString(r["GoodsInfos"]); model.GoodsNum = SqlHelper.GetDecimal(r["GoodsNum"]); model.Price = SqlHelper.GetDecimal(r["Price"]); model.Remark = SqlHelper.GetString(r["Remark"]); model.AuditAmount = SqlHelper.GetDecimal(r["AuditAmount"]); model.sumAmount = SqlHelper.GetDecimal(r["sumAmount"]); model.ProID = SqlHelper.GetInt(r["ProID"]); model.ProType = SqlHelper.GetInt(r["ProType"]); model.DisCount = SqlHelper.GetDecimal(r["DisCount"]); model.ProNum = SqlHelper.GetDecimal(r["ProNum"]); model.CreateUserID = SqlHelper.GetInt(r["CreateUserID"]); model.CreateDate = SqlHelper.GetDateTime(r["CreateDate"]); model.ts = SqlHelper.GetDateTime(r["ts"]); model.dr = SqlHelper.GetInt(r["dr"]); model.modifyuser = SqlHelper.GetInt(r["modifyuser"]); model.vdef1 = SqlHelper.GetString(r["vdef1"]); model.vdef2 = SqlHelper.GetString(r["vdef2"]); model.vdef3 = SqlHelper.GetString(r["vdef3"]); return(model); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Hi.Model.DIS_ShopCart model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update [DIS_ShopCart] set "); strSql.Append("[CompID]=@CompID,"); strSql.Append("[DisID]=@DisID,"); strSql.Append("[GoodsID]=@GoodsID,"); strSql.Append("[GoodsinfoID]=@GoodsinfoID,"); strSql.Append("[GoodsInfos]=@GoodsInfos,"); strSql.Append("[GoodsNum]=@GoodsNum,"); strSql.Append("[Price]=@Price,"); strSql.Append("[Remark]=@Remark,"); strSql.Append("[AuditAmount]=@AuditAmount,"); strSql.Append("[sumAmount]=@sumAmount,"); strSql.Append("[ProID]=@ProID,"); strSql.Append("[ProType]=@ProType,"); strSql.Append("[DisCount]=@DisCount,"); strSql.Append("[ProNum]=@ProNum,"); strSql.Append("[CreateUserID]=@CreateUserID,"); strSql.Append("[CreateDate]=@CreateDate,"); strSql.Append("[ts]=@ts,"); strSql.Append("[dr]=@dr,"); strSql.Append("[modifyuser]=@modifyuser,"); strSql.Append("[vdef1]=@vdef1,"); strSql.Append("[vdef2]=@vdef2,"); strSql.Append("[vdef3]=@vdef3"); strSql.Append(" where [ID]=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int), new SqlParameter("@CompID", SqlDbType.Int), new SqlParameter("@DisID", SqlDbType.Int), new SqlParameter("@GoodsID", SqlDbType.Int), new SqlParameter("@GoodsinfoID", SqlDbType.Int), new SqlParameter("@GoodsInfos", SqlDbType.VarChar, 200), new SqlParameter("@GoodsNum", SqlDbType.Decimal), new SqlParameter("@Price", SqlDbType.Decimal), new SqlParameter("@Remark", SqlDbType.VarChar, 500), new SqlParameter("@AuditAmount", SqlDbType.Decimal), new SqlParameter("@sumAmount", SqlDbType.Decimal), new SqlParameter("@ProID", SqlDbType.Int), new SqlParameter("@ProType", SqlDbType.Int), new SqlParameter("@DisCount", SqlDbType.Decimal), new SqlParameter("@ProNum", SqlDbType.Decimal), new SqlParameter("@CreateUserID", SqlDbType.Int), new SqlParameter("@CreateDate", SqlDbType.DateTime), new SqlParameter("@ts", SqlDbType.DateTime), new SqlParameter("@dr", SqlDbType.SmallInt), new SqlParameter("@modifyuser", SqlDbType.Int), new SqlParameter("@vdef1", SqlDbType.VarChar, 200), new SqlParameter("@vdef2", SqlDbType.VarChar, 200), new SqlParameter("@vdef3", SqlDbType.VarChar, 200) }; parameters[0].Value = model.ID; parameters[1].Value = model.CompID; parameters[2].Value = model.DisID; parameters[3].Value = model.GoodsID; parameters[4].Value = model.GoodsinfoID; if (model.GoodsInfos != null) { parameters[5].Value = model.GoodsInfos; } else { parameters[5].Value = DBNull.Value; } parameters[6].Value = model.GoodsNum; parameters[7].Value = model.Price; if (model.Remark != null) { parameters[8].Value = model.Remark; } else { parameters[8].Value = DBNull.Value; } parameters[9].Value = model.AuditAmount; parameters[10].Value = model.sumAmount; parameters[11].Value = model.ProID; parameters[12].Value = model.ProType; parameters[13].Value = model.DisCount; parameters[14].Value = model.ProNum; parameters[15].Value = model.CreateUserID; if (model.CreateDate != DateTime.MinValue) { parameters[16].Value = model.CreateDate; } else { parameters[16].Value = DBNull.Value; } if (model.ts != DateTime.MinValue) { parameters[17].Value = model.ts; } else { parameters[17].Value = DBNull.Value; } parameters[18].Value = model.dr; parameters[19].Value = model.modifyuser; if (model.vdef1 != null) { parameters[20].Value = model.vdef1; } else { parameters[20].Value = DBNull.Value; } if (model.vdef2 != null) { parameters[21].Value = model.vdef2; } else { parameters[21].Value = DBNull.Value; } if (model.vdef3 != null) { parameters[22].Value = model.vdef3; } else { parameters[22].Value = DBNull.Value; } return(SqlHelper.ExecuteSql(SqlHelper.LocalSqlServer, strSql.ToString(), parameters) > 0); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Hi.Model.DIS_ShopCart model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into [DIS_ShopCart]("); strSql.Append("[CompID],[DisID],[GoodsID],[GoodsinfoID],[GoodsInfos],[GoodsNum],[Price],[Remark],[AuditAmount],[sumAmount],[ProID],[ProType],[DisCount],[ProNum],[CreateUserID],[CreateDate],[ts],[dr],[modifyuser],[vdef1],[vdef2],[vdef3])"); strSql.Append(" values ("); strSql.Append("@CompID,@DisID,@GoodsID,@GoodsinfoID,@GoodsInfos,@GoodsNum,@Price,@Remark,@AuditAmount,@sumAmount,@ProID,@ProType,@DisCount,@ProNum,@CreateUserID,@CreateDate,@ts,@dr,@modifyuser,@vdef1,@vdef2,@vdef3)"); strSql.Append(";select @@Identity"); SqlParameter[] parameters = { new SqlParameter("@CompID", SqlDbType.Int), new SqlParameter("@DisID", SqlDbType.Int), new SqlParameter("@GoodsID", SqlDbType.Int), new SqlParameter("@GoodsinfoID", SqlDbType.Int), new SqlParameter("@GoodsInfos", SqlDbType.VarChar, 200), new SqlParameter("@GoodsNum", SqlDbType.Decimal), new SqlParameter("@Price", SqlDbType.Decimal), new SqlParameter("@Remark", SqlDbType.VarChar, 500), new SqlParameter("@AuditAmount", SqlDbType.Decimal), new SqlParameter("@sumAmount", SqlDbType.Decimal), new SqlParameter("@ProID", SqlDbType.Int), new SqlParameter("@ProType", SqlDbType.Int), new SqlParameter("@DisCount", SqlDbType.Decimal), new SqlParameter("@ProNum", SqlDbType.Decimal), new SqlParameter("@CreateUserID", SqlDbType.Int), new SqlParameter("@CreateDate", SqlDbType.DateTime), new SqlParameter("@ts", SqlDbType.DateTime), new SqlParameter("@dr", SqlDbType.SmallInt), new SqlParameter("@modifyuser", SqlDbType.Int), new SqlParameter("@vdef1", SqlDbType.VarChar, 200), new SqlParameter("@vdef2", SqlDbType.VarChar, 200), new SqlParameter("@vdef3", SqlDbType.VarChar, 200) }; parameters[0].Value = model.CompID; parameters[1].Value = model.DisID; parameters[2].Value = model.GoodsID; parameters[3].Value = model.GoodsinfoID; if (model.GoodsInfos != null) { parameters[4].Value = model.GoodsInfos; } else { parameters[4].Value = DBNull.Value; } parameters[5].Value = model.GoodsNum; parameters[6].Value = model.Price; if (model.Remark != null) { parameters[7].Value = model.Remark; } else { parameters[7].Value = DBNull.Value; } parameters[8].Value = model.AuditAmount; parameters[9].Value = model.sumAmount; parameters[10].Value = model.ProID; parameters[11].Value = model.ProType; parameters[12].Value = model.DisCount; parameters[13].Value = model.ProNum; parameters[14].Value = model.CreateUserID; if (model.CreateDate != DateTime.MinValue) { parameters[15].Value = model.CreateDate; } else { parameters[15].Value = DBNull.Value; } if (model.ts != DateTime.MinValue) { parameters[16].Value = model.ts; } else { parameters[16].Value = DBNull.Value; } parameters[17].Value = model.dr; parameters[18].Value = model.modifyuser; if (model.vdef1 != null) { parameters[19].Value = model.vdef1; } else { parameters[19].Value = DBNull.Value; } if (model.vdef2 != null) { parameters[20].Value = model.vdef2; } else { parameters[20].Value = DBNull.Value; } if (model.vdef3 != null) { parameters[21].Value = model.vdef3; } else { parameters[21].Value = DBNull.Value; } return(SqlHelper.GetInt(SqlHelper.GetSingle(SqlHelper.LocalSqlServer, strSql.ToString(), parameters))); }
/// <summary> /// 更新经销商购物车 /// </summary> /// <param name="ID">登录用户ID</param> /// <param name="CompID">登录用户企业ID</param> /// <param name="DisID">登录用户经销商ID</param> /// <param name="goodsinfoid">商品ID</param> /// <param name="ProID">促销ID</param> /// <param name="Num">商品数量</param> /// <param name="Price">商品基本价格</param> /// <param name="TPrice">商品最终销售价格</param> /// /// <param name="CartType">是否添加商品 1、添加到购物车,2、减商品数量 3、加商品数量 4、删除购物车商品</param> /// <returns>0、更新失败 1、更新成功</returns> public int Cart(int ID, int CompID, int DisID, string goodsinfoid, string ProID, string Num, string Price, string TPrice, string CartType) { bool falg = false; //经销商购物车实体 Hi.Model.DIS_ShopCart cartModel = new Hi.Model.DIS_ShopCart(); try { //判断查询商品详细信息 System.Data.DataTable goodsinfoDt = new Hi.BLL.DIS_ShopCart().GetList("ID,GoodsID,ValueInfo,SalePrice,TinkerPrice", "BD_GoodsInfo", " ID=" + goodsinfoid + " and isEnabled=1 and IsOffline=1 and CompID=" + CompID, ""); //判断商品可用 if (goodsinfoDt != null && goodsinfoDt.Rows.Count > 0) { //修改商品 if (CartType == "2" || CartType == "3") { //判断该商品在购物车是否想存在 string arestr = " GoodsInfoID=" + goodsinfoid + " and DisID=" + DisID + " and CompID=" + CompID; List <Hi.Model.DIS_ShopCart> lmodel = dal.GetModel("top 1 *", arestr); if (lmodel != null && lmodel.Count > 0) { falg = true; foreach (var item in lmodel) { item.Price = Convert.ToDecimal(Price); item.AuditAmount = Convert.ToDecimal(TPrice); item.sumAmount = Convert.ToDecimal(TPrice) * Convert.ToDecimal(Num); cartModel = item; } } } else if (CartType == "1") { //新增商品 string arestr = " GoodsInfoID=" + goodsinfoid + " and DisID=" + DisID + " and CompID=" + CompID; List <Hi.Model.DIS_ShopCart> lmodel = dal.GetModel("top 1 *", arestr); if (lmodel != null && lmodel.Count > 0) { falg = true; foreach (var item in lmodel) { cartModel = item; Num = (cartModel.GoodsNum + Convert.ToDecimal(Num)).ToString(); } } else { cartModel.CreateUserID = ID; cartModel.CreateDate = DateTime.Now; cartModel.CompID = CompID; cartModel.DisID = DisID; cartModel.GoodsinfoID = Convert.ToInt32(goodsinfoid); cartModel.GoodsID = Convert.ToInt32(goodsinfoDt.Rows[0]["GoodsID"]); cartModel.GoodsInfos = goodsinfoDt.Rows[0]["ValueInfo"].ToString(); } } cartModel.ts = DateTime.Now; cartModel.modifyuser = ID; cartModel.GoodsNum = Convert.ToDecimal(Num); cartModel.AuditAmount = Convert.ToDecimal(TPrice); cartModel.Price = Convert.ToDecimal(Price); //单个商品小计 cartModel.sumAmount = Convert.ToDecimal(Num) * Convert.ToDecimal(TPrice); if (ProID != "") { //判断促销是否可用 DataTable prodt = new Hi.BLL.DIS_ShopCart().GetList("Type,ProType,DisCount", "BD_Promotion", " ID=" + ProID + " and isEnabled=1 and dr=0 and CompID=" + CompID, ""); if (prodt != null && prodt.Rows.Count > 0) { cartModel.ProID = Convert.ToInt32(ProID.ToString()); cartModel.ProType = Convert.ToInt32(prodt.Rows[0]["ProType"].ToString()); cartModel.DisCount = Convert.ToDecimal(prodt.Rows[0]["DisCount"].ToString()); //促销为商品促销中的满送,查询促销明细表 if (Convert.ToInt32(prodt.Rows[0]["Type"]) == 1 && Convert.ToInt32(prodt.Rows[0]["ProType"]) == 3) { //查询促销明细表 System.Data.DataTable prodDt = new Hi.BLL.DIS_ShopCart().GetList("GoodsPrice,SendGoodsInfoID", "BD_PromotionDetail", " ProID=" + ProID + "and GoodInfoID=" + goodsinfoid + " and dr=0 and CompID=" + CompID, ""); if (prodDt != null && prodDt.Rows.Count > 0) { int sendNum = Convert.ToInt32(Convert.ToDecimal(Num)) / Convert.ToInt32(prodt.Rows[0]["DisCount"]); cartModel.ProNum = sendNum * Convert.ToInt32(prodDt.Rows[0]["GoodsPrice"]); } } } } else { string sql = string.Format(@"select top 1 pro.ID,pro.CompID,pro.ProType,pro.Type,pro.DisCount,pro.ProStartTime,pro.ProEndTime,prod.GoodsID,prod.GoodInfoID,prod.GoodsPrice from BD_Promotion as pro left join BD_PromotionDetail as prod on pro.ID=prod.ProID where prod.GoodsID={0} and pro.CompID={1} and prod.GoodInfoID={2} and (pro.ProStartTime<=GETDATE() and DATEADD(D,1,pro.ProEndTime)>GETDATE()) and isnull(pro.dr,0)=0 and ISNULL(pro.IsEnabled,0)=1 order by pro.CreateDate desc", goodsinfoDt.Rows[0]["GoodsID"].ToString(), CompID, goodsinfoid); DataTable dt = DBUtility.SqlHelper.Query(DBUtility.SqlHelper.LocalSqlServer, sql).Tables[0]; DateTime now = DateTime.Now; if (dt != null && dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { if (Convert.ToDateTime(item["ProStartTime"]) <= now && Convert.ToDateTime(item["ProEndTime"]).AddDays(1) > now) { cartModel.ProID = Convert.ToInt32(item["ID"].ToString()); cartModel.ProType = Convert.ToInt32(item["ProType"].ToString()); cartModel.DisCount = Convert.ToDecimal(item["DisCount"].ToString()); //促销为商品促销中的满送,查询促销明细表 if (Convert.ToInt32(item["Type"].ToString()) == 1 && Convert.ToInt32(item["ProType"].ToString()) == 3) { int sendNum = Convert.ToInt32(Convert.ToDecimal(Num)) / Convert.ToInt32(item["DisCount"]); cartModel.ProNum = sendNum * Convert.ToInt32(item["GoodsPrice"]); } } } } } if (falg) { return(new Hi.BLL.DIS_ShopCart().Update(cartModel) == true ? 1 : 0); } return(new Hi.BLL.DIS_ShopCart().Add(cartModel)); } return(0); } catch (Exception) { return(0); } }