public ActionResult DeleteConfirmed(int id) { SearchConnector searchConnector = _searchConnectorService.Get(id); _searchConnectorService.Delete(searchConnector.Id); return(RedirectToAction("Index")); }
public void Edit(SearchConnector searchConnector) { if (searchConnector.Id == 0) { throw new Exception("Id can't be 0"); } int result = _searchConnectorRepository.Update(searchConnector).GetAwaiter().GetResult(); }
public ActionResult Edit([Bind(Include = "Id,Name,QueryPattern,ResultPattern,ResultNamePattern,ResultLinkPattern,ResultBodyPattern,DirectLink")] SearchConnector searchConnector) { if (ModelState.IsValid) { _searchConnectorService.Edit(searchConnector); return(RedirectToAction("Index")); } return(View(searchConnector)); }
public void Edit_NullID_Throw() { var searchConnectorRepository = Substitute.For <ISearchConnectorRepository>(); SearchConnectorService searchConnectorService = new SearchConnectorService(searchConnectorRepository); SearchConnector searchConnector = new SearchConnector() { Id = 0 }; var exception = Assert.Throws <Exception>(() => searchConnectorService.Edit(searchConnector)); StringAssert.Contains("can't be 0", exception.Message); }
public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SearchConnector searchConnector = _searchConnectorService.Get(id.Value); if (searchConnector == null) { return(HttpNotFound()); } return(PartialView("_Delete", searchConnector)); }
protected override void GetResultPosition(SearchConnector connector, string query, out SearchResult searchResult) { searchResult = this._searchResult; isCalled = true; }
static void Main(string[] args) { Console.WriteLine("HlidacStatu - datova sada Insolvencni rejstrik"); Console.WriteLine("----------------------------------------------"); Console.WriteLine(); var search = false; var apiToken = ""; var date = new DateTime(2008, 1, 1); var events = false; var noCache = false; var initCache = false; var help = false; var createIndexes = false; var ignoreDocuments = false; var onlyDocuments = false; var toEventId = -1; var options = new OptionSet() { { "create-indexes", "vytvori indexy v elastiku", v => createIndexes = true }, { "s|search", "definuje rezim dle vyhledavani", v => search = true }, { "apitoken=", "ApiToken pro pristup k datovym sadam (povinny, pouze pro rezim vyhledavani)", v => apiToken = v }, { "date=", "datum zahajeni hledani (nepovinny, default 1.1.2008, pouze pro rezim vyhledavani)", (DateTime v) => date = v }, { "e|events", "definuje rezim dle udalosti", v => events = true }, { "no-cache", "vypina ukladani event do cache a jejich nasledne pouziti", v => noCache = true }, { "ignore-documents", "vypina ukladani dokumentu do databaze", v => ignoreDocuments = true }, { "only-documents", "do databaze budou ukladany pouze dokumenty", v => onlyDocuments = true }, { "to-event-id=", "nastavuje id udalosti, po ktere dojde k ukonceni zpracovani", v => toEventId = Convert.ToInt32(v) }, { "init-link-cache", "nacte seznam vsech rizeni a linku na jejich detail a ulozi je do souboru, ktery je pouzit pri naplneni cache linku na detail rizeni", v => initCache = true }, { "h|?|help", "zobrazi napovedu", v => help = true }, }; options.Parse(args); if (help) { PrintHelp(options); } else if (createIndexes) { var es = new ElasticConnector(); es.GetESClient(Database.Dokument); es.GetESClient(Database.Osoba); es.GetESClient(Database.Rizeni); } else if (initCache) { Console.WriteLine("Spousti se prednacteni cache (vypsany datum znaci stazene obdobi)"); new IsirClientCache(null, null).PrepareCache(new DateTime(2008, 1, 1)); } else if (search) { var connector = new SearchConnector(apiToken); connector.Handle(date); } else if (events) { var connector = new IsirWsConnector(noCache, ignoreDocuments, onlyDocuments, toEventId); connector.Handle(); } else { PrintHelp(options); } }
protected virtual void GetResultPosition(SearchConnector connector, string query, out SearchResult searchResult) { SearchResult currentResult = new SearchResult(); var url = connector.QueryPattern.Replace("%query%", query); var web = new HtmlWeb(); HtmlDocument doc; try { if (url.IndexOf("http") != 0) { throw new Exception("Bad QueryPattern"); } doc = web.Load(url); } catch (Exception exc) { _loggerService.Write($"Error: {exc.ToString()}"); searchResult = new SearchResult { SearchSystem = connector.Id }; return; } var document = doc.DocumentNode; if (!string.IsNullOrEmpty(connector.ResultPattern)) { var resultNodes = document.QuerySelectorAll(connector.ResultPattern); foreach (var resultNode in resultNodes) { string header = "", body = "", link = ""; if (!string.IsNullOrEmpty(connector.ResultNamePattern)) { var node = resultNode.QuerySelector(connector.ResultNamePattern); if (node != null) { header = node.InnerHtml; } } if (!string.IsNullOrEmpty(connector.ResultBodyPattern)) { var node = resultNode.QuerySelector(connector.ResultBodyPattern); if (node != null) { body = node.InnerHtml; } } if (!string.IsNullOrEmpty(connector.ResultLinkPattern)) { var node = resultNode.QuerySelector(connector.ResultLinkPattern); if (node != null) { link = node.GetAttributeValue("href", null); } } if (!string.IsNullOrEmpty(link)) { if (link.IndexOf("http") != 0) //Если линк начинается не с http, то преобразуем его { link = connector.DirectLink + link; } currentResult.SearchPositions.Add(new SearchResultPosition { Description = body.Replace("<br>", ""), Label = header, Link = link }); } } } currentResult.SearchSystem = connector.Id; searchResult = currentResult; }
public void Create(SearchConnector searchConnector) { int result = _searchConnectorRepository.Insert(searchConnector).GetAwaiter().GetResult(); }