Пример #1
0
        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)));
        }
Пример #2
0
        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());
        }