예제 #1
0
        /// <summary>
        /// 列出指定用户的所有默认地址(一般来说,一个会员只有一个默认地址,以列表方式查询以防数据有问题)
        /// </summary>
        /// <param name="owner_id"></param>
        /// <param name="owner_type"></param>
        /// <returns></returns>
        public bool ListDefaultAddress(int owner_id, Address_Owner_Type owner_type)
        {
            string sql_condition = string.Format("{0}=:{0} and {1}=:{1} and {2}=1 AND {3}=0", Tnet_Shipping_Address._OWNER_ID, Tnet_Shipping_Address._OWNER_TYPE, Tnet_Shipping_Address._IS_DEFAULT, Tnet_Shipping_Address._IS_DEL);

            AddParameter(Tnet_Shipping_Address._OWNER_ID, owner_id);
            AddParameter(Tnet_Shipping_Address._OWNER_TYPE, owner_type);
            return(ListByCondition(sql_condition));
        }
예제 #2
0
        public void GetListTest()
        {
            int ownerId = 3999999;
            Address_Owner_Type ownerType = Address_Owner_Type.个人用户;
            ConsigneeProvider  provider  = new ConsigneeProvider();
            List <Winner.Consignee.Entities.AddressInfo> list = provider.List(ownerId, ownerType);

            Assert.IsTrue(list != null && list.Count > 0);
        }
예제 #3
0
        /// <summary>
        /// 将默认地址设置为非默认
        /// </summary>
        /// <param name="owner_id"></param>
        /// <param name="owner_Type"></param>
        /// <param name="rowCount"></param>
        /// <returns></returns>
        public bool UpdateAllAddressNotDefault(int owner_id, Address_Owner_Type owner_Type, int rowCount)
        {
            string updateSql = "UPDATE TNET_SHIPPING_ADDRESS SET {0}=0 WHERE {1}=:{1} AND {2}=:{2} AND {0}=1";

            updateSql = string.Format(updateSql, Tnet_Shipping_Address._IS_DEFAULT, Tnet_Shipping_Address._OWNER_ID, Tnet_Shipping_Address._OWNER_TYPE);
            AddParameter(Tnet_Shipping_Address._OWNER_ID, owner_id);
            AddParameter(Tnet_Shipping_Address._OWNER_TYPE, owner_Type);
            return(ExecuteNonQuery(updateSql) == rowCount);
        }
예제 #4
0
        /// <summary>
        /// 获取指定的收货地址列表,分页使用 IChangePage
        /// </summary>
        /// <param name="ownerId">拥有者ID</param>
        /// <param name="ownerType">拥有者类型</param>
        /// <param name="includeDel">是否包含已删除的数据</param>
        /// <returns></returns>
        public List <AddressInfo> List(int ownerId, Address_Owner_Type ownerType, bool includeDel = false)
        {
            var daAddressCollection = new Vnet_Full_AddressCollection();

            daAddressCollection.ChangePage = this.ChangePage;
            daAddressCollection.ListByOwnerId_OwnerType(ownerId, ownerType, includeDel);
            var list = MapProvider.Map <AddressInfo>(daAddressCollection.DataTable);

            return(list);
        }
예제 #5
0
        public void CreateTest()
        {
            int ownerId = 3999999;
            Address_Owner_Type ownerType     = Address_Owner_Type.个人用户;
            string             address       = "新安街道留仙一路高新奇科技园";
            string             consigneeName = "Jason";
            string             mobileno      = "18600001111";
            int regionId = 2334;
            ConsigneeProvider provider = new ConsigneeProvider();
            bool res = provider.Create(ownerId, ownerType, false, address, consigneeName, mobileno, regionId);

            Assert.IsTrue(res);
        }
예제 #6
0
        /// <summary>
        /// 查询指定拥有者的所有收货地址信息,默认地址排最前,按添加时间降序
        /// </summary>
        /// <param name="ownerId">拥有者ID</param>
        /// <param name="ownerType">拥有者类型</param>
        /// <param name="includeDel">是否包含已删除的数据</param>
        /// <returns></returns>
        public bool ListByOwnerId_OwnerType(int ownerId, Address_Owner_Type ownerType, bool includeDel = false)
        {
            string sql = "SELECT * FROM VNET_FULL_ADDRESS WHERE OWNER_ID=:OWNERID AND OWNER_TYPE=:OWNERTYPE";

            if (!includeDel)
            {
                sql += " AND IS_DEL=0";
            }
            sql += " ORDER BY IS_DEFAULT DESC,CREATE_TIME DESC";
            AddParameter("OWNERID", ownerId);
            AddParameter("OWNERTYPE", ownerType);
            return(ListBySql(sql));
        }
예제 #7
0
        /// <summary>
        /// 获取指定的默认收货地址(如会员没有默认地址,首选最近添加的地址)
        /// </summary>
        /// <param name="ownerId">拥有者ID</param>
        /// <param name="ownerType">拥有者类型</param>
        /// <returns></returns>
        public AddressInfo GetDefault(int ownerId, Address_Owner_Type ownerType)
        {
            List <AddressInfo> list = List(ownerId, ownerType);

            if (list == null || list.Count == 0)
            {
                return(null);
            }
            AddressInfo defaultAddress = list.Find(it => it.IsDefault == 1);

            if (defaultAddress == null)
            {
                defaultAddress = list[0];
            }
            return(defaultAddress);
        }
예제 #8
0
        /// <summary>
        /// 创建收货地址
        /// </summary>
        /// <param name="ownerId">收货地址拥有者</param>
        /// <param name="ownerType">收货地址拥有者类型</param>
        /// <param name="isDefault">是否设置为默认地址</param>
        /// <param name="address">详细地址信息</param>
        /// <param name="consigneeName">收件人姓名</param>
        /// <param name="mobileno">收件人联系电话</param>
        /// <param name="regionId">城市行政区ID</param>
        /// <param name="postCode">邮政编码</param>
        /// <param name="tagName">收货地址标签,家,公司等等地址标签</param>
        /// <returns></returns>
        public bool Create(int ownerId, Address_Owner_Type ownerType, bool isDefault, string address, string consigneeName, string mobileno, int regionId, string postCode = null, string tagName = null)
        {
            ShippingAddress shippingAddress = new ShippingAddress
            {
                Is_Default = isDefault ? 1 : 0,
                Is_Del     = 0,
                Owner_Id   = ownerId,
                Owner_Type = ownerType,
                Tag_Name   = tagName,
                Consignee  = new ConsigneeInfo
                {
                    Address        = address,
                    Consignee_Name = consigneeName,
                    Mobile_No      = mobileno,
                    Region_Id      = regionId,
                    Post_Code      = postCode,
                }
            };

            return(Create(shippingAddress));
        }