using ComputerHardwareStoreContracts.BindingModels; using ComputerHardwareStoreContracts.ViewModels; using Microsoft.AspNetCore.Mvc; using System.Xml.Linq; namespace VendorClient.Controllers { [Route("Home/[action]")] public class BuildController : Controller { private readonly ILogger _logger; private const string API_ROUTE = "api/builds"; public BuildController(ILogger logger) { _logger = logger; } [HttpGet] public IActionResult AddBuildToPurchase() { return View(); } [HttpGet] public IActionResult Builds() { if (APIClient.Vendor == null) { return Redirect("~/Home/Enter"); } return View(APIClient.GetRequest>($"{API_ROUTE}/getbuilds?userId={APIClient.Vendor.Id}")); } [HttpGet] public void BuildCreate(string buildName) { if (APIClient.Vendor == null) { throw new Exception("Вы как суда попали? Суда вход только авторизованным"); } if (string.IsNullOrEmpty(buildName)) { throw new Exception($"Имя сборки не должно быть пустым"); } APIClient.PostRequest($"{API_ROUTE}/create", new BuildBindingModel { Name = buildName, VendorId = APIClient.Vendor.Id }); Response.Redirect("~/Home/Builds"); } [HttpGet] public void BuildDelete(int id) { if (APIClient.Vendor == null) { throw new Exception("Вы как суда попали? Суда вход только авторизованным"); } if (id <= 0) { throw new Exception($"Идентификатор сборки не может быть ниже или равен 0"); } APIClient.PostRequest("api/build/DeleteBuild", new BuildBindingModel { Id = id }); Response.Redirect("~/Home/Builds"); } [HttpGet] public void BuildUpdate(string buildName, int buildId) { if (APIClient.Vendor == null) { throw new Exception("Вы как суда попали? Суда вход только авторизованным"); } if (string.IsNullOrEmpty(buildName)) { throw new Exception($"Имя сборки не должно быть пустым"); } if (buildId <= 0) { throw new Exception($"Идентификатор сборки не может быть ниже или равен 0"); } APIClient.PostRequest($"{API_ROUTE}/update", new BuildBindingModel { Id = buildId, Name = buildName }); Response.Redirect("~/Home/Builds"); } } }