public void Add(VisionResponse res) { var text = res.responses[0].FullTextAnnotation.text; var split = text.Split('\n'); var input = TrimMana(split[0]); var title = ClosestStringMatch.Find(input, _allCardNames.data); Log($"Found {title} as best match for {input}"); var card = new Card() { Title = title, }; var existing = _library.Find(title); if (existing != null) { Log($"Duplicate card {card.Title}"); card.TypeId = existing.TypeId; } else { Warn($"New card {card.Title}"); card.TypeId = Guid.NewGuid(); _library.AddType(card); } _library.AddInstance(card.TypeId); }
private void ProcessResponse(VisionResponse visionRecog) { if (visionRecog == null) { //MessageBox.Show("Process Failed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (visionRecog.responses.Count == 0) { //MessageBox.Show("No text found", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var fullText = visionRecog.responses[0].FullTextAnnotation; if (fullText == null) { Warn("Empty vision response"); return; } Add(visionRecog); }