public ActionResult Configure(int discountId, int? discountRequirementId) { var discount = _discountService.GetDiscountById(discountId); if (discount == null) throw new ArgumentException("Discount could not be loaded"); DiscountRequirement discountRequirement = null; if (discountRequirementId.HasValue) { discountRequirement = discount.DiscountRequirements.Where(dr => dr.Id == discountRequirementId.Value).FirstOrDefault(); if (discountRequirement == null) return Content("Failed to load requirement."); } var model = new RequirementModel(); model.RequirementId = discountRequirementId.HasValue ? discountRequirementId.Value : 0; model.DiscountId = discountId; //countries model.AvailableCustomerRoles.Add(new SelectListItem() { Text = "Select customer role", Value = "0" }); foreach (var cr in _customerService.GetAllCustomerRoles(true)) model.AvailableCustomerRoles.Add(new SelectListItem() { Text = cr.Name, Value = cr.Id.ToString(), Selected = discountRequirement != null && cr.Id == discountRequirement.RestrictedToCustomerRoleId }); //add a prefix ViewData.TemplateInfo.HtmlFieldPrefix = string.Format("DiscountRulesCustomerRoles{0}", discountRequirementId.HasValue ? discountRequirementId.Value.ToString() : "0"); return View("Nop.Plugin.DiscountRules.CustomerRoles.Views.DiscountRulesCustomerRoles.Configure", model); }
public ActionResult Configure(int discountId, int? discountRequirementId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageDiscounts)) return Content("Access denied"); var discount = _discountService.GetDiscountById(discountId); if (discount == null) throw new ArgumentException("Discount could not be loaded"); DiscountRequirement discountRequirement = null; if (discountRequirementId.HasValue) { discountRequirement = discount.DiscountRequirements.FirstOrDefault(dr => dr.Id == discountRequirementId.Value); if (discountRequirement == null) return Content("Failed to load requirement."); } var restrictedToCustomerRoleId = _settingService.GetSettingByKey<int>(string.Format("DiscountRequirement.MustBeAssignedToCustomerRole-{0}", discountRequirementId.HasValue ? discountRequirementId.Value : 0)); var model = new RequirementModel(); model.RequirementId = discountRequirementId.HasValue ? discountRequirementId.Value : 0; model.DiscountId = discountId; model.CustomerRoleId = restrictedToCustomerRoleId; //countries model.AvailableCustomerRoles.Add(new SelectListItem() { Text = "Select customer role", Value = "0" }); foreach (var cr in _customerService.GetAllCustomerRoles(true)) model.AvailableCustomerRoles.Add(new SelectListItem() { Text = cr.Name, Value = cr.Id.ToString(), Selected = discountRequirement != null && cr.Id == restrictedToCustomerRoleId }); //add a prefix ViewData.TemplateInfo.HtmlFieldPrefix = string.Format("DiscountRulesCustomerRoles{0}", discountRequirementId.HasValue ? discountRequirementId.Value.ToString() : "0"); return View("Nop.Plugin.DiscountRules.CustomerRoles.Views.DiscountRulesCustomerRoles.Configure", model); }