public string ExportProductsToXml(IList <Product> products) { var sb = new StringBuilder(); using (var stringWriter = new StringWriter(sb)) { using (var xmlWriter = new XmlTextWriter(stringWriter)) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("Root"); xmlWriter.WriteAttributeString("Version", EasyErpVersion.CurrentVersion); var categories = categoryService.GetAllCategories(); xmlWriter.WriteStartElement("Categories"); foreach (var category in categories) { xmlWriter.WriteStartElement("Category"); xmlWriter.WriteElementString("Name", string.Empty, category.Name); xmlWriter.WriteElementString("ItemNo", string.Empty, category.ItemNo); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Products"); foreach (var product in products) { var price = productPriceService.GetProductPrice(product.Id, workContext.CurrentUser.StoreId); xmlWriter.WriteStartElement("Product"); xmlWriter.WriteElementString("ProductId", string.Empty, product.Id.ToString()); xmlWriter.WriteElementString("Name", string.Empty, product.Name); xmlWriter.WriteElementString("ItemNo", string.Empty, product.ItemNo); xmlWriter.WriteElementString("ShortDescription", string.Empty, product.ShortDescription); xmlWriter.WriteElementString("FullDescription", string.Empty, product.FullDescription); xmlWriter.WriteElementString("Gtin", string.Empty, product.Gtin); xmlWriter.WriteElementString("StockQuantity", String.Empty, inventoryService.GetProductQuantity(product.Id, workContext.CurrentUser.StoreId).ToString()); xmlWriter.WriteElementString("Price", string.Empty, price.SalePrice.ToString()); xmlWriter.WriteElementString("ProductCost", string.Empty, price.CostPrice.ToString()); xmlWriter.WriteElementString("Weight", string.Empty, product.Weight.ToString()); xmlWriter.WriteElementString("Length", string.Empty, product.Length.ToString()); xmlWriter.WriteElementString("Width", string.Empty, product.Width.ToString()); xmlWriter.WriteElementString("Height", string.Empty, product.Height.ToString()); xmlWriter.WriteElementString("Published", string.Empty, product.Published.ToString()); xmlWriter.WriteElementString("CreatedOnUtc", string.Empty, product.CreatedOnUtc.ToString()); xmlWriter.WriteElementString("UpdatedOnUtc", string.Empty, product.UpdatedOnUtc.ToString()); xmlWriter.WriteElementString("Category", string.Empty, product.Category.Name); xmlWriter.WriteElementString("CategoryNo", string.Empty, product.Category.ItemNo); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); return(stringWriter.ToString()); } } }
public ActionResult ProductList(DataSourceRequest command, ProductListModel model) { if (!permissionService.Authorize(StandardPermissionProvider.GetProductList)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var categoryIds = new List <int> { model.SearchCategoryId }; var storeIds = new List <int> { 0 }; var products = productService.SearchProducts( categoryIds: categoryIds, storeIds: storeIds, keywords: model.SearchProductName, pageIndex: command.Page - 1, pageSize: command.PageSize ); var gridModel = new DataSourceResult { Data = products.Select( x => { var productModel = x.ToModel(); var price = productPriceService.GetProductPrice(model.SearchStoreId, x.Id); productModel.Price = price.SalePrice; productModel.ProductCost = price.CostPrice; productModel.FullDescription = ""; return(productModel); }), Total = products.TotalCount }; return(Json(gridModel)); } return(Json(false)); }
public Cart Get(int id) { var cart = _cartRepository.Get(id); cart.ProductsCart.ToList().ForEach((productCart) => { if (productCart.Product.Sale != null) { productCart.FinalPrice = _productPriceService.GetProductPrice(productCart); productCart.AppliedSale = productCart.Quantity * productCart.Product.Price != productCart.FinalPrice; } else { productCart.FinalPrice = productCart.Quantity * productCart.Product.Price; productCart.AppliedSale = false; } cart.Price += productCart.FinalPrice; }); return(cart); }
public ActionResult ProductList(DataSourceRequest data, OrderModel model) { if (!permissionService.Authorize(StandardPermissionProvider.GetProductList)) { return(AccessDeniedView()); } var products = productService.SearchProducts(); var gridModel = new DataSourceResult { Data = products.Select( x => new { id = x.Id, name = x.Name, price = productPriceService.GetProductPrice(workContext.CurrentUser.StoreId, x.Id).CostPrice }), Total = products.TotalCount }; return(Json(gridModel)); }