using Microsoft.AspNetCore.Mvc; using System.Net; using System.Net.Http; using CVRLIB.CARTS; using static CVRLIB.CVSTRINGS.TextFuncs; using Newtonsoft.Json; using CVRLIB; namespace VSERVERWS.Controllers { //https://vserverws.cvr.cvrco.ca/api/cart/CartStatus [Route("api/Cart/[action]")] [ApiController] public class CartController : ControllerBase { [HttpGet] public IActionResult CartStatus() { var rOBJ = new { STATUS = "OK" }; return new JsonResult(rOBJ); } [HttpPost] public async Task SubmitCartData([FromBody] byte[] data) { var JSON = await NonSecureDecryptByteAToStringAsync(data); var rOBJ = new TryCartOperationResult(); try { var tCART = JsonConvert.DeserializeObject(JSON); if (tCART != null) { tCART.TrySyncToInventory(CVGlobal.INVENTORY); await tCART.SaveToDBAsync(); rOBJ.AddResult(true, "CART_SAVE_TO_DB"); } else { rOBJ.AddResult(false, "CONVERT_TO_JSON", "Failed to convert to json from byte data."); } } catch (Exception ex) { rOBJ.AddResult(false, "CART_SAVE_TRY", ex.Message, ex); } //return new result return new JsonResult(rOBJ); } } }