/// <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="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="id"></param> /// <param name="addressEntity"></param> /// <returns></returns> public bool UpdateMemberAddress(int id, User_Consignee_Address addressEntity) { var result = false; using (var holycaDb = new HolycaEntities()) { try { var addressInfo = holycaDb.User_Consignee_Address.FirstOrDefault(c => c.intAddressID == id); if (addressInfo != null && addressInfo.intAddressID > 0) { addressInfo.intAddrType = addressEntity.intAddrType; addressInfo.intCityID = addressEntity.intCityID; addressInfo.intCountyID = addressEntity.intCountyID; addressInfo.intStateID = addressEntity.intStateID; addressInfo.vchCAName = addressEntity.vchCAName; addressInfo.vchCityName = addressEntity.vchCityName; addressInfo.vchConsignee = addressEntity.vchConsignee; addressInfo.vchCountyName = addressEntity.vchCountyName; addressInfo.vchDetailAddr = addressEntity.vchDetailAddr; addressInfo.vchMobile = addressEntity.vchMobile; addressInfo.vchPhone = addressEntity.vchPhone; addressInfo.vchPostCode = addressEntity.vchPostCode; addressInfo.vchStateName = addressEntity.vchStateName; addressInfo.intIsDefaultAddr = addressInfo.intIsDefaultAddr; addressInfo.dtLastModTime = addressEntity.dtLastModTime; //holycaDb.ApplyCurrentValues("User_Consignee_Address", addressInfo); holycaDb.SaveChanges(); result = true; } } catch (Exception) { result = false; } } return(result); }
/// <summary> /// 设置用户收货地址信息 /// </summary> /// <param name="sid"></param> /// <param name="token"></param> /// <param name="userId"></param> /// <param name="uid"></param> /// <param name="address"></param> /// <returns></returns> public static MResult <int> SetAddress(string sid, string token, int userId, string uid, AddressEntity address) { var result = new MResult <int>(); try { if (address != null && userId > 0) { var member = DALFactory.Member(); #region 地址实体类转换 var userAddress = new User_Consignee_Address { intAddressID = address.id, intUserID = userId, vchConsignee = address.contact_name, vchCAName = address.name, vchPhone = address.phone, vchMobile = address.mobile, intAddrType = address.type, intStateID = address.province_id, vchStateName = address.province, intCityID = address.city_id, vchCityName = address.city, intCountyID = address.county_id, vchCountyName = address.county, vchDetailAddr = address.addr, vchPostCode = address.zip, intIsDefaultAddr = (byte)(address.get_def ? 1 : 0), dtLastModTime = address.modify_date, intDeliverID = address.deliver_id, intPayID = address.pay_id, }; #endregion //查询用户地址库数量 var addressCount = member.GetMemberAddressCount(userId); #region 如果用户第一次添加地址,则设为默认地址 if (addressCount == 0) { userAddress.intIsDefaultAddr = 1; } #endregion #region 如果设置了 默认收货地址,则需要清空之前所有地址的默认状态 if (userAddress.intIsDefaultAddr == 1) { member.ReSetAddressDefaultStatus(userId); } #endregion #region 如果 地址id > 0 则需要更新 if (address.id > 0) { userAddress.dtLastModTime = DateTime.Now; if (member.UpdateMemberAddress(address.id, userAddress)) { result.status = MResultStatus.Success; } else { result.status = MResultStatus.ExecutionError; result.msg = "更新收货地址失败!"; } } #endregion #region 否则 添加操作 else { #region 判断用户地址是否已存在 var addresExists = member.CheckAddresExists(userAddress); if (addresExists) { result.status = MResultStatus.ExecutionError; result.msg = "该收货地址已存在!"; return(result); } #endregion #region 判断用户地址数量 if (addressCount >= 10) { result.status = MResultStatus.ExecutionError; result.msg = "您最多只能保存10个收货地址!"; return(result); } #endregion userAddress.dtAddTime = DateTime.Now; userAddress.dtLastModTime = DateTime.Now; result.info = member.AddMemberAddress(userAddress); if (result.info > 0) { result.status = MResultStatus.Success; } else { result.status = MResultStatus.ExecutionError; result.msg = "添加收货地址失败!"; } } #endregion } else { result.status = MResultStatus.ParamsError; result.msg = "参数错误!"; } } catch (Exception) { result.status = MResultStatus.ExceptionError; result.msg = "设置用户收货地址信息 异常!"; } return(result); }