public virtual int Delete(int id)
        {
            var entity = _context.Set <TEntity>().FirstOrDefault(e => e.Id == id);

            if (entity == null)
            {
                var message = $"The entity with id {id}, not exist.\nEntity: {entity.ToString()}";

                RepositoryExceptionHelper.ThrowRepositoryException(message, "REP-001");
            }
            _context.Set <TEntity>().Remove(entity);

            return(_context.SaveChanges());
        }
        public virtual TEntity Update(TEntity entity)
        {
            var updateEntity = _context.Set <TEntity>().FirstOrDefault(e => e.Id == entity.Id);

            if (entity == null)
            {
                var message = $"The entity with id {entity.Id}, not exist.\nEntity: {entity.ToString()}";

                RepositoryExceptionHelper.ThrowRepositoryException(message, "REP-001");
            }
            updateEntity = entity;
            _context.SaveChanges();

            return(updateEntity);
        }