Exemplo n.º 1
0
        /// <summary>
        /// 礼品详情
        /// </summary>
        /// <returns></returns>
        public ActionResult Detail(long id)
        {
            GiftDetailPageModel result = new Models.GiftDetailPageModel();
            var data = _iGiftService.GetById(id);

            if (data == null)
            {
                throw new HimallException("礼品信息无效!");
            }
            Mapper.CreateMap <GiftInfo, GiftModel>();
            result.GiftData = Mapper.Map <GiftModel>(data);

            int       hotnum = 10;
            GiftQuery query  = new GiftQuery();

            query.skey     = "";
            query.status   = GiftInfo.GiftSalesStatus.Normal;
            query.PageSize = hotnum;
            query.PageNo   = 1;
            query.Sort     = "SalesNumber";
            query.IsAsc    = false;
            QueryPageModel <GiftModel> hotgifts = _iGiftService.GetGifts(query);

            result.HotGifts = hotgifts.Models.ToList();

            #region 礼品是否可兑
            result.GiftCanBuy = true;
            //礼品信息
            if (result.GiftCanBuy)
            {
                if (result.GiftData.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal)
                {
                    result.GiftCanBuy   = false;
                    result.CanNotBuyDes = "礼品" + result.GiftData.ShowSalesStatus;
                    if (result.GiftData.GetSalesStatus == GiftInfo.GiftSalesStatus.HasExpired)
                    {
                        result.CanNotBuyDes = "活动已结束";//统一app名称而加
                    }
                }
            }

            if (result.GiftCanBuy)
            {
                //库存判断
                if (result.GiftData.StockQuantity < 1)
                {
                    result.GiftCanBuy   = false;
                    result.CanNotBuyDes = "已兑完";
                }
            }

            if (result.GiftCanBuy)
            {
                //积分数
                if (result.GiftData.NeedIntegral < 1)
                {
                    result.GiftCanBuy   = false;
                    result.CanNotBuyDes = "礼品信息错误";
                }
            }
            #endregion

            #region 用户信息判断

            if (result.GiftCanBuy && CurrentUser != null)
            {
                //限购数量
                if (result.GiftData.LimtQuantity > 0)
                {
                    int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id);
                    if (ownbuynumber >= result.GiftData.LimtQuantity)
                    {
                        result.GiftCanBuy   = false;
                        result.CanNotBuyDes = "限兑数量已满";
                    }
                }
                if (result.GiftCanBuy)
                {
                    var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
                    if (userInte.AvailableIntegrals < result.GiftData.NeedIntegral)
                    {
                        result.GiftCanBuy   = false;
                        result.CanNotBuyDes = "积分不足";
                    }
                }
            }
            #endregion

            ViewBag.Keyword = SiteSettings.Keyword;
            return(View(result));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 礼品详情
        /// </summary>
        /// <returns></returns>
        public ActionResult Detail(long id)
        {
            GiftDetailPageModel result = new Models.GiftDetailPageModel();

            result.GiftData = _iGiftService.GetById(id);
            if (result.GiftData == null)
            {
                throw new HimallException("礼品信息无效!");
            }
            int       hotnum = 10;
            GiftQuery query  = new GiftQuery();

            query.skey     = "";
            query.status   = GiftInfo.GiftSalesStatus.Normal;
            query.PageSize = hotnum;
            query.PageNo   = 1;
            query.Sort     = GiftQuery.GiftSortEnum.SalesNumber;
            query.IsAsc    = false;
            ObsoletePageModel <GiftModel> hotgifts = _iGiftService.GetGifts(query);

            result.HotGifts = hotgifts.Models.ToList();

            #region 礼品是否可兑
            result.GiftCanBuy = true;
            //礼品信息
            if (result.GiftCanBuy)
            {
                if (result.GiftData.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal)
                {
                    result.GiftCanBuy = false;
                }
            }

            if (result.GiftCanBuy)
            {
                //库存判断
                if (result.GiftData.StockQuantity < 1)
                {
                    result.GiftCanBuy = false;
                }
            }

            if (result.GiftCanBuy)
            {
                //积分数
                if (result.GiftData.NeedIntegral < 1)
                {
                    result.GiftCanBuy = false;
                }
            }
            #endregion

            #region 用户信息判断

            if (result.GiftCanBuy && CurrentUser != null)
            {
                //限购数量
                if (result.GiftData.LimtQuantity > 0)
                {
                    int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id);
                    if (ownbuynumber >= result.GiftData.LimtQuantity)
                    {
                        result.GiftCanBuy = false;
                    }
                }
            }
            #endregion

            return(View(result));
        }