public async Task <bool> Update(HelixEvent requestItem)
        {
            HelixEvent helixEventItem = await GetById(requestItem.HelixEventId);

            if (helixEventItem != null)
            {
                /// Update the existing event
                helixEventItem.Timestamp = DateTime.Now;
            }
            else
            {
                _dbContext.HelixEvents.Add(requestItem);
            }

            try
            {
                _dbContext.SaveChanges();
            }
            catch (Exception)
            {
                throw;
            }

            return(true);
        }
        public bool DeleteByEventId(long eventId)
        {
            ICollection <HelixEventProduct> removedList = GetAllByEventId(eventId);

            if (removedList != null && removedList.Count() > 0)
            {
                try
                {
                    _dbContext.HelixEventProducts.RemoveRange(removedList);
                    _dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    /** In real application,
                     * Encapsulate the details in the layer-specific log files for further troubleshooting
                     * and wrap it in user-friendly manner
                     **/
                    throw ex;
                }
            }

            return(true);
        }