本文整理汇总了C#中System.Web.Mvc.FormCollection.CreateSelectedAttributesXml方法的典型用法代码示例。如果您正苦于以下问题:C# FormCollection.CreateSelectedAttributesXml方法的具体用法?C# FormCollection.CreateSelectedAttributesXml怎么用?C# FormCollection.CreateSelectedAttributesXml使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.Mvc.FormCollection
的用法示例。
在下文中一共展示了FormCollection.CreateSelectedAttributesXml方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UpdateProductDetails
public ActionResult UpdateProductDetails(int productId, string itemType, int bundleItemId, FormCollection form)
{
int quantity = 1;
int galleryStartIndex = -1;
string galleryHtml = null;
string dynamicThumbUrl = null;
bool isAssociated = itemType.IsCaseInsensitiveEqual("associateditem");
var pictureModel = new ProductDetailsPictureModel();
var m = new ProductDetailsModel();
var product = _productService.GetProductById(productId);
var bItem = _productService.GetBundleItemById(bundleItemId);
IList<ProductBundleItemData> bundleItems = null;
ProductBundleItemData bundleItem = (bItem == null ? null : new ProductBundleItemData(bItem));
var warnings = new List<string>();
var attributes = _productAttributeService.GetProductVariantAttributesByProductId(productId);
string attributeXml = form.CreateSelectedAttributesXml(productId, attributes, _productAttributeParser,
_localizationService, _downloadService, _catalogSettings, this.Request, warnings, true);
var areAllAttributesForCombinationSelected = _shoppingCartService.AreAllAttributesForCombinationSelected(attributeXml, product);
// quantity required for tier prices
string quantityKey = form.AllKeys.FirstOrDefault(k => k.EndsWith("EnteredQuantity"));
if (quantityKey.HasValue())
int.TryParse(form[quantityKey], out quantity);
if (product.ProductType == ProductType.BundledProduct && product.BundlePerItemPricing)
{
bundleItems = _productService.GetBundleItems(product.Id);
if (form.Count > 0)
{
foreach (var itemData in bundleItems)
{
var tempModel = _helper.PrepareProductDetailsPageModel(itemData.Item.Product, false, itemData, null, form);
}
}
}
// get merged model data
_helper.PrepareProductDetailModel(m, product, isAssociated, bundleItem, bundleItems, form, quantity);
if (bundleItem != null) // update bundle item thumbnail
{
if (!bundleItem.Item.HideThumbnail)
{
var picture = m.GetAssignedPicture(_pictureService, null, bundleItem.Item.ProductId);
dynamicThumbUrl = _pictureService.GetPictureUrl(picture, _mediaSettings.BundledProductPictureSize, false);
}
}
else if (isAssociated) // update associated product thumbnail
{
var picture = m.GetAssignedPicture(_pictureService, null, productId);
dynamicThumbUrl = _pictureService.GetPictureUrl(picture, _mediaSettings.AssociatedProductPictureSize, false);
}
else if (product.ProductType != ProductType.BundledProduct) // update image gallery
{
var pictures = _pictureService.GetPicturesByProductId(productId);
if (pictures.Count <= _catalogSettings.DisplayAllImagesNumber) // all pictures rendered... only index is required
{
var picture = m.GetAssignedPicture(_pictureService, pictures);
galleryStartIndex = (picture == null ? 0 : pictures.IndexOf(picture));
}
else
{
var allCombinationImageIds = new List<int>();
_productAttributeService
.GetAllProductVariantAttributeCombinations(product.Id)
.GetAllCombinationImageIds(allCombinationImageIds);
_helper.PrepareProductDetailsPictureModel(pictureModel, pictures, product.GetLocalized(x => x.Name), allCombinationImageIds,
false, bundleItem, m.CombinationSelected);
galleryStartIndex = pictureModel.GalleryStartIndex;
galleryHtml = this.RenderPartialViewToString("_PictureGallery", pictureModel);
}
}
#region data object
object data = new
{
Delivery = new
{
Id = 0,
Name = m.DeliveryTimeName,
Color = m.DeliveryTimeHexValue,
DisplayAccordingToStock = m.DisplayDeliveryTimeAccordingToStock
},
Measure = new
{
Weight = new { Value = m.WeightValue, Text = m.Weight },
Height = new { Value = product.Height, Text = m.Height },
Width = new { Value = product.Width, Text = m.Width },
Length = new { Value = product.Length, Text = m.Length }
},
Number = new
{
//.........这里部分代码省略.........
示例2: AddProductToOrderDetails
public ActionResult AddProductToOrderDetails(int orderId, int productId, bool adjustInventory, bool? updateTotals, FormCollection form)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
var order = _orderService.GetOrderById(orderId);
var product = _productService.GetProductById(productId);
//save order item
//basic properties
var unitPriceInclTax = decimal.Zero;
decimal.TryParse(form["UnitPriceInclTax"], out unitPriceInclTax);
var unitPriceExclTax = decimal.Zero;
decimal.TryParse(form["UnitPriceExclTax"], out unitPriceExclTax);
var quantity = 1;
int.TryParse(form["Quantity"], out quantity);
var priceInclTax = decimal.Zero;
decimal.TryParse(form["SubTotalInclTax"], out priceInclTax);
var priceExclTax = decimal.Zero;
decimal.TryParse(form["SubTotalExclTax"], out priceExclTax);
var warnings = new List<string>();
string attributes = "";
if (product.ProductType != ProductType.BundledProduct)
{
var variantAttributes = _productAttributeService.GetProductVariantAttributesByProductId(product.Id);
attributes = form.CreateSelectedAttributesXml(product.Id, variantAttributes, _productAttributeParser, _localizationService, _downloadService,
_catalogSettings, this.Request, warnings, false);
}
#region Gift cards
string recipientName = "";
string recipientEmail = "";
string senderName = "";
string senderEmail = "";
string giftCardMessage = "";
if (product.IsGiftCard)
{
foreach (string formKey in form.AllKeys)
{
if (formKey.Equals("giftcard.RecipientName", StringComparison.InvariantCultureIgnoreCase))
{
recipientName = form[formKey];
continue;
}
if (formKey.Equals("giftcard.RecipientEmail", StringComparison.InvariantCultureIgnoreCase))
{
recipientEmail = form[formKey];
continue;
}
if (formKey.Equals("giftcard.SenderName", StringComparison.InvariantCultureIgnoreCase))
{
senderName = form[formKey];
continue;
}
if (formKey.Equals("giftcard.SenderEmail", StringComparison.InvariantCultureIgnoreCase))
{
senderEmail = form[formKey];
continue;
}
if (formKey.Equals("giftcard.Message", StringComparison.InvariantCultureIgnoreCase))
{
giftCardMessage = form[formKey];
continue;
}
}
attributes = _productAttributeParser.AddGiftCardAttribute(attributes,
recipientName, recipientEmail, senderName, senderEmail, giftCardMessage);
}
#endregion
//warnings
warnings.AddRange(_shoppingCartService.GetShoppingCartItemAttributeWarnings(order.Customer, ShoppingCartType.ShoppingCart, product, attributes, quantity));
warnings.AddRange(_shoppingCartService.GetShoppingCartItemGiftCardWarnings(ShoppingCartType.ShoppingCart, product, attributes));
if (warnings.Count == 0)
{
//attributes
string attributeDescription = _productAttributeFormatter.FormatAttributes(product, attributes, order.Customer);
//save item
var orderItem = new OrderItem()
{
OrderItemGuid = Guid.NewGuid(),
Order = order,
ProductId = product.Id,
UnitPriceInclTax = unitPriceInclTax,
UnitPriceExclTax = unitPriceExclTax,
PriceInclTax = priceInclTax,
PriceExclTax = priceExclTax,
AttributeDescription = attributeDescription,
AttributesXml = attributes,
Quantity = quantity,
DiscountAmountInclTax = decimal.Zero,
DiscountAmountExclTax = decimal.Zero,
//.........这里部分代码省略.........