public async Task <SnackShopItem> UpdateSnackShopItem(int portalId, int snackShopItemId,
                                                              SnackShopItemModel snackShopItem)
        {
            SnackShopItem dbSnackShopItem = await GetSnackShopItemById(portalId, snackShopItemId);

            if (!string.Equals(dbSnackShopItem.Name, snackShopItem.Name.Trim(),
                               StringComparison.CurrentCultureIgnoreCase))
            {
                IEnumerable <SnackShopItem> existingSnackShopItems =
                    await GetSnackShopItemsByName(portalId, snackShopItem.Name);

                if (existingSnackShopItems.Any())
                {
                    throw new Exception("This snack shop item already exists. Please use another name.");
                }
            }

            dbSnackShopItem.Name            = snackShopItem.Name.Trim();
            dbSnackShopItem.Barcode         = snackShopItem.Barcode?.Trim();
            dbSnackShopItem.Price           = snackShopItem.Price;
            dbSnackShopItem.AmountAvailable = snackShopItem.AmountAvailable;
            dbSnackShopItem.UpdatedDate     = DateTimeOffset.Now;
            dbSnackShopItem.IsActive        = snackShopItem.IsActive;

            await Context.SaveChangesAsync();

            return(dbSnackShopItem);
        }
        public async Task <SnackShopItem> CreateSnackShopItem(int portalId, SnackShopItemModel snackShopItem)
        {
            IEnumerable <SnackShopItem> existingSnackShopItems =
                await GetSnackShopItemsByName(portalId, snackShopItem.Name);

            if (existingSnackShopItems.Any())
            {
                throw new Exception("This snack shop item already exists. Please use another name.");
            }

            SnackShopItem newSnackShopItem = new SnackShopItem
            {
                PortalId        = portalId,
                Name            = snackShopItem.Name.Trim(),
                Barcode         = snackShopItem.Barcode?.Trim(),
                Price           = snackShopItem.Price,
                AmountAvailable = snackShopItem.AmountAvailable,
                CreatedBy       = snackShopItem.CreatedBy,
                IsActive        = true,
                IsDeleted       = false,
                CreatedDate     = DateTimeOffset.Now,
                UpdatedDate     = DateTimeOffset.Now,
            };

            await Context.SnackShopItems.AddAsync(newSnackShopItem);

            await Context.SaveChangesAsync();

            return(newSnackShopItem);
        }
Exemple #3
0
        public async Task <ActionResult <SnackShopItem> > UpdateSnackShopItem(int portalId, int snackShopItemId,
                                                                              [FromBody] SnackShopItemModel snackShopItem)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            SnackShopItem updatedSnackShopItem =
                await _snackShopItemRepository.UpdateSnackShopItem(portalId, snackShopItemId, snackShopItem);

            return(Ok(updatedSnackShopItem));
        }