public ActionResult Display(WordSearchIndexModel wordSearchIndexModel) { // ToDo - this should go in a service IRandomNumberService randomNumberService = new RandomNumberService(); IWordPlacementService wordPlacementService = new WordPlacementService(randomNumberService); var wordSearchGrid = new WordSearchGrid(wordSearchIndexModel.Rows, wordSearchIndexModel.Columns, wordPlacementService, randomNumberService); wordSearchIndexModel.Words .Where(w => !string.IsNullOrEmpty(w)) .ToList() .ForEach(a => wordSearchGrid.AddHiddenWord(a)); wordSearchGrid.FillEmptySpaces(); var wordSearchDisplayModel = new WordSearchDisplayModel(wordSearchIndexModel); var grid = wordSearchGrid.Grid; var hiddenWords = wordSearchGrid.HiddenWords; wordSearchDisplayModel.Grid = grid; wordSearchDisplayModel.HiddenWords = hiddenWords; return(View(wordSearchDisplayModel)); }
private void buttonCreateGrid_Click(object sender, EventArgs e) { IRandomNumberService randomNumberService = new RandomNumberService(); IWordPlacementService wordPlacementService = new WordPlacementService(randomNumberService); var wordSearchGrid = new WordSearchGrid(20, 20, wordPlacementService, randomNumberService); wordSearchGrid.AddHiddenWord("word"); wordSearchGrid.AddHiddenWord("search"); wordSearchGrid.AddHiddenWord("reallylongword"); wordSearchGrid.AddHiddenWord("anotherlongone"); wordSearchGrid.AddHiddenWord("today"); wordSearchGrid.AddHiddenWord("yesterday"); var grid = wordSearchGrid.Grid; var hiddenWords = wordSearchGrid.HiddenWords; var rows = grid.GetUpperBound(0); // 0 based var cols = grid.GetUpperBound(1); // wordSearchGrid.FillEmptySpaces(); labelGrid.Text = wordSearchGrid.ToString(); }