/// <summary> /// 设置购物车商品数量 /// </summary> /// <param name="user_id"></param> /// <param name="guid"></param> /// <param name="shoppingCartId"></param> /// <param name="num"></param> /// <returns></returns> public bool SetShoppingCartGoodsNum(int user_id, string guid, int shoppingCartId, int num) { var result = false; if (num > 0) { using (var holycaDb = new HolycaEntities()) { var shoppingCartEntity = holycaDb.Sale_ShoppingCart.First(s => s.intShopCartID == shoppingCartId); if (shoppingCartEntity != null) { try { shoppingCartEntity.intBuyCount = num; holycaDb.SaveChanges(); result = true; } catch (Exception) { holycaDb.Refresh(RefreshMode.ClientWins, shoppingCartEntity); holycaDb.SaveChanges(); result = false; } } } } return(result); }
/// <summary> /// 获取购物车总金额 /// </summary> /// <param name="user_id"></param> /// <param name="guid"></param> /// <param name="channelId"> </param> /// <returns></returns> public decimal GetShoppingTotal(int user_id, string guid, int channelId) { decimal result = 0; using (var holycaDb = new HolycaEntities()) { if (user_id > 0 || !string.IsNullOrEmpty(guid)) { var queryTxt = from a in holycaDb.Sale_ShoppingCart where a.intChannelID == channelId && a.intIsDelete == 0 select a; if (user_id > 0) { queryTxt = queryTxt.Where(w => w.intUserID == user_id); } else if (!string.IsNullOrEmpty(guid)) { queryTxt = queryTxt.Where(w => w.vchGuid == guid); } try { result = MCvHelper.To <decimal>(queryTxt.Sum(s => (decimal?)(s.intBuyCount * s.numSalePrice)), 0); } catch { result = -1; } } } return(result); }
/// <summary> /// 获取当前用户的购物车中的商品信息 /// </summary> /// <param name="userId">用户ID</param> /// <param name="guid">用户全局变量</param> /// <param name="channelId">渠道ID</param> /// <returns></returns> public List <ShoppingCartEntity> GetShoppingCartProductInfosByUserIDGuidChannelID(int userId, string guid, int channelId) { var holycaDb = new HolycaEntities(); List <ShoppingCartEntity> resultList = new List <ShoppingCartEntity>(); ShoppingCartEntity shoppingCartEntity; List <Sale_ShoppingCart> retList = new List <Sale_ShoppingCart>(); //用户登录了就用userId查询,用户未登录用Guid查 if (userId > 0) { var queryTxt = from c in holycaDb.Sale_ShoppingCart where c.intUserID == userId && c.intChannelID == channelId select c; retList = queryTxt.ToList(); } else { var queryTxt = from c in holycaDb.Sale_ShoppingCart where c.vchGuid == guid && c.intChannelID == channelId select c; retList = queryTxt.ToList(); } if (retList != null && retList.Count > 0) { foreach (Sale_ShoppingCart ssc in retList) { shoppingCartEntity = new ShoppingCartEntity(); MCvHelper.ObjectCopyTo(ssc, shoppingCartEntity); resultList.Add(shoppingCartEntity); } } return(resultList); }
/// <summary> /// 计算会员订单统计信息 /// </summary> /// <param name="userId"></param> /// <returns></returns> public MemberAccountInfo GetMemberOrderStatistics(int userId) { using (var db = new HolycaEntities()) { var queryTxt = from a in db.Sale_Order where a.intUserID == userId && a.intOrderState == 20 select new { a.numReceAmount, a.intTotalStars }; var orderInfo = queryTxt.ToList(); if (!orderInfo.Any()) { return(null); } return(new MemberAccountInfo { TotalIntegral = orderInfo.Sum(p => p.intTotalStars), OrdersTotal = orderInfo.Sum(p => p.numReceAmount), OrderCount = orderInfo.Count() }); } }
/// <summary> /// 获取购物车商品数量 /// </summary> /// <param name="token"> </param> /// <param name="channelId"></param> /// <param name="uid"></param> /// <param name="user_id"> </param> /// <returns></returns> public int GetShoppingCartGoodsNum(string token, int channelId, string uid, int user_id) { using (var holycaDb = new HolycaEntities()) { var queryTxt = from c in holycaDb.Sale_ShoppingCart where c.intChannelID == channelId && c.intIsDelete == 0 select c; if (user_id > 0) { queryTxt = queryTxt.Where(w => w.intUserID == user_id); } else if (!string.IsNullOrEmpty(token)) { queryTxt = queryTxt.Where(w => w.vchGuid == token); } else { return(0); } try { var result = queryTxt.Sum(c => (int?)c.intBuyCount); return(MCvHelper.To <int>(result, 0)); } catch { return(-1); } } }
/// <summary> /// 更新订单支付状态为成功 /// </summary> /// <param name="orderCode"></param> /// <param name="userCode"></param> public void UpdateOrderPayStatusSuccess(string orderCode, string userCode) { using (var db = new HolycaEntities()) { var result = new ObjectParameter("intResult", DbType.Int32); db.Up_Synchro_OrderPayState(orderCode, 0, 2, result); } }
/// <summary> /// 同步订单信息到 BBHome /// </summary> /// <param name="orderCode"></param> /// <returns></returns> public bool SyncOrderInfoToBBHome(string orderCode) { using (var db = new HolycaEntities()) { var objectParameter = new ObjectParameter("result", DbType.Int32); db.Up_Syn_ToBBHome_Now(orderCode, objectParameter); return(MCvHelper.To <int>(objectParameter.Value, -1) != -1); } }
/// <summary> /// 添加会员收货地址 /// </summary> /// <param name="addressEntity"></param> /// <returns></returns> public int AddMemberAddress(User_Consignee_Address addressEntity) { using (var holycaDb = new HolycaEntities()) { holycaDb.AddToUser_Consignee_Address(addressEntity); holycaDb.SaveChanges(); return(addressEntity.intAddressID); } }
/// <summary> /// 获取用户收货地址总数 /// </summary> /// <param name="userId"></param> /// <returns></returns> public int GetMemberAddressCount(int userId) { using (var holycaDb = new HolycaEntities()) { var queryTxt = from a in holycaDb.User_Consignee_Address where a.intUserID == userId select a; return(queryTxt.Count()); } }
/// <summary> /// 获取用户收货地址信息 /// </summary> /// <param name="addressId"></param> /// <returns></returns> public User_Consignee_Address GetMemberAddressInfo(int addressId) { using (var holycaDb = new HolycaEntities()) { var queryTxt = from a in holycaDb.User_Consignee_Address where a.intAddressID == addressId select a; return(queryTxt.FirstOrDefault()); } }
/// <summary> /// 获取配送方式 /// </summary> /// <param name="deliveryId"></param> /// <returns></returns> public Base_Deliver GetDeliverInfo(int deliveryId) { using (var db = new HolycaEntities()) { var queryTxt = from a in db.Base_Deliver where a.intDeliverID == deliveryId select a; return(queryTxt.FirstOrDefault()); } }
/// <summary> /// 获取支付信息 /// </summary> /// <param name="payId"></param> /// <returns></returns> public Base_Pay_Type GetPaymentInfo(int payId) { using (var db = new HolycaEntities()) { var queryTxt = from a in db.Base_Pay_Type where a.intPayID == payId && a.intIsEnable == 1 select a; return(queryTxt.First()); } }
/// <summary> /// 查询订单配送信息 /// </summary> /// <param name="orderCode"></param> /// <returns></returns> public Sale_Order_Deliver GetOrderDeliveryinfo(string orderCode) { using (var db = new HolycaEntities()) { var queryTxt = from a in db.Sale_Order_Deliver where a.vchOrderCode == orderCode select a; return(queryTxt.FirstOrDefault()); } }
/// <summary> /// 检测商品库存 /// </summary> /// <param name="productId">商品ID</param> /// <param name="stockQuantity"> </param> /// <returns></returns> public bool CheckProductStockByProductID(int productId, int stockQuantity) { var holycaDb = new HolycaEntities(); var queryTxt = from c in holycaDb.Pdt_Stock where c.intProductID == productId select c.intStockQty; return(queryTxt.FirstOrDefault() >= stockQuantity); }
/// <summary> /// 获取商品其他信息 /// </summary> /// <param name="gid"></param> /// <returns></returns> public Pdt_Other_Info GetGoodsOtherInfo(int gid) { var holycaDb = new HolycaEntities(); var queryTxt = from c in holycaDb.Pdt_Other_Info where c.intProductID == gid select c; return(queryTxt.FirstOrDefault()); }
/// <summary> /// 获取商品图片列表 /// </summary> /// <param name="gid"></param> /// <returns></returns> public List <Pdt_Pic> GetGoodsPicList(int gid) { var holycaDb = new HolycaEntities(); var queryTxt = from c in holycaDb.Pdt_Pic where c.intProductID == gid && c.intIsEnable == 1 orderby c.vchPicType ascending select c; return(queryTxt.ToList()); }
/// <summary> /// 查询商品分类列表 /// </summary> /// <returns></returns> public List <Web_Pdt_Type> GetGoodsCategoryList() { using (var db = new HolycaEntities()) { var queryTxt = from a in db.Web_Pdt_Type where a.intIsVisible == 1 orderby a.intSortOrder descending select a; return(queryTxt.ToList()); } }
/// <summary> /// 获取商品信息 /// </summary> /// <param name="clusterId"></param> /// <param name="channelId"></param> /// <param name="gid"></param> /// <returns></returns> public Vi_Web_Pdt_Detail GetGoodsInfo(int clusterId, int channelId, int gid) { channelId = 102; var holycaDb = new HolycaEntities(); var queryTxt = from a in holycaDb.Vi_Web_Pdt_Detail where a.intProductID == gid && a.intChannelID == channelId && a.intHerdID == clusterId select a; return(queryTxt.FirstOrDefault()); }
/// <summary> /// 获取支付列表 /// </summary> /// <param name="sType"></param> /// <param name="paygroupId"></param> /// <returns></returns> public List <Base_Pay_Type> GetPayList(SystemType sType, int paygroupId) { using (var db = new HolycaEntities()) { var queryTxt = from a in db.Base_Pay_Type where a.intPayGroup == paygroupId && a.intIsEnable == 1 orderby a.intSortID descending select a; return(queryTxt.ToList()); } }
/// <summary> /// 获取用户默认收货地址信息 /// </summary> /// <returns></returns> public User_Consignee_Address GetMemberDefaultAddressInfo(int userId) { using (var holycaDb = new HolycaEntities()) { var queryTxt = from a in holycaDb.User_Consignee_Address where a.intUserID == userId orderby a.intIsDefaultAddr descending select a; return(queryTxt.FirstOrDefault()); } }
/// <summary> /// 删除购物车中的商品信息 /// </summary> /// <param name="shoppingCartId">购物车ID</param> /// <returns></returns> public bool DeleteShoppingCartByProductIdUserID(int shoppingCartId) { var holycaDb = new HolycaEntities(); Sale_ShoppingCart queryTxt = holycaDb.Sale_ShoppingCart.Where(c => c.intShopCartID == shoppingCartId).FirstOrDefault(); holycaDb.DeleteObject(queryTxt); holycaDb.SaveChanges(); return(true); }
/// <summary> /// 获取全部地区数据 /// </summary> /// <param name="regionType">地区类型</param> /// <returns></returns> public List <Base_Region> GetAllRegionList(int regionType) { using (var holycaDb = new HolycaEntities()) { IQueryable <Base_Region> queryTxt = from a in holycaDb.Base_Region orderby a.intRegionID ascending select a; if (regionType > 0) { queryTxt = queryTxt.Where(c => c.intRegionType == regionType); } return(queryTxt.ToList()); } }
/// <summary> /// 获取地区数据 /// </summary> /// <param name="parentId"></param> /// <returns></returns> public List <Base_Region> GetRegionList(int parentId) { if (parentId < 0) { parentId = 0; } var holycaDb = new HolycaEntities(); var queryTxt = from a in holycaDb.Base_Region where a.intFRegionID == parentId orderby a.intRegionID ascending select a; return(queryTxt.ToList()); }
/// <summary> /// 计算运费 /// </summary> /// <param name="weight"></param> /// <param name="deliveId"></param> /// <param name="cityId"></param> /// <returns></returns> public decimal GetCarriage(long weight, int deliveId, int cityId) { using (var db = new HolycaEntities()) { decimal result = 0; var objectParams = new System.Data.Objects.ObjectParameter("intcarriage", DbType.Int32); var carriage = db.Up_ShopCart_GetCarriage((int)weight, deliveId, cityId, objectParams); var upOutPutValue = MCvHelper.To <int>(objectParams.Value, 0); if (upOutPutValue > 0) { result = upOutPutValue / 100; } return(result); } }
/// <summary> /// 清除购物车数据 /// </summary> /// <param name="userId"></param> public void ClearShoppingCart(int userId) { using (var db = new HolycaEntities()) { var queryTxt = from a in db.Sale_ShoppingCart where a.intUserID == userId select a; var shoppingCartList = queryTxt.ToList(); foreach (var saleShoppingCart in shoppingCartList) { db.Sale_ShoppingCart.DeleteObject(saleShoppingCart); } db.SaveChanges(); } }
/// <summary> /// 获取配送方式列 /// </summary> /// <param name="channelId"></param> /// <param name="regionId"></param> /// <param name="payGroupId"></param> /// <returns></returns> public List <Base_Deliver> GetDeliverList(int channelId, int regionId, int payGroupId) { var holycaDb = new HolycaEntities(); var queryTxt = from s in holycaDb.Base_Deliver where ( from a in holycaDb.Base_Deliver_Pay join b in holycaDb.Base_Deliver_Area on a.intDeliverID equals b.intDeliverID join c in holycaDb.Base_Pay_Type on a.intPayID equals c.intPayID where b.intIsEnable == 1 && b.intRegionID == regionId && c.intIsEnable == 1 && c.intPayGroup == payGroupId select a.intDeliverID).Contains(s.intDeliverID) select s; var result = queryTxt.ToList(); return(result); }
/// <summary> /// 检查收货地址信息是否存在 /// </summary> /// <param name="addressEntity"></param> /// <returns></returns> public bool CheckAddresExists(User_Consignee_Address addressEntity) { using (var holycaDb = new HolycaEntities()) { var queryTxt = from a in holycaDb.User_Consignee_Address where a.intUserID == addressEntity.intUserID && a.intStateID == addressEntity.intStateID && a.intCityID == addressEntity.intCityID && a.intCountyID == addressEntity.intCountyID && a.vchDetailAddr == addressEntity.vchDetailAddr && a.vchPostCode == addressEntity.vchPostCode && a.vchConsignee == addressEntity.vchConsignee select a; return(queryTxt.Count() > 0); } }
/// <summary> /// 检查商品销售区域 /// </summary> /// <param name="userId"></param> /// <param name="cityId"></param> /// <param name="channelId"></param> /// <returns></returns> public List <int> CheckGoodsSaleArea(int userId, int cityId, int channelId) { List <int> result; using (var db = new HolycaEntities()) { var queryTxt = from a in db.Sale_ShoppingCart join b in db.Base_SaleArea_Product on a.intProductID equals b.intProductID join c in db.Base_Region on b.intAreaID equals c.intAreaID where a.intUserID == userId && c.intRegionID == cityId && b.intState == 1 && a.intChannelID == channelId select a.intShopCartID; result = queryTxt.Distinct().ToList(); } return(result); }
/// <summary> /// 增加购物车商品信息 /// </summary> /// <param name="shoppingCartEntity">购物车信息实体</param> /// <returns></returns> public bool AddShoppingCartProductInfo(ShoppingCartEntity shoppingCartEntity) { var holycaDb = new HolycaEntities(); Sale_ShoppingCart sale_ShoppingCart = new Sale_ShoppingCart(); MCvHelper.ObjectCopyTo(shoppingCartEntity, sale_ShoppingCart); try { holycaDb.Sale_ShoppingCart.AddObject(sale_ShoppingCart); holycaDb.SaveChanges(); return(true); } catch { return(false); } }
/// <summary> /// 获取支付方式 /// </summary> /// <param name="channelId"></param> /// <param name="regionId"> </param> /// <returns>list</returns> public List <ItemPay> GetPaymentList(int channelId, int regionId) { var result = new List <ItemPay>(); var holycaDb = new HolycaEntities(); var queryTxt = from a in holycaDb.Base_Pay_Type join b in holycaDb.Base_Deliver_Pay on a.intPayID equals b.intPayID join c in holycaDb.Base_Deliver_Area on b.intDeliverID equals c.intDeliverID where c.intRegionID == regionId group a by a.intPayGroup into g select g; var payList = queryTxt.ToList(); payList.ForEach(item => { if (item.Key == 0) { result.Add(new ItemPay { payid = 0, payname = "货到付款", paytype = 0, remark = "(送货上门后再付款,支持现金或POS机刷卡)" }); } else if (item.Key == 1) { if (channelId != (int)SystemType.MobileWebSite) { result.Add(new ItemPay { payid = 1, payname = "在线支付", paytype = 1, remark = "(支持绝大数银行借记卡及部分银行信息卡)" }); } } else if (item.Key == 3) { if (channelId == (int)SystemType.MobileWebSite) { result.Add(new ItemPay { payid = 3, payname = "支付宝(手机)支付", paytype = 3, remark = "(支持支付宝)" }); } } }); result.Sort((l1, l2) => l2.payid.CompareTo(l1.payid)); return(result); }