public async Task GetAllSolutions() { // Arrange // Act var result = await sut.GetAll(); // Assert Assert.That(result.Success, Is.True); Assert.That(result.Objects.ConvertAll(s => (SudokuSolution)s), Is.InstanceOf <List <SudokuSolution> >()); }
public async Task <ISolutionsResult> GetSolutions( IBaseRequest request, bool fullRecord = true) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var result = new SolutionsResult(); try { var response = await solutionsRepository.GetAll(fullRecord); if (response.Success) { if (request.Paginator != null) { if (StaticDataHelpers.IsPageValid(request.Paginator, response.Objects)) { if (request.Paginator.SortBy == SortValue.NULL) { result.Solutions = response.Objects.ConvertAll(s => (ISudokuSolution)s); } else if (request.Paginator.SortBy == SortValue.ID) { if (!request.Paginator.OrderByDescending) { foreach (var obj in response.Objects) { result.Solutions.Add((ISudokuSolution)obj); } result.Solutions = result.Solutions .OrderBy(s => s.Id) .Skip((request.Paginator.Page - 1) * request.Paginator.ItemsPerPage) .Take(request.Paginator.ItemsPerPage) .ToList(); } else { foreach (var obj in response.Objects) { result.Solutions.Add((ISudokuSolution)obj); } result.Solutions = result.Solutions .OrderByDescending(s => s.Id) .Skip((request.Paginator.Page - 1) * request.Paginator.ItemsPerPage) .Take(request.Paginator.ItemsPerPage) .ToList(); } } else if (request.Paginator.SortBy == SortValue.DATECREATED) { if (!request.Paginator.OrderByDescending) { foreach (var obj in response.Objects) { result.Solutions.Add((ISudokuSolution)obj); } result.Solutions = result.Solutions .OrderBy(s => s.DateCreated) .Skip((request.Paginator.Page - 1) * request.Paginator.ItemsPerPage) .Take(request.Paginator.ItemsPerPage) .ToList(); } else { foreach (var obj in response.Objects) { result.Solutions.Add((ISudokuSolution)obj); } result.Solutions = result.Solutions .OrderByDescending(s => s.DateCreated) .Skip((request.Paginator.Page - 1) * request.Paginator.ItemsPerPage) .Take(request.Paginator.ItemsPerPage) .ToList(); } } else if (request.Paginator.SortBy == SortValue.DATEUPDATED) { if (!request.Paginator.OrderByDescending) { foreach (var obj in response.Objects) { result.Solutions.Add((ISudokuSolution)obj); } result.Solutions = result.Solutions .OrderBy(s => s.DateSolved) .Skip((request.Paginator.Page - 1) * request.Paginator.ItemsPerPage) .Take(request.Paginator.ItemsPerPage) .ToList(); } else { foreach (var obj in response.Objects) { result.Solutions.Add((ISudokuSolution)obj); } result.Solutions = result.Solutions .OrderByDescending(g => g.DateSolved) .Skip((request.Paginator.Page - 1) * request.Paginator.ItemsPerPage) .Take(request.Paginator.ItemsPerPage) .ToList(); } } else { result.Success = false; result.Message = ServicesMesages.SortValueNotImplementedMessage; return(result); } } else { result.Success = false; result.Message = ServicesMesages.PageNotFoundMessage; return(result); } } else { result.Solutions = response.Objects.ConvertAll(s => (ISudokuSolution)s); } if (fullRecord) { foreach (var solution in result.Solutions) { if (solution.Game != null) { solution.Game.SudokuMatrix.Difficulty.Matrices = null; } } } result.Success = response.Success; result.Message = SolutionsMessages.SolutionsFoundMessage; return(result); } else if (!response.Success && response.Exception != null) { result.Success = response.Success; result.Message = response.Exception.Message; return(result); } else { result.Success = false; result.Message = SolutionsMessages.SolutionsNotFoundMessage; return(result); } } catch (Exception exp) { result.Success = false; result.Message = exp.Message; return(result); } }
public async Task <Solution[]> GetAllSolutionsAsync() { return(await _solutionsRepository.GetAll().ToArrayAsync()); }