public async Task <Exercise> Add(string name, string description)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentNullException(name);
            }
            if (string.IsNullOrWhiteSpace(description))
            {
                throw new ArgumentNullException(description);
            }

            var exercise = await Get(name);

            if (exercise != null)
            {
                throw new EntityExistsException($"Exercise with name {name} already exists.");
            }

            exercise = new Exercise
            {
                Name        = name,
                Description = description
            };

            _context.Exercises.Add(exercise);
            await _context.SaveChangesAsync();

            return(exercise);
        }