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); }
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)); }