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); }
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); }