PIAPS_CW/WebApp/Pages/User/Purchases.cshtml.cs

83 lines
2.6 KiB
C#
Raw Normal View History

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<PurchaseViewModel> 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<UserViewModel>($"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<List<PurchaseViewModel>>(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<UserViewModel>($"user/get?id={UserId}");
var purchase = APIClient.GetRequest<PurchaseViewModel>($"purchase/get?id={id}");
var products = APIClient.GetRequest<List<ProductViewModel>>($"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);
}
}
}