public ActionResult Search(int ActionURL = 1) { var KeySearch = Session["KeySearch"] != null ? Session["KeySearch"].ToString() : string.Empty; SearchResultResponse response = _homeService.Search(string.Format("%{0}%", KeySearch), Constants.Constants.SEARCH_PAGE_SIZE, ActionURL); response.PageIndex = ActionURL; return(View(response)); }
public ActionResult Search(string KeySearch, int pageIndex = 1) { SearchResultResponse response = _homeService.Search(string.Format("%{0}%", KeySearch), Constants.Constants.SEARCH_PAGE_SIZE, pageIndex); response.KeySearch = KeySearch; response.PageIndex = pageIndex; Session["KeySearch"] = KeySearch; return(View(response)); }
public ActionResult Search(string keyword = "", int?page = 1) { ViewBag.SearchString = keyword; ViewBag.FeaturedProjects = _projectService.GetFeaturedProjects(6).ToList(); SearchResultResponse result = SeachData(keyword, page); IPagedList <SearchResultViewModel> pageProjects = new StaticPagedList <SearchResultViewModel>(result.Items, (int)page, Portal.Infractructure.Utility.Define.DISPLAY_PROJECT_PAGE_SIZE, result.TotalItems); return(View("Search", pageProjects)); }
public SearchResultResponse SeachData(string keyword, int?page) { SearchDataResponse result = _service.Search(keyword, (int)page); SearchResultResponse retValue = new SearchResultResponse() { Items = result.Results.ConvertToSearchResultViewModels(), TotalItems = result.TotalResult }; return(retValue); }
/// <summary> /// Запрос на поиск сертов /// </summary> /// <param name="isActive"></param> /// <param name="searchString"></param> /// <returns></returns> public ActionResult FindCertificate(bool isActive = false, string searchString = "") { Guid token = CheckSessionAuthState(CurrentUser, _authService); if (token == Guid.Empty) { return(Json(new { status = "Error", errorCode = "401", errorMessage = "" }, JsonRequestBehavior.AllowGet)); } //bool isActiveCur = isActive ?? false; var model = new List <CertificateInfoContactAdd>(); SearchResultResponse response = _cryptxService.GetCertificatesBySearchString(searchString, isActive, false, token); if (response.Exception == null) { foreach (CertificateInfo certificateInfo in response.Certificates) { var curCert = new CertificateInfoContactAdd(); curCert.CertificateId = certificateInfo.CertificateId; curCert.SubjectName = certificateInfo.SubjectName; curCert.IssureName = certificateInfo.IssureName; curCert.Thumbprint = certificateInfo.Thumbprint; curCert.Organization = certificateInfo.Organization; curCert.IsTest = certificateInfo.IsTest; if (DateTime.Now < certificateInfo.NotBefore) { curCert.TimeMessage = "Недействителен до " + certificateInfo.NotBefore.Date.ToShortDateString().Replace("/", "."); } if (DateTime.Now > certificateInfo.NotBefore && DateTime.Now < certificateInfo.NotAfter) { curCert.TimeMessage = "Действителен до " + certificateInfo.NotAfter.Date.ToShortDateString().Replace("/", "."); } else { curCert.TimeMessage = "Недействителен с " + certificateInfo.NotAfter.Date.ToShortDateString().Replace("/", "."); } model.Add(curCert); } } else { return(Json(new { status = "Error", errorCode = "", errorMessage = response.Exception.Message }, JsonRequestBehavior.AllowGet)); } return(Json(new { model, status = "ok" }, JsonRequestBehavior.AllowGet)); }
private void ProceesQueryResponse(string jsonResult, SearchResultResponse searchResponse) { var resultJObject = JObject.Parse(jsonResult); FlickrSearchResult result = resultJObject.ToObject <FlickrSearchResult>(); if (result.stat == "ok") { searchResponse.HasError = false; searchResponse.ErrorMessage = null; searchResponse.Photos = result.photos.photo; searchResponse.Pages = result.photos.pages; searchResponse.PerPage = result.photos.perpage; searchResponse.Total = result.photos.total; } else { searchResponse.HasError = true; searchResponse.ErrorMessage = $"request Failed with code: { (result.code.HasValue ? result.code.Value.ToString() : "") }, message: { result.message }"; } }
public IActionResult findImages([FromBody] SearchRequestData meta) { if (!meta.Page.HasValue) { meta.Page = 1; } var searchResponse = new SearchResultResponse(); if (string.IsNullOrWhiteSpace(meta.Keywords)) { if (!meta.Lat.HasValue || !meta.Lon.HasValue) { searchResponse.HasError = true; searchResponse.ErrorMessage = "at Least on of (Keywords/Gelocation info) must be supplied."; var errorResponse = new ObjectResult(searchResponse); errorResponse.StatusCode = 200; return(errorResponse); } } var querySuffix = makeQuerySuffic(meta); var cacheKey = GetMD5Hash(querySuffix); string cacheResult = ""; if (EnableCaching) { cacheResult = _distributedCache.GetString(cacheKey); } if (!string.IsNullOrEmpty(cacheResult)) { ProceesQueryResponse(cacheResult, searchResponse); } else { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("https://api.flickr.com/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage flickrResponse = client.GetAsync(querySuffix).Result; if (flickrResponse.IsSuccessStatusCode) { string jsonResult = flickrResponse.Content.ReadAsStringAsync().Result; ProceesQueryResponse(jsonResult, searchResponse); if (!searchResponse.HasError) { if (EnableCaching) { var options = new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(CacheSeconds)); _distributedCache.SetString(cacheKey, jsonResult, options); } } } else { searchResponse.HasError = true; searchResponse.ErrorMessage = $"request Failed with statusCode: { flickrResponse.StatusCode.ToString() }, reason: { flickrResponse.ReasonPhrase }"; } } } var response = new ObjectResult(searchResponse); response.StatusCode = 200; return(response); }
public ActionResult FindCertificate(string searchString, bool?isActive, Guid?contactId, string addToContact, string selectedItem, Guid?userId, bool all = false) { ViewBag.all = all; Guid token = CheckSessionAuthState(CurrentUser, _authService); if (token == Guid.Empty) { ViewBag.login = true; } ViewBag.contactId = contactId; ViewBag.UserId = (userId == null ? Guid.Empty : (Guid)userId); bool isActiveCur = isActive ?? false; if (string.IsNullOrEmpty(addToContact)) { var model = new List <CertificateInfoContactAdd>(); SearchResultResponse response = _cryptxService.GetCertificatesBySearchString(searchString, isActiveCur, all, token); if (response.Exception == null) { foreach (CertificateInfo certificateInfo in response.Certificates) { var curCert = new CertificateInfoContactAdd(); curCert.CertificateId = certificateInfo.CertificateId; curCert.SubjectName = certificateInfo.SubjectName; curCert.IssureName = certificateInfo.IssureName; if (certificateInfo.RecipientCertificate != null && certificateInfo.RecipientCertificate.FriendlyName != null) { curCert.FriendlyName = certificateInfo.RecipientCertificate.FriendlyName; } curCert.Thumbprint = certificateInfo.Thumbprint; curCert.Organization = certificateInfo.Organization; curCert.IsTest = certificateInfo.IsTest; if (curCert.FriendlyName == null) { curCert.FriendlyName = string.Empty; } if (DateTime.Now < certificateInfo.NotBefore) { curCert.TimeMessage = "Недействителен до " + certificateInfo.NotBefore.Date.ToShortDateString().Replace("/", "."); } if (DateTime.Now > certificateInfo.NotBefore && DateTime.Now < certificateInfo.NotAfter) { curCert.TimeMessage = "Действителен до " + certificateInfo.NotAfter.Date.ToShortDateString().Replace("/", "."); } else { curCert.TimeMessage = "Недействителен с " + certificateInfo.NotAfter.Date.ToShortDateString().Replace("/", "."); } model.Add(curCert); } } return(View(model)); } if (!string.IsNullOrEmpty(selectedItem) && contactId != null && contactId != Guid.Empty) { var serializaer = new JavaScriptSerializer(); var certs = serializaer.Deserialize <List <CertificateInfoContactAdd> >(selectedItem); var requestList = new List <CertificateAddRequest>(); foreach (CertificateInfoContactAdd certificateInfoContactAdd in certs) { requestList.Add(new CertificateAddRequest { CertificateId = certificateInfoContactAdd.CertificateId }); } _cryptxService.AddCertificatesToContact((Guid)contactId, requestList, (userId == null ? Guid.Empty : (Guid)userId), token); } return(View()); }
/// <summary> /// populateGrid - This method which populates the values in NameSearchResults gridview /// </summary> public void PopulateGrid() { if ((_LastName.Text != string.Empty && _MailingZip.Text != string.Empty)) { try { Results.Visible = true; //// MAIG - Begin - 11122014 lblerrorMessage.Text = string.Empty; lblerrorMessage.Visible = false; NameSearchResults.Visible = true; //// MAIG - End - 11122014 //Constructs request parameter for Elastic Search SearchResultRequest searchRequest = new SearchResultRequest(); searchRequest.Parameter.RequestParam.Search = string.Empty; searchRequest.Parameter.RequestParam.DocType = "Policy"; searchRequest.Parameter.RequestParam.FirstName = (!string.IsNullOrEmpty(_FirstName.Text.Trim())) ? _FirstName.Text.Trim() : default(string); searchRequest.Parameter.RequestParam.LastName = (!string.IsNullOrEmpty(_LastName.Text.Trim())) ? _LastName.Text.Trim() : default(string); //CHG0115410 - BEGIN - CH1 - Modified the input request passed to the Customer Search API if (Convert.ToString(_MailingZip.Text).Trim().Length > 0) { //Passed zipcode type as the new parameter along with the input request to the API searchRequest.Parameter.RequestParam.ZipCode.Type = new string[4] { "risk", "billing", "mailing", "home" } } ; //Modified the type of zipcode from string to zipcode class searchRequest.Parameter.RequestParam.ZipCode.value = (!string.IsNullOrEmpty(_MailingZip.Text.Trim())) ? _MailingZip.Text.Trim() : default(string); //CHG0115410 - END - CH1 - Modified the input request passed to the Customer Search API searchRequest.Parameter.Header.ChannelType = "DSU"; //Constructs service call request HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Config.Setting("jsonURL")); request.Method = "POST"; request.ContentType = "application/json; charset=utf-8"; using (MemoryStream ms = new MemoryStream()) { DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(searchRequest.GetType()); jsonSerializer.WriteObject(ms, searchRequest); using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) { String json = Encoding.UTF8.GetString(ms.ToArray()); CSAAWeb.AppLogger.Logger.Log("Elastic Search Request Received. UserID: " + Page.User.Identity.Name); if (Config.Setting("Logging.ElasticSearch").Equals("1")) { CSAAWeb.AppLogger.Logger.Log("Elastic Search Request Details." + json); } writer.Write(json); writer.Close(); //txtRequest.Text = json; //TO DO: Remove this line, if you dont want to show raw request } } //Invokes service call & gets response var httpResponse = (HttpWebResponse)request.GetResponse(); //Constructs response entity and bind the datasource into grid using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { //Gets the raw JSON response string jsonResponse = streamReader.ReadToEnd(); //txtResponse.Text = jsonResponse.ToString(); //TO DO: Remove this line, if you dont want to show raw response //TO DO: Try to use DataContractJsonSerializer instead of JavaScriptSerializer // to follow the code standard of search response (Property Name should be PASCAL CASE). // Need to follow the same coding standard which is in the SearchRequest. //Converts raw JSON response to business entity JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); SearchResultResponse searchResponse = jsSerializer.Deserialize <SearchResultResponse>(jsonResponse); CSAAWeb.AppLogger.Logger.Log(String.Format("Elastic Search Response Received. Total Number of Hits: {0} UserID: {1} ", searchResponse.responseJson.totalHits, Page.User.Identity.Name)); if (Config.Setting("Logging.ElasticSearch").Equals("1")) { CSAAWeb.AppLogger.Logger.Log("Elastic Search Response Details." + jsonResponse); } //Session["NameSearchResult"] = null; NameSearchResults.DataSource = null; NameSearchResults.DataBind(); NameSearchResults.PageIndex = 0; int val = 0; if (searchResponse.responseJson != null && searchResponse.responseJson.searchedPolicies != null && searchResponse.responseJson.searchedPolicies.Count() > 0) { //CHG0115410 - BEGIN - CH2 - Modified the query with respect to the new response generated from Upgraded Customer Search API. //CHG0116140 - BEGIN - CH1 - Added FirstCharToUpper function to modify 1st Letter of string as Upper Case SearchResult = (from result in searchResponse.responseJson.searchedPolicies from cons in result.partyList from party in cons.partyRoles where ((!string.IsNullOrEmpty(result.sourceSystem) && result.sourceSystem != "NCNU_MEM") && (!string.IsNullOrEmpty(party.roleType) && (party.roleType.ToUpper() == "NAMEDINSURED" || party.roleType.ToUpper() == "NAMED INSURED" || party.roleType.ToUpper() == "INSURED"))) select(new SearchResultEntity { SourceSystem = (result.sourceSystem.ToUpper() == "MAIG_HOME") ? "KIC" : (result.sourceSystem.ToUpper() == "PUP") ? "PUPSYS" : (result.sourceSystem.ToUpper() == "MAIG_AUTO") ? "KIC" : result.sourceSystem, policyNumber = string.IsNullOrEmpty(result.policyNumber) ? string.Empty : (result.sourceSystem.ToUpper() == "MAIG_AUTO") ? result.policyNumber.Substring(1) : (result.sourceSystem.ToUpper() == "SIS" && result.policyNumber.StartsWith(Config.Setting("SISpolicyPrefix"))) ? result.policyNumber.Substring(2) : (result.sourceSystem == "SIS") ? result.policyNumber.Substring(3) : result.policyNumber, policyStatus = string.IsNullOrEmpty(result.policyStatus) ? string.Empty : result.policyStatus, //Added logic for HOME : if prodTypeCode:"DP" & productCode:"DP3" & sourceSystem:"COGEN" productCode = string.IsNullOrEmpty(result.prodTypeCode) ? string.Empty : ((result.prodTypeCode.ToUpper() == "HO" && (string.IsNullOrEmpty(result.productCode) || result.productCode.ToUpper() != "DP3")) || (result.prodTypeCode.ToUpper().Equals("DP") && (!string.IsNullOrEmpty(result.productCode) && result.productCode.ToUpper().Equals("DP3")) && result.sourceSystem.ToUpper().Equals("MAIG_HOME"))) ? "Home" : (result.prodTypeCode.ToUpper() == "AU" || result.prodTypeCode.ToUpper() == "PA") ? "Auto" : ((result.prodTypeCode.ToUpper() == "SPCL" && !string.IsNullOrEmpty(result.productCode) && result.productCode.ToUpper() == "MC") || result.prodTypeCode.ToUpper() == "MC") ? "Motorcycle" : ((result.prodTypeCode.ToUpper() == "SPCL" && !string.IsNullOrEmpty(result.productCode) && result.productCode.ToUpper() == "PWC") || result.prodTypeCode.ToUpper() == "WC") ? "Watercraft" : ((result.prodTypeCode.ToUpper() == "HO" && !string.IsNullOrEmpty(result.productCode) && result.productCode.ToUpper() == "DP3") || result.prodTypeCode.ToUpper() == "DF") ? "Dwelling Fire" : (result.prodTypeCode.ToUpper() == "PUP" || result.prodTypeCode.ToUpper() == "PU") ? "Personal Umbrella" : result.prodTypeCode, NamedInsured = FirstCharToUpper(((string.IsNullOrEmpty(cons.firstName)) ? string.Empty : cons.firstName)) + " " + FirstCharToUpper(((string.IsNullOrEmpty(cons.lastName)) ? string.Empty : cons.lastName)), address = ((cons.partyAddress != null) ? GetAddress(cons.partyAddress) : "") })).Distinct().OrderBy(SearchEntity => SearchEntity.policyNumber, new SemiNumericComparer()).ToList(); //CHG0116140 - END - CH1 - Added FirstCharToUpper function to modify 1st Letter of string as Upper Case //CHG0115410 - END - CH2 - Modified the query with respect to the new response generated from Upgraded Customer Search API. ViewState.Add("SearchResult", SearchResult); NameSearchResults.DataSource = SearchResult; //Keeps in Session object for maintaining pagination //Session["NameSearchResult"] = SearchResult; } //Binds the search result in Grid NameSearchResults.DataBind(); //if (searchResponse.responseJson.totalHits == 0) //{ // NameSearchResults.EmptyDataText = "There is no records for the given search criteria"; //} lblCustomerNameSearch.Visible = true; } } catch (Exception ex) { lblerrorMessage.Visible = true; lblerrorMessage.Text = CSAAWeb.Constants.ELASTIC_SEARCH_ERROR_MESSAGE; Logger.Log("There is an exception in Namesearch - PopulateGrid : " + ex.ToString()); //// MAIG - Begin - 11122014 NameSearchResults.Visible = false; //// MAIG - End - 11122014 } } }
public SearchResultResponse Search(string keyword, int pageSize, int pageIndex) { SearchResultResponse response = new SearchResultResponse(); List <SearchModel> list = new List <SearchModel>(); try { //Search news INewsRepository newsRepository = RepositoryClassFactory.GetInstance().GetNewsRepository(); IList <News> news = newsRepository.Search(keyword); foreach (var item in news) { list.Add(new SearchModel() { Action = "ViewNews", ActionURL = item.ActionURL, Controller = "News", CreatedDate = item.CreatedDate, ImageURL = item.ThumbnailURL, ShortContent = item.ShortContent, Title = item.Title }); } //Search Article IArticleRepository articleRepository = RepositoryClassFactory.GetInstance().GetArticleRepository(); IList <Article> articles = articleRepository.Search(keyword); foreach (var item in articles) { list.Add(new SearchModel() { Action = "ArticleView", ActionURL = item.ActionURL, Controller = string.Empty, CreatedDate = item.CreatedDate, ImageURL = string.Empty, ShortContent = item.ShortContent, Title = item.Title }); } response.Count = list.Count; response.Result = list.OrderByDescending(n => n.CreatedDate).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();; if (list.Count == 0) { return(new SearchResultResponse() { ErrorCode = (int)ErrorCode.Error, Message = string.Format(Resources.Resource.text_searchNotFound, keyword.Substring(1, keyword.Length - 2)) }); } return(response); } catch (Exception ex) { return(new SearchResultResponse() { ErrorCode = (int)ErrorCode.Error, Message = ex.Message }); } }