示例#1
0
        public ActionResult TopMedia(PayTopMeidaViewModel model)
        {
            ViewBag.MenuItem = "gztvip-paytop";

            ServiceResult result = new ServiceResult();

            var server = serverItemService.Find(model.TopID);

            var money = member_MoneyService.GetMemberMoney(CookieHelper.MemberID);

            var dayCount = model.TopTime.Split(',').Length;

            var totalPrice = Convert.ToInt32((server.Price * dayCount * model.Discount / 10));

            if (money < totalPrice)
            {
                result.AddServiceError("您当前剩余广知币不足已支付。当前" + money + "个,支付需要" + totalPrice + "个");
            }
            ViewBag.Money = money;

            List<TopLimitModel> topLimit = topMediaService.GetTopSourceLimit(30);

            for (var i = 0; i < model.TopTime.Split(',').Length; i++)
            {
                var topitem = model.TopTime.Split(',')[i];

                if (topLimit.Any(x => x.Time.Equals(topLimit)))
                {
                    var limit = topLimit.Single(x => x.Time.Equals(topLimit));

                    if (limit.Count >= 8)
                    {
                        result.AddServiceError(topitem + "的置顶已达到最大数,请选择其他日期。");
                    }
                }
            }

            if (result.Success)
            {

                List<TopMedia> payModel = new List<TopMedia>();

                var media = outDoorService.IncludeCategoryFind(model.MediaID.Value);

                for (var i = 0; i < model.TopTime.Split(',').Length; i++)
                {
                    var topTime = Convert.ToDateTime(model.TopTime.Split(',')[i]);

                    TopMedia payItem = new TopMedia()
                    {
                        MediaID = model.MediaID.Value,
                        TopTime = topTime,
                        MemberID = CookieHelper.MemberID
                    };

                    payItem.IsQuanGuo = server.IsQuanGuo;

                    payItem.IsByCategory = server.IsByCategory;

                    payItem.IsByChildCategory = server.IsByChildCategory;

                    payItem.ProvinceCode = media.Area.PCategory.ID;

                    payItem.CategoryCode = media.MeidaCode;

                    payItem.PCategoryCode = media.OutDoorMediaCate.PCategory.ID;

                    payModel.Add(payItem);
                }

                var excuteresult = topMediaService.PayTopMedia(payModel, totalPrice);

                if (!excuteresult.Success)
                {
                    result.AddServiceError("置顶失败!");
                }

            }
            else
            {
                ViewBag.CheckErr = result;
            }
            result.Message = "置顶" + (result.Success ? "成功!" : "失败!");

            TempData["Service_Result"] = result;

            if (result.Success)
            {
                return RedirectToAction("OpenOK");
            }
            var vip = member_VIPService.GetMemberVIP(CookieHelper.MemberID, true);

            ViewBag.VIP = vip;

            ViewBag.Server = server;

            return View(model);
        }
示例#2
0
        public ActionResult TopMedia(int id)
        {
            ViewBag.MenuItem = "gztvip-paytop";

            var server = serverItemService.Find(id);

            if (server == null)
            {
                return HttpNotFound();
            }

            ViewBag.Server = server;

            var vip = member_VIPService.GetMemberVIP(CookieHelper.MemberID, true);

            ViewBag.VIP = vip;

            var money = member_MoneyService.GetMemberMoney(CookieHelper.MemberID);

            ViewBag.Money = money;

            PayTopMeidaViewModel topMedia = new PayTopMeidaViewModel()
            {
                TopID = server.ID,
                Price = server.Price,
                TopName = server.Name
            };

            if (vip == null)
            {
                topMedia.Discount = 10;
            }
            else if (vip.VipLevel == (int)ServerType.NomarlVIPServer)
            {
                topMedia.Discount = server.VipDiscount;
            }
            else if (vip.VipLevel == (int)ServerType.SuperVIPServer)
            {
                topMedia.Discount = server.VipDiscount2;
            }

            #region  GetTopMediaSource

            List<TopLimitModel> topLimit = topMediaService.GetTopSourceLimit(30);

            List<CustomSelectListItem> select = new List<CustomSelectListItem>();

            var startTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day).AddDays(1);

            for (var i = 0; i < 30; i++)
            {

                var day = startTime.AddDays(i);

                var dayString = day.ToString("yyyy-MM-dd");

                if (topLimit.Any(x => x.Time.Equals(dayString)))
                {
                    var limit = topLimit.Single(x => x.Time.Equals(dayString));

                    var limitStr = Convert.ToDateTime(limit.Time).ToString("MM-dd");

                    if (limit.Count >= 8)
                    {
                        select.Add(new CustomSelectListItem()
                        {
                            Disabled = true,
                            Text = limitStr + " (已售)",
                            Value = limit.Time
                        });
                    }
                    else
                    {
                        select.Add(new CustomSelectListItem()
                        {
                            Text = limitStr,
                            Value = limit.Time
                        });
                    }
                }
                else
                {
                    select.Add(new CustomSelectListItem()
                    {
                        Text = day.ToString("MM-dd"),
                        Value = dayString
                    });
                }
            }

            ViewBag.Data_TopTime = select;

            #endregion

            return View(topMedia);
        }