Exemple #1
0
        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"));
        }
Exemple #2
0
        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"));
        }
Exemple #3
0
        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));
        }