private void btnStoreEntry_Click(object sender, EventArgs e) { if (lstWords.SelectedIndex > -1) { ThesaurusEntry entry = thesaurusEntries.Single(te => te.Query == ((string)lstWords.SelectedItem)); foreach (ThesaurusResult result in entry.GetResults((string)lstResults.SelectedItem)) { foreach (ThesaurusDefinition tDef in result.Definitions) { Definition def = DataConverter.GetDefinitionObject(tDef, languageID); def = Definition.InsertDefinition(def); if (lstSynonyms.Items.Count > 0) { foreach (string synonym in lstSynonyms.Items) { ritchard.InsertSynonym(new Synonym { DefinitionID = def.DefinitionID, SynonymID = Definition.GetDefinitionIDForString(synonym) }); } } } } } }
private Thesaurus ParseSource(XElement sourceElem, string id, bool authors) { if (sourceElem == null) { return(null); } Thesaurus thesaurus = new Thesaurus( $"apparatus-{(authors? "authors":"witnesses")}.{id}@en"); foreach (XElement child in sourceElem .Elements(XmlHelper.TEI + (authors? "bibl" : "witness"))) { string value = _wsRegex.Replace(child.Value, " ").Trim(); // prepend @n if @ref if (child.Attribute("ref") != null) { value = child.Attribute("n").Value + value; } var entry = new ThesaurusEntry( child.Attribute(XmlHelper.XML + "id").Value, ReduceLabel(value)); thesaurus.AddEntry(entry); } return(thesaurus); }
/// <summary> /// Initializes a new instance of the <see cref="MongoThesaurusEntry"/> class. /// </summary> /// <param name="entry">The entry.</param> /// <exception cref="ArgumentNullException">entry</exception> public MongoThesaurusEntry(ThesaurusEntry entry) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } Id = entry.Id; Value = entry.Value; }
protected void NotifyApprovedItem(string title, string whathappened) { ThesaurusEntryClient c = new ThesaurusEntryClient(); ThesaurusEntry entry = c.GetAllByDictionary("approvals").Execute().SingleOrDefault(x => x.From == title); if (entry == null) { return; } EmailManager em = new EmailManager(); em.SendMail("*****@*****.**", "Career|Thesaurus", "*****@*****.**", "Mapping Change Alert", whathappened); }
public ActionResult CreateEntry(ThesaurusEntry newitem) { try { if (!IsValidUser(tokens => tokens[0] == Request["username"].ToString())) { return(RedirectToAction("Logon")); } newitem.Timestamp = DateTime.Now; if (ModelState.IsValid) { ThesaurusEntryClient c = new ThesaurusEntryClient(); c.AddNewItem(newitem); NotifyApprovedItem(newitem.From, AuthTokens[2] + " added \"" + newitem.AddRemove + "\" relationship in " + newitem.PartitionKey + " between \"" + newitem.From + "\" and \"" + newitem.To + "\""); if (newitem.PartitionKey == "similars") { var reverseitem = new ThesaurusEntry { AddedAs = "similar", PartitionKey = newitem.PartitionKey, AddRemove = newitem.AddRemove, From = newitem.To, To = newitem.From, RowKey = ShortGuidGenerator.NewGuid() }; c.AddNewItem(reverseitem); NotifyApprovedItem(newitem.To, AuthTokens[2] + " added \"" + newitem.AddRemove + "\" relationship in " + newitem.PartitionKey + " between \"" + newitem.To + "\" and \"" + newitem.From + "\""); } } if (newitem.AddedAs == "predecessor") { return(RedirectToAction("Index", new { p = newitem.To })); } else { return(RedirectToAction("Index", new { p = newitem.From })); } } catch (Exception ex) { ModelState.AddModelError("error", ex.Message); return(View(newitem)); } }
public ActionResult DeleteEntry(string d, string rowkey) { try { if (!IsValidUser(tokens => tokens[0] == Request["username"].ToString())) { return(null); } ThesaurusEntryClient c = new ThesaurusEntryClient(); ThesaurusEntry entry = c.GetByPartitionAndRowKey(d, rowkey); if (entry != null) { c.Delete(entry); NotifyApprovedItem(entry.From, AuthTokens[2] + " deleted \"" + entry.AddRemove + "\" relationship in " + d + " between \"" + entry.From + "\" and \"" + entry.To + "\""); //get reverse entry ThesaurusEntry reverseentry = c.GetAllByDictionary("similars").Execute().SingleOrDefault(x => x.From == entry.To && x.To == entry.From); if (reverseentry != null) { c.Delete(reverseentry); NotifyApprovedItem(entry.To, AuthTokens[2] + " deleted \"" + entry.AddRemove + "\" relationship in " + d + " between \"" + entry.To + "\" and \"" + entry.From + "\""); } } Response.ContentType = "application/json"; string retvalue = (new { result = "ok" }).ToJSON(); Response.Write(retvalue); Response.End(); } catch (Exception ex) { Response.ContentType = "application/json"; Response.Write("{\"result\":\"error\", \"message\":\"" + ex.Message + "\"}"); Response.End(); } return(null); }
public ActionResult AddEntry(string d, string t, string from, string to) { try { if (!IsValidUser(tokens => tokens[0] == Request["username"].ToString())) { return(null); } ThesaurusEntryClient c = new ThesaurusEntryClient(); c.AddNewItem(new ThesaurusEntry { PartitionKey = d, AddRemove = t, From = from, To = to, RowKey = ShortGuidGenerator.NewGuid() }); NotifyApprovedItem(from, AuthTokens[2] + " added \"" + t + "\" relationship in " + d + " between \"" + from + "\" and \"" + to + "\""); if (d == "similars") { var reverseitem = new ThesaurusEntry { PartitionKey = d, AddRemove = t, From = to, To = from, RowKey = ShortGuidGenerator.NewGuid() }; c.AddNewItem(reverseitem); NotifyApprovedItem(to, AuthTokens[2] + " added \"" + t + "\" relationship in " + d + " between \"" + to + "\" and \"" + from + "\""); } Response.ContentType = "application/json"; string retvalue = (new { result = "ok" }).ToJSON(); Response.Write(retvalue); Response.End(); } catch (Exception ex) { Response.ContentType = "application/json"; Response.Write("{\"result\":\"error\", \"message\":\"" + ex.Message + "\"}"); Response.End(); } return(null); }
private void PopulateLstResults() { if (lstWords.SelectedItem != null) { string query = ((string)lstWords.SelectedItem).Split(" ".ToCharArray())[0]; ThesaurusEntry entry = thesaurusEntries.Single(ent => ent.Query == query); foreach (ThesaurusResult result in entry.GetResults()) { lstResults.Items.Add(result.Word); } if (entry.GetResults().Count > 0) { lstResults.Enabled = true; lstResults.SelectedIndex = 0; } else { lstResults.Items.Add("<no results>"); lstResults.Enabled = false; } } }