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 <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 DeleteSnackShopItem(int portalId, int snackShopItemId) { SnackShopItem dbSnackShopItem = await GetSnackShopItemById(portalId, snackShopItemId); dbSnackShopItem.IsActive = false; dbSnackShopItem.IsDeleted = true; await Context.SaveChangesAsync(); }
public async Task <ActionResult <SnackShopItem> > GetSnackShopItem(int portalId, int snackShopItemId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } SnackShopItem snackShopItem = await _snackShopItemRepository.GetSnackShopItemById(portalId, snackShopItemId); return(Ok(snackShopItem)); }
public async Task <SnackShopItem> GetSnackShopItemById(int portalId, int snackShopItemId) { SnackShopItem dbSnackShopItem = await Context.SnackShopItems.FirstOrDefaultAsync(x => x.PortalId == portalId && x.Id == snackShopItemId && !x.IsDeleted); if (dbSnackShopItem == null) { throw new Exception("This snack shop item does not exist."); } return(dbSnackShopItem); }
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)); }