public async Task <Result> UpdateCourse(Course course)
        {
            var container = GetContainer();

            try
            {
                CourseCosmosDto dto = course.FromEntity();
                ItemResponse <CourseCosmosDto> result = await container.UpsertItemAsync(dto);

                if (result.StatusCode == HttpStatusCode.OK)
                {
                    return(Result.Success());
                }

                _logger.Error("Unsuccessful storage of course, received response status code {resultStatusCode}",
                              result.StatusCode);
                return(new PersistenceException(
                           $"Unsuccessful storage of course, received response status code {result.StatusCode}"));
            }
            catch (Exception ex)
            {
                return(new PersistenceException(ex.Message, ex));
            }
        }
 public static Course ToEntity(this CourseCosmosDto instance) =>
 new Course(id: instance.Id,
            name: instance.Name,
            capacity: instance.Capacity,
            registeredUsers: new HashSet <Guid>(instance.RegisteredStudents.Select(s => s.Id)));