public async Task CalculateSquares(List <Point> points, Guid pointsListId) { List <Square> squares = new List <Square>(); for (int i = 0; i <= points.Count - 4; i++) { for (int j = 1; j <= points.Count - 3; j++) { for (int k = 2; k <= points.Count - 2; k++) { for (int l = 3; l <= points.Count - 1; l++) { bool isSquare = CheckIfSquare(points[i], points[j], points[k], points[l]); if (isSquare) { squares.Add(new Square(points[i], points[j], points[k], points[l])); } } } } } SquaresMetadata squaresMetadata = CreateMetadata(pointsListId, squares); await _squaresRepository.Create(squaresMetadata).ConfigureAwait(false); }
public async Task <IEnumerable <Square> > GetSquares(Guid listId) { List <Square> squares = new(); SquaresMetadata squaresMetadata = await _squaresService.GetSquares(listId).ConfigureAwait(false); squares.AddRange(squaresMetadata.Squares.Select(Map).ToList()); return(squares); }
public async Task SaveSquares(Guid pointsListId, List <Square> squares) { SquaresMetadata squaresMetadata = CreateMetadata(pointsListId, squares); await _squaresRepository.Create(squaresMetadata).ConfigureAwait(false); }