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)));