private string PrepareJsonRequestForsearch2(ElasticSearchInput inputData) { string Request = string.Empty; try { if (inputData != null) { StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append("\"query\": {"); sb.Append("\"bool\": {"); sb.Append("\"must\": ["); if (!string.IsNullOrEmpty(inputData.ProgramCode)) { sb.Append("{"); sb.Append("\"match_phrase\": {"); sb.AppendFormat("\"programCode.keyword\": \"{0}\"", inputData.ProgramCode); sb.Append("}"); sb.Append("}"); } if (!string.IsNullOrEmpty(inputData.ApiName)) { sb.Append("{"); sb.Append("\"match_phrase\": {"); sb.AppendFormat("\"apiName\": \"{0}\"", inputData.ApiName); sb.Append("}"); sb.Append("}"); } if (!string.IsNullOrEmpty(inputData.StartDate) && !string.IsNullOrEmpty(inputData.EndDate)) { sb.Append("{"); sb.Append("\"range\": {"); sb.Append("\"date.keyword\": {"); sb.AppendFormat("\"gte\": \"{0},\"", inputData.StartDate); sb.AppendFormat("\"lte\": \"{0},\"", inputData.EndDate); sb.AppendFormat("\"format\": \"{0},\"", "dd-MM-yyyy"); sb.Append("}"); sb.Append("}"); sb.Append("}"); } sb.Append("]"); sb.Append("}"); sb.Append("}"); sb.Append("}"); Request = sb.ToString(); } } catch (Exception) { throw; } return(Request); }
public IActionResult RequestResponseLog(ElasticSearchInput inputData) { try { IEnumerable <RequestResponseLogger> response = _processor.RequestResponseLogger(inputData); return(this.Ok(response)); } catch (Exception ex) { return(this.BadRequest(ex.Message)); } }
public IActionResult SearchItemDetails(ElasticSearchInput inputData) { try { List <RequestResponseLogger> response = _processor.SearchItemDetails(inputData); var jsonResponse = JsonConvert.SerializeObject(response); return(this.Ok(jsonResponse)); } catch (Exception ex) { return(this.BadRequest(ex.Message)); } }
public List <RequestResponseLogger> SearchItemDetails(ElasticSearchInput inputData) { List <RequestResponseLogger> response = new List <RequestResponseLogger>(); try { string request = PrepareJsonRequestForsearch2(inputData); if (!String.IsNullOrEmpty(request)) { string apiUrl = string.Format(AppConfig.ElasticUrl + AppConfig.ResponseElasticLogIndex, inputData.ProgramCode.ToLower().Trim() + "/_search"); response = GetAPIResponseRabbit(request, apiUrl); } return(response); } catch (Exception) { throw; } }
public List <RequestResponseLogger> SearchItemDetails(ElasticSearchInput inputData) { return(empDataAccess.SearchItemDetails(inputData)); }
public IEnumerable <RequestResponseLogger> RequestResponseLogger(ElasticSearchInput inputData) { return(empDataAccess.ElasticLogResponseSearch(inputData)); }
public IEnumerable <RequestResponseLogger> ElasticLogResponseSearch(ElasticSearchInput inputData) { if (inputData.StartDate.Contains("PM")) { string startDate = inputData.StartDate.Split(" ")[1]; //int hour = startDate.Split(":")[0]; } DateTime startdate = Convert.ToDateTime(inputData.StartDate); DateTime enddate = Convert.ToDateTime(inputData.EndDate); string responseStr = string.Empty; IEnumerable <RequestResponseLogger> logList = null; List <RequestResponseLogger> responseLogList = new List <RequestResponseLogger>(); try { if (inputData != null) { if (!String.IsNullOrEmpty(inputData.ProgramCode) || !String.IsNullOrEmpty(inputData.ApiName) || !String.IsNullOrEmpty(inputData.StartDate) || !String.IsNullOrEmpty(inputData.EndDate)) { string ProgramCode = inputData.ProgramCode.ToLower(); string ApiName = inputData.ApiName.ToLower(); string ElasticURL = string.Format(AppConfig.ElasticUrl + AppConfig.ResponseElasticLogIndex, ProgramCode + "/_search"); string request = string.Format(ElasticURL, ProgramCode.Trim()); //responseLogList = SearchElasticData(request); HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(request.ToLower()); webReq.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; using HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); using Stream stream = response.GetResponseStream(); using (StreamReader reader = new StreamReader(stream)) { responseStr = reader.ReadToEnd(); var jsonResult = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(responseStr); var jsonResultList = jsonResult.hits.hits; /*var loList = from l in jsonResultList * where Convert.ToDateTime(l.date) > enddate && Convert.ToDateTime(l.date) < startdate * select new { RequestResponseLogger = l.RequestResponseLogger };*/ /*var list = jsonResultList.Where(m => m.inputData.StartDate > DateTime.Today.AddMonths(-3)) * .OrderByDescending(m => m.billDate).Take(1).ToList();*/ foreach (var logItems in jsonResultList) { responseLogList.Add(new RequestResponseLogger() { Date = logItems["_source"]["date"], ProgramCode = logItems["_source"]["programCode"], Request = logItems["_source"]["request"], Response = logItems["_source"]["response"], ApiName = logItems["_source"]["apiName"] }); } logList = from l in responseLogList where Convert.ToDateTime(l.Date) < enddate && Convert.ToDateTime(l.Date) > startdate && l.ProgramCode == ProgramCode && l.ApiName == ApiName select new RequestResponseLogger() { Date = l.Date, ProgramCode = l.ProgramCode, Request = l.Request, Response = l.Response, ApiName = l.ApiName }; } } } return(logList.ToList()); } catch (Exception) { throw; } }