public async Task <IActionResult> Submit([FromBody] SubmitOrder o) { int.TryParse(User.FindFirstValue("Id"), out var accId); o.AccountId = accId; o.ShippingInfo = await _acctSvc.GetAddressById(o.AddressId); o.PaymentInfo = await _acctSvc.GetPaymentInfoById(o.PaymentId); o.Currency = Site.StoreSettings.Currency; o.Tax = Site.StoreSettings.Tax; if (!o.IsValidForSubmit()) { return(BadRequest()); } await _oSvc.Submit(o); return(Ok(o.Number)); }