Esempio n. 1
0
        public async Task <string> BuySnacks(SnackModel snack, int quantity)
        {
            var actualStock = snack.snackQuantity;

            if (actualStock < quantity)
            {
                return(await Task.Run(() => "The quantity exceeds the actual stock:" + actualStock));
            }
            var newStock = actualStock - quantity;

            snack.snackQuantity = newStock;
            await _snackRepository.UpdateSnack(snack);

            return(await Task.Run(() => "Sucess purchase"));
        }
        public async Task <string> LikeSnacks(SnackModel snack)
        {
            var likes = snack.snackLikes;

            if (likes >= 1)
            {
                snack.snackLikes--;
            }
            else
            {
                snack.snackLikes++;
            }

            await _snackRepository.UpdateSnack(snack);

            return(await Task.Run(() => "success like"));
        }
        public async Task <IActionResult> Post(CreateSnackDTO obj)
        {
            List <string> errorList = new List <string>();
            var           newSnack  = new SnackModel()
            {
                snackName     = obj.name,
                snackPrice    = obj.price,
                snackQuantity = obj.quantity,
            };

            var result = _entityToValidate.Validate(newSnack);

            if (!result.IsValid)
            {
                foreach (var error in result.Errors)
                {
                    errorList.Add(error.ToString());
                }
                return(BadRequest(errorList));
            }
            await _repoSnack.CreateSnack(newSnack);

            return(Ok());
        }