private WordTable GetIntersectingWords(WordList list) { IntersectingWords = new WordTable(); LetterTable letterTable = new LetterTable(); foreach (char letter in Element) { if (!letterTable.ContainsKey(letter)) { List <string> intersectingWords = new List <string>(); foreach (string w in list.aWordList) { if (w.IndexOf(letter) > -1) { if (!intersectingWords.Contains(w)) { intersectingWords.Add(w); } } } letterTable.Add(letter, intersectingWords); } } IntersectingWords.Add(Element, letterTable); return(IntersectingWords); }
private void PopulateTable(string path) { Table = new WordTable(); List <string> words = GetWords(path); foreach (string word in words) { LetterTable letterTable = new LetterTable(); foreach (char letter in word) { if (!letterTable.ContainsKey(letter)) { List <string> intersectingWords = new List <string>(); foreach (string w in words) { if (w.IndexOf(letter) > -1) { if (!intersectingWords.Contains(w)) { intersectingWords.Add(w); } } } letterTable.Add(letter, intersectingWords); } } Table.Add(word, letterTable); } }
public IActionResult UploadEditLetterTables(string pageBaseId, int id, int letterTablesPageNumber) { Guid PageBaseId = Guid.Parse(pageBaseId); string message = ""; bool result = false; try { long size = 0; var files = Request.Form.Files; string ServerPath = ""; foreach (var file in files) { var filename = ContentDispositionHeaderValue .Parse(file.ContentDisposition) .FileName .Trim('"'); var editfilename = filename.Replace("zip", "htm"); ServerPath = "/pagelettertable/" + editfilename; filename = _webHostEnvironment.WebRootPath + "\\pageLetterTable" + $@"\{filename}"; var filePath = _webHostEnvironment.WebRootPath + "\\pageLetterTable"; size += file.Length; string startPath = filePath; string zipPath = filePath + "\\" + file.FileName; string extractPath = filePath; using (FileStream fs = System.IO.File.Create(filename)) { file.CopyTo(fs); fs.Flush(); } ZipFile.ExtractToDirectory(zipPath, extractPath, true); } LetterTable lT = _context.LetterTables.Where(C => C.Id == id).FirstOrDefault(); lT.ServerPath = ServerPath; _context.LetterTables.Update(lT); _context.SaveChanges(); result = true; } catch (Exception) { message = "عملیات ذخیره با شکست روبرو شد"; result = false; } return(Json(new { result = result, message = message })); }
public List <string> GetIntersections(string word, char letter) { List <string> words = new List <string>(); if (Table.ContainsKey(word)) { LetterTable letterTable = Table[word]; if (letterTable.ContainsKey(letter)) { words = letterTable[letter]; } } return(words); }
private void PopulateTable() { //create dict Table = new WordTable(); List <string> words = GetWords(); //List<string> words = new List<string>(); //words.Add("ANGELA"); //words.Add("JIMMY"); //words.Add("LARRY"); //words.Add("JACK"); //words.Add("JILL"); //words.Add("MARK"); //words.Add("AMY"); foreach (string word in words) { LetterTable letterTable = new LetterTable(); foreach (char letter in word) { if (!letterTable.ContainsKey(letter)) { List <string> intersectingWords = new List <string>(); foreach (string w in words) { if (w.IndexOf(letter) > -1) { if (!intersectingWords.Contains(w)) { intersectingWords.Add(w); } } } letterTable.Add(letter, intersectingWords); } } Table.Add(word, letterTable); } }