using BusinessLogic.BusinessLogic; using Contracts.BusinessLogicContracts; using Contracts.SearchModels; using Contracts.ViewModels; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using System.Reflection; using WebApp.Helpers; namespace WebApp.Pages.User { [Authorize(Roles = Roles.User)] public class PurchasesModel : PageModel { public List purchaseViewModels { get; set; } public UserViewModel userViewModel { get; set; } public BillViewModel billViewModel { get; set; } [BindProperty] public PurchaseSearchModel purchaseSearchModel { get; set; } public void OnGet(DateTime? datefrom, DateTime? dateto) { var UserId = this.GetUserId(); if (UserId is null) { return; } userViewModel = APIClient.GetRequest($"user/get?id={UserId}"); string request = "Purchase/GetList"; request += $"?userid={UserId}&"; if (datefrom != null) request += $"?datefrom={datefrom}&"; if (dateto != null) request += $"?datefrom={dateto}&"; purchaseViewModels = APIClient.GetRequest>(request); } public void OnGetStatistics() { } public void SendBill() { } public void OnPostSendBill(Guid id) { var UserId = this.GetUserId(); if (UserId is null) { OnGet(null, null); } userViewModel = APIClient.GetRequest($"user/get?id={UserId}"); var purchase = APIClient.GetRequest($"purchase/get?id={id}"); var products = APIClient.GetRequest>($"purchase/getproducts?purchaseid={id}"); billViewModel = new BillViewModel(); billViewModel.UserId = new Guid(this.GetUserId()); billViewModel.PurchaseId = id; billViewModel.Products = products; billViewModel.Count = purchase.ProductCount; billViewModel.Cost = purchase.Cost; billViewModel.DateCreated = purchase.DateCreated; billViewModel.UserFirstName = userViewModel.FirstName; billViewModel.UserLastName = userViewModel.SecondName; billViewModel.UserEmail = userViewModel.Email; APIClient.PostRequest($"purchase/createbill", billViewModel); OnGet(null, null); } } }