Beispiel #1
0
        /// <summary>
        /// 根据子区域Id,获取整个层级的区域名
        /// </summary>
        /// <param name="model">查询模型</param>
        /// <param name="languageID">语言Id</param>
        /// <returns></returns>
        public ResultModel GetSingleTierAreaNames(SearchUserAddressModel model, int languageID)
        {
            dynamic one, two, three, langOne, langTwo, langThree, langFour;
            var     area   = _database.Db.THArea;
            var     result = new ResultModel();
            dynamic record = area.All()
                             .LeftJoin(_database.Db.THArea.As("t1"), out one).On(one.THAreaID == area.THAreaID)
                             .LeftJoin(_database.Db.THArea.As("t2"), out two).On(two.THAreaID == one.ParentID)
                             .LeftJoin(_database.Db.THArea.As("t3"), out three).On(three.THAreaID == two.ParentID)
                             .LeftJoin(_database.Db.THArea_lang.As("l1"), out langOne)
                             .On(langOne.THAreaID == one.ParentID && langOne.LanguageID == languageID)
                             .LeftJoin(_database.Db.THArea_lang.As("l2"), out langTwo)
                             .On(langTwo.THAreaID == two.ParentID && langTwo.LanguageID == languageID)
                             .LeftJoin(_database.Db.THArea_lang.As("l3"), out langThree)
                             .On(langThree.THAreaID == area.THAreaID && langThree.LanguageID == languageID)
                             .LeftJoin(_database.Db.THArea_lang.As("l4"), out langFour)
                             .On(langFour.THAreaID == three.ParentID && langFour.LanguageID == languageID)
                             .Where(one.THAreaID == model.THAreaID)
                             .Select(langTwo.AreaName.As("ShengAreaName"), langOne.AreaName.As("ShiAreaName"),
                                     langThree.AreaName.As("QuAreaName"), langFour.AreaName.As("CountryAreaName")).FirstOrDefault();

            Dictionary <string, string> areas = new Dictionary <string, string>();

            areas.Add("Country", record.CountryAreaName);
            areas.Add("Sheng", record.ShengAreaName);
            areas.Add("Shi", record.ShiAreaName);
            areas.Add("Qu", record.QuAreaName);
            result.Data    = areas;
            result.IsValid = true;
            return(result);
        }
Beispiel #2
0
        public void GetUserAllAddress_Test()
        {
            SearchUserAddressModel model = new SearchUserAddressModel()
            {
                UserID = 116070
            };
            int languageID = 1;
            var result     = _userAddressService.GetUserAllAddress(model, languageID);

            Assert.IsTrue(result.IsValid);
            Assert.NotNull(result.Data);
        }
Beispiel #3
0
        /// <summary>
        /// 分页获取收获地址列表
        /// zhoub 20150716
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ResultModel GetPagingUserAddress(SearchUserAddressModel model, int languageID)
        {
            dynamic one, two, three, langOne, langTwo, langThree, langFour;
            var     user = _database.Db.UserAddress;

            var result = new ResultModel
            {
                Data = new SimpleDataPagedList <UserAddress>(user.All()
                                                             .LeftJoin(_database.Db.THArea.As("t1"), out one).On(one.THAreaID == _database.Db.UserAddress.THAreaID)
                                                             .LeftJoin(_database.Db.THArea.As("t2"), out two).On(two.THAreaID == one.ParentID)
                                                             .LeftJoin(_database.Db.THArea.As("t3"), out three).On(three.THAreaID == two.ParentID)
                                                             .LeftJoin(_database.Db.THArea_lang.As("l1"), out langOne).On(langOne.THAreaID == one.ParentID && langOne.LanguageID == languageID)
                                                             .LeftJoin(_database.Db.THArea_lang.As("l2"), out langTwo).On(langTwo.THAreaID == two.ParentID && langTwo.LanguageID == languageID)
                                                             .LeftJoin(_database.Db.THArea_lang.As("l3"), out langThree).On(langThree.THAreaID == user.THAreaID && langThree.LanguageID == languageID)
                                                             .LeftJoin(_database.Db.THArea_lang.As("l4"), out langFour).On(langFour.THAreaID == three.ParentID && langFour.LanguageID == languageID)
                                                             .Select(_database.Db.UserAddress.UserAddressId, _database.Db.UserAddress.UserID, _database.Db.UserAddress.Receiver, _database.Db.UserAddress.DetailsAddress, _database.Db.UserAddress.PostalCode, _database.Db.UserAddress.Mobile, _database.Db.UserAddress.Phone, _database.Db.UserAddress.Flag, _database.Db.UserAddress.Email, langOne.AreaName.As("ShiAreaName"), langTwo.AreaName.As("ShengAreaName"), _database.Db.UserAddress.THAreaID, langThree.AreaName.As("QuAreaName"), langFour.AreaName.As("CountryTHAreaName"))
                                                             .Where(user.UserID == model.UserID).OrderByDescending(user.Flag).OrderBy(user.UserAddressId), model.PagedIndex, model.PagedSize)
            };

            return(result);
        }