public ActionResult UploadLicenseFilePopup(int id, int opvId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders)) return AccessDeniedView(); var order = _orderService.GetOrderById(id); if (order == null) //No order found with the specified id return RedirectToAction("List"); var orderProductVariant = order.OrderProductVariants.Where(x => x.Id == opvId).FirstOrDefault(); if (orderProductVariant == null) throw new ArgumentException("No order product variant found with the specified id"); if (!orderProductVariant.ProductVariant.IsDownload) throw new ArgumentException("Product variant is not downloadable"); var model = new OrderModel.UploadLicenseModel() { LicenseDownloadId = orderProductVariant.LicenseDownloadId.HasValue ? orderProductVariant.LicenseDownloadId.Value : 0, OrderId = order.Id, OrderProductVariantId = orderProductVariant.Id }; return View(model); }
public ActionResult UploadLicenseFilePopup(int id, int orderItemId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders)) return AccessDeniedView(); var order = _orderService.GetOrderById(id); if (order == null) //No order found with the specified id return RedirectToAction("List"); var orderItem = order.OrderItems.FirstOrDefault(x => x.Id == orderItemId); if (orderItem == null) throw new ArgumentException("No order item found with the specified id"); if (!orderItem.Product.IsDownload) throw new ArgumentException("Product is not downloadable"); //ensure a vendor has access only to his products if (_workContext.CurrentVendor != null && !HasAccessToOrderItem(orderItem)) return RedirectToAction("List"); var model = new OrderModel.UploadLicenseModel() { LicenseDownloadId = orderItem.LicenseDownloadId.HasValue ? orderItem.LicenseDownloadId.Value : 0, OrderId = order.Id, OrderItemId = orderItem.Id }; return View(model); }