Example #1
0
    /// <summary>
    /// 刷新购买限制
    /// </summary>
    /// <param name="shopId"></param>
    /// <param name="buyAmount"></param>
    /// <param name="curStoreDefine"></param>
    public void RefreshBuyLimit(int shopId, int buyAmount, StoreDefine curStoreDefine)
    {
        var curLimitInfo = listGoodsInfoStruct.Find((elem) => elem.ShopId == shopId);

        if (curLimitInfo != null)
        {
            if (curStoreDefine.PurchaseNumLimit > 0)
            {
                curLimitInfo.PermanentBuyNum += buyAmount;
            }
            if (curStoreDefine.DailyPurchaseNum > 0)
            {
                curLimitInfo.TodayBuyNum += buyAmount;
            }
        }
        else
        {
            GoodsInfoStruct newGoodsInfoStruct = new GoodsInfoStruct()
            {
                ShopId = shopId
            };
            if (curStoreDefine.PurchaseNumLimit > 0)
            {
                newGoodsInfoStruct.PermanentBuyNum += buyAmount;
            }
            if (curStoreDefine.DailyPurchaseNum > 0)
            {
                newGoodsInfoStruct.TodayBuyNum += buyAmount;
            }
            listGoodsInfoStruct.Add(newGoodsInfoStruct);
        }
    }
Example #2
0
    private List <string> GetDailyBuyLimitInfo(GoodsInfoStruct curLimitInfo)
    {
        List <string> listStr = new List <string>();

        //"今日限购"的多语言;
        listStr.Add(LocalizationDefineHelper.GetStringNameById(120073));
        if (curLimitInfo != null)
        {
            if (curLimitInfo.TodayBuyNum >= curStoreDefine.DailyPurchaseNum)
            {
                listStr.Add(curStoreDefine.DailyPurchaseNum.ToString());
            }
            else
            {
                listStr.Add(curLimitInfo.TodayBuyNum.ToString());
            }
        }
        else
        {
            listStr.Add("0");
        }
        listStr.Add(curStoreDefine.DailyPurchaseNum.ToString());
        return(listStr);
    }
Example #3
0
    private void GetGoodLimitStr()
    {
        //判定全局限购
        GoodsInfoStruct curLimitInfo     = uiShopComponent.listGoodsInfoStruct.Find((elem) => elem.ShopId == curStoreDefine.ShopId);
        string          limitStrStart    = "";
        string          limitStrCurNum   = "";
        string          limitStrTotalNum = "";

        do
        {
            //既有每日限购又有全局限购
            if (curStoreDefine.PurchaseNumLimit > 0 && curStoreDefine.DailyPurchaseNum > 0)
            {
                //全局限购已满
                if (curLimitInfo != null && curLimitInfo.PermanentBuyNum >= curStoreDefine.PurchaseNumLimit)
                {
                    //"限购"的多语言;
                    limitStrStart    = LocalizationDefineHelper.GetStringNameById(120072);
                    limitStrCurNum   = curStoreDefine.PurchaseNumLimit.ToString();
                    limitStrTotalNum = curStoreDefine.PurchaseNumLimit.ToString();
                    break;
                }
                List <string> listStr = GetDailyBuyLimitInfo(curLimitInfo);
                limitStrStart    = listStr[0];
                limitStrCurNum   = listStr[1];
                limitStrTotalNum = listStr[2];
            }
            //只有每日限购
            if (curStoreDefine.PurchaseNumLimit == 0 && curStoreDefine.DailyPurchaseNum > 0)
            {
                //"今日限购"的多语言;
                limitStrStart = LocalizationDefineHelper.GetStringNameById(120073);
                List <string> listStr = GetDailyBuyLimitInfo(curLimitInfo);
                limitStrStart    = listStr[0];
                limitStrCurNum   = listStr[1];
                limitStrTotalNum = listStr[2];
                break;
            }
            //只有全局限购
            if (curStoreDefine.PurchaseNumLimit > 0 && curStoreDefine.DailyPurchaseNum == 0)
            {
                //"限购"的多语言;
                limitStrStart    = LocalizationDefineHelper.GetStringNameById(120072);
                limitStrTotalNum = curStoreDefine.PurchaseNumLimit.ToString();
                if (curLimitInfo != null)
                {
                    if (curLimitInfo.PermanentBuyNum >= curStoreDefine.PurchaseNumLimit)
                    {
                        limitStrCurNum = curStoreDefine.PurchaseNumLimit.ToString();
                    }
                    else
                    {
                        limitStrCurNum = curLimitInfo.PermanentBuyNum.ToString();
                    }
                }
                else
                {
                    limitStrCurNum = "0";
                }
            }
        } while (false);
        int.TryParse(limitStrCurNum, out int limitStrCurNumInt);
        int.TryParse(limitStrTotalNum, out int limitStrTotalNumInt);
        limitStr = limitStrStart + limitStrCurNum + "/" + limitStrTotalNum;
        if (limitStr.Length > 1)
        {
            todayBuyLimit = limitStrTotalNumInt - limitStrCurNumInt;
        }
        else
        {
            todayBuyLimit = 99;
        }
    }