Ejemplo n.º 1
0
        public async Task <bool> CleanFridgeAsync()
        {
            IEnumerable <FridgeItem> expired = await _kitchenRepo.GetExpiredFridgeItemsAsync(DateTime.Now);

            if (!expired.Any())
            {
                return(false);
            }
            foreach (var item in expired)
            {
                await _kitchenRepo.DeleteFridgeItemAsync(item.Id);
            }
            return(true);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> DeleteAsync(
            [FromRoute] int id,
            [FromServices] AuthInfoService authInfo)
        {
            var item = await _kitchenRepo.GetFridgeItemAsync(id);

            if (item is null)
            {
                return(NotFound());
            }
            var email = await authInfo.GetUserEmailAsync(Request);

            var user = await _userRepo.GetUserByEmailAsync(email);

            if (!user.Admin && user.Id != item.OwnerId)
            {
                return(Forbid());
            }

            await _kitchenRepo.DeleteFridgeItemAsync(id);

            return(NoContent());
        }