public async Task <IActionResult> SearchInIp(IpModelView _ipModelView) { if (_ipModelView._search != null) { long id; if (long.TryParse(_ipModelView._search, out id)) { var q = await appDbContext.IpInfo.Where(i => i.Id == id).ToListAsync(); IpModelView ipModel = new IpModelView() { IpData = q }; return(RedirectToAction("IpTable", "Home")); } else { var cmp = await appDbContext.IpInfo.Where(i => i.CompanyName.Contains(_ipModelView._search)).ToListAsync(); IpModelView ipView = new IpModelView() { IpData = cmp }; return(RedirectToAction("IpTable", "Home")); } } return(RedirectToAction("IpTable", "Home")); }
public async Task <IActionResult> GetFilterdedIpData(string[] filters) { List <IPinfo> infos = new List <IPinfo>(); List <string> _c = new List <string>(); var r = await appDbContext.IpInfo.ToListAsync(); for (int qq = 0; qq < r.Count; qq++) { for (int i = 0; i < filters.Length; i++) { if (r[qq].CompanyName.Contains(filters[i])) { infos.Add(r[qq]); } //var rr = await appDbContext.MainTable.Select(tt => tt._IPinfo).Where(q => q.CompanyName.Contains(filters[i])).ToListAsync(); //infos.AddRange(r); _c.Add(filters[i]); } } if (filters.Length == 0) { infos = await appDbContext.IpInfo.ToListAsync(); } IpModelView ipModelView = new IpModelView() { CheckedItems = _c, Filters = await appDbContext.IpInfo.Select(i => i.CompanyName).Distinct().ToListAsync(), IpData = infos }; string tmp = JsonConvert.SerializeObject(ipModelView, Formatting.None, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); TempData["FilteredIp"] = tmp; return(RedirectToAction("IpTable", "Home")); }
public async Task <IActionResult> IpTable(IpModelView ipModelView, string[] filters) { _logger.LogInformation($"{DateTime.Now.ToString()} IpTable method HomeController class"); var m = await appDbContext.IpInfo.ToListAsync(); var categories = m.Select(i => i.CompanyName).Distinct().ToList(); if (ipModelView._search != null) { long id; if (long.TryParse(ipModelView._search, out id)) { var q = await appDbContext.IpInfo.Where(i => i.Id == id).ToListAsync(); IpModelView ipModel = new IpModelView() { IpData = q, Filters = categories }; return(View(ipModel)); } else { var cmp = await appDbContext.IpInfo.Where(i => i.CompanyName.Contains(ipModelView._search)).ToListAsync(); IpModelView _ipView = new IpModelView() { IpData = cmp, Filters = categories }; return(View(_ipView)); } } if (filters != null) { List <IPinfo> infos = new List <IPinfo>(); List <string> _c = new List <string>(); // var r = await appDbContext.IpInfo.ToListAsync(); for (int i = 0; i < filters.Length; i++) { string tmp = filters[i].Remove(filters[i].Length - 2, 2); var r = await appDbContext.IpInfo.Where(k => k.CompanyName.Contains(tmp)).ToListAsync(); infos.AddRange(r); // var rr = await appDbContext.IpInfo.Select(tt => tt._IPinfo).Where(q => q.CompanyName.Contains(filters[i])).ToListAsync(); //infos.AddRange(r); _c.Add(filters[i]); } if (filters.Length == 0) { infos = await appDbContext.IpInfo.ToListAsync(); } IpModelView __ipModelView = new IpModelView() { CheckedItems = _c, Filters = await appDbContext.IpInfo.Select(i => i.CompanyName).Distinct().ToListAsync(), IpData = infos }; return(View(__ipModelView)); } var _m = new IpModelView() { IpData = m, Filters = categories }; return(View(_m)); }