public async Task <IActionResult> Add([FromBody] InputOrder input) { var currentCustomer = await _currentUser.GetCurrentUser(); if (currentCustomer == null) { return(Unauthorized()); } var package = await _context.Packages.FindAsync(input.PackageId); if (package == null) { return(NotFound()); } if (!IsValidQuantity(input.ImageQuantity, package)) { return(BadRequest("Invalid quantity")); } var price = CalculatePrice(package, input.ImageQuantity); Order order = input.ToModel(currentCustomer, package, price); await _context.Orders.AddAsync(order); await _context.SaveChangesAsync(); return(Ok(await _handler.OutputFor(order))); }
public async Task <IActionResult> Greet(CancellationToken token = default) { var employee = await _currentUserInfo.GetCurrentEmployee(token); if (employee != null) { return(Ok(_outputHandler.OutputFor(employee))); } var user = await _currentUserInfo.GetCurrentUser(token); if (user != null) { return(Ok(_outputHandler.OutputFor(user))); } return(Unauthorized()); }