public ActionResult Manage(int id) { if (!repository.Characters.Any(c => c.Id == id)) { ViewBag.Error = "Такого персонажа не существует!"; return(View(GetChoosenChsViewModels())); } var price = repository.Characters.First(c => c.Id == id).Price; var cart = cartProvider.GetCart(this); if (cart.CharacterIds.Contains(id)) { ViewBag.Error = "Вы уже проголосовали за этого участника!"; return(View(GetChoosenChsViewModels())); } if (cart.Points < price) { ViewBag.Error = "У вас недостаточно очков!"; return(View(GetChoosenChsViewModels())); } cart.Points -= price; cart.CharacterIds.Add(id); //return View(GetChoosenChsViewModels()); return(PartialView("CartInfo", cart)); }
/// <summary> /// Get the current cart and domain categories. /// </summary> public JsonResult GetCart() { var cart = cartProvider.GetCart(); return(JsonEnvelope.Success(new { Cart = new CartModel(cart), DomainCategories = domainsProvider.GetDomainCategories() })); }
public ActionResult Index() { // Make sure cart is properly calculated. var cart = cartProvider.GetCart(); cartPricingService.CalculatePricing(cart); // If VAT number was submitted, indicate a VAT check should be made ViewBag.CheckVAT = !String.IsNullOrEmpty(vatDataProvider.VatNumber); var model = DependencyResolver.Current.GetService <CheckoutViewModel>(); return(View(model)); }
public ViewResult Index(int page = 1, FilterBy filter = FilterBy.NoFilter, string substring = null) { ViewBag.substring = substring; ViewBag.filter = filter; var characters = repository.Characters .Where(FilterModels.Filters[filter]) .ToArray(); if (!string.IsNullOrEmpty(substring)) { characters = characters.Where(c => c.Name.Contains(substring)).ToArray(); } var charterersOnPage = characters .Skip((page - 1) * PageSize) .Take(PageSize) .Select(c => new CharacterViewModel { Character = c, VoteType = CartHelpers.GetVoteTypeForCharacter(c, cartProvider.GetCart(this)) }) .ToArray(); CharactersListViewModel model = new CharactersListViewModel { Characters = charterersOnPage, PagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = characters.Length } }; return(View(model)); }
private void ValidateCart() { var cart = cartProvider.GetCart(); if (cart.IsEmpty()) { this.validationErrors.Add(resourceProvider.GetResource("OrderFlowValidation_CartIsEmpty")); } }
private Cart GetCart() { Cart cart = cartProvider.GetCart(this); if (cart == null) { cart = new Cart(); cartProvider.SetCart(this, cart); } return(cart); }
public ActionResult Index() { // Make sure cart is properly calculated. var cart = cartProvider.GetCart(); cartPricingService.CalculatePricing(cart); // If VAT number was submitted, indicate a VAT check should be made ViewBag.CheckVAT = !string.IsNullOrEmpty(vatDataProvider.VatNumber); if (RecaptchaHelper.IsRecaptchaEnabled()) { ViewBag.RecaptchaEnabled = true; ViewBag.RecaptchaSiteKey = RecaptchaHelper.GetSiteKey(); } var model = DependencyResolver.Current.GetService <CheckoutViewModel>(); ViewData["formHasErrors"] = false; return(View(model)); }
public ActionResult Index(SelectSingleModel model) { if (ModelState.IsValid) { var cart = cartProvider.GetCart(); try { cart.AddItem(model.CartItem); } catch (Exception) { // Broadly catch and ignore exceptions to avoid interuption to user from faulty external forms. } if (model.CartCustomAttributes != null) { foreach (var attr in model.CartCustomAttributes) { cart.SetCustomAttribute(attr.Name, attr.Value); } } if (!string.IsNullOrEmpty(model.Campaign)) { cart.SetCampaignCode(model.Campaign); } if (!string.IsNullOrEmpty(model.Next)) { return(Redirect(model.Next)); } } return(RedirectToRoute("OrderFlowStart")); }
/// <summary> /// Get terms of service for products in current cart from resource provider. /// Terms of service name should have key "{id}_Name", and description should have key "{id}_Description". /// </summary> /// <returns>The terms of service applicable to products in current cart.</returns> public IEnumerable <TermsOfService> GetTermsOfService() { var termsOfService = new HashSet <TermsOfService>(); var cart = cartProvider.GetCart(); var articleNumbers = new HashSet <string>(cart.CartItems.Select(c => c.ArticleNumber)); var isReseller = resellerProvider.GetReseller().IsSubReseller; var tosResources = new HashSet <string>(); foreach (var articleNumber in articleNumbers) { var product = productProvider.GetProduct(articleNumber); if (product != null) { string tosNoSplit = null; if (isReseller && product.CustomAttributes.Any(ca => ca.Name == "resellertos")) { tosNoSplit = product.CustomAttributes.First(ca => ca.Name == "resellertos").Value; } else if (product.CustomAttributes.Any(ca => ca.Name == "tos")) { tosNoSplit = product.CustomAttributes.First(ca => ca.Name == "tos").Value; } if (!string.IsNullOrEmpty(tosNoSplit)) { tosResources.UnionWith(tosNoSplit.Split('|')); } } } foreach (var resource in tosResources) { termsOfService.Add(new TermsOfService { Id = resource, Name = resourceProvider.GetResource(resource + "_Name"), Terms = resourceProvider.GetResource(resource + "_Terms"), Link = resourceProvider.GetResource(resource + "_Link") }); } return(termsOfService); }
private ICart <UserOrder> GetCart() { return(_provider.GetCart()); }
public ViewResult List(int?page) { page = page ?? 1; ViewBag.Action = "List"; ViewBag.Points = cartProvider.GetCart(this).Points; var userId = userProvider.GetUser(this).Identity.GetUserId(); return(View(charactersRepository.Items.ToEnumerable().Select(x => new CharacterViewModel { CanVote = !WeeklyVoted(userId) && cartProvider.GetCart(this).Points >= x.Cost, IsVoted = cartProvider.GetCart(this).Votes.Contains(x.Id), WeeklyVoted = WeeklyVoted(userId), Character = x }).ToPagedList(page.Value, PageSize))); }