using Contracts.BindingModels; using Contracts.ViewModels; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace WebApp.Pages { public class ProductPageModel : PageModel { public PurchaseViewModel purchaseModel { get; set; } public ProductViewModel productModel { get; set; } public MediaFileViewModel mediaFileModel { get; set; } public Dictionary> MediaByProductsModel { get; set; } public int Amount { get; set; } // Свойство для хранения количества товара public void OnGet(Guid id) { productModel = APIClient.GetRequest($"Product/GetProduct?id={id}"); } public byte[] GetMediaByProduct(ProductViewModel productModel) { MediaByProductsModel = APIClient.GetRequest>>($"MediaFile/GetByProducts"); MediaByProductsModel.TryGetValue(productModel.Id, out List models); return models[0].Image; } public IActionResult OnPostAsync(Guid id, int count) { Amount = count; if (purchaseModel == null) { var model = new PurchaseBindingModel() { Cost = 0, DatePurchase = DateTime.Now, Status = 0, UserId = new Guid(this.GetUserId()) }; //purchaseModel = APIClient.PostRequest($"Purchase/Create", model); } APIClient.GetRequest($"Purchase/AddProducts?purchaseId={purchaseModel.Id}?productId={id}?count={count}"); return RedirectToPage("Cart"); } } }