public ActionResult SlackSearch(SlackSearchViewModel model) { #region Setting things up for xConnect // TO DO: This should be in app.config //var xConnectCertificateConnectionString = ConfigurationManager.AppSettings["xConnectCertificateConnectionString"]; var xConnectCertificateConnectionString = "StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue=3DE93B08A1C99FDC874B5A035EF02C66F3CB77E0"; // (CTW) Getting xConnect Root Url from config //var xConnectRootUrl = ConfigurationManager.AppSettings["xConnectRootUrl"]; var xConnectRootUrl = "https://hc.sc.xconnect"; CertificateWebRequestHandlerModifierOptions options = CertificateWebRequestHandlerModifierOptions.Parse(xConnectCertificateConnectionString); var certificateModifier = new CertificateWebRequestHandlerModifier(options); List <IHttpClientModifier> clientModifiers = new List <IHttpClientModifier>(); var timeoutClientModifier = new TimeoutHttpClientModifier(new TimeSpan(0, 0, 20)); clientModifiers.Add(timeoutClientModifier); var collectionClient = new CollectionWebApiClient(new Uri(xConnectRootUrl + "/odata"), clientModifiers, new[] { certificateModifier }); var searchClient = new SearchWebApiClient(new Uri(xConnectRootUrl + "/odata"), clientModifiers, new[] { certificateModifier }); var configurationClient = new ConfigurationWebApiClient(new Uri(xConnectRootUrl + "/configuration"), clientModifiers, new[] { certificateModifier }); var cfg = new XConnectClientConfiguration( new XdbRuntimeModel(CollectionModel.Model), collectionClient, searchClient, configurationClient); #endregion try { cfg.Initialize(); } catch (XdbModelConflictException ce) { Console.WriteLine("ERROR:" + ce.Message); return(null); } // Initialize a client using the validated configuration using (var client = new XConnectClient(cfg)) { // TO DO: This should be loaded via reflection IArticleProvider articleProvider = new SimpleArticleProvider { Client = client }; model.ArticleList = articleProvider.GetArticles("SLACK_ALIAS", model.SlackId); return(View("slacksearchview", model)); } }
public ActionResult SlackSearch() { var model = new SlackSearchViewModel(); return(View(model)); }