示例#1
0
        public async Task <IActionResult> GetFilterdedFilesData(string[] filters)
        {
            List <FilesInfo> infos = new List <FilesInfo>();
            List <string>    check = new List <string>();

            for (int i = 0; i < filters.Length; i++)
            {
                var r = await appDbContext.FilesInfos.Where(k => k.Name.Contains(filters[i])).ToListAsync();

                infos.AddRange(r);
                check.Add(filters[i]);
            }
            if (filters.Length == 0)
            {
                infos = await appDbContext.FilesInfos.ToListAsync();
            }
            FilesModelView filesModelView = new FilesModelView();

            filesModelView.CheckedItems = check;
            filesModelView.FilesInfos   = infos;
            string tmp = JsonConvert.SerializeObject(filesModelView, Formatting.None, new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            });

            TempData["FilteredFiles"] = tmp;
            return(RedirectToAction("FilesTable", "Home"));
        }
示例#2
0
        public async Task <IActionResult> SearchInFiles(FilesModelView filesnModelView)
        {
            if (filesnModelView._search != null)
            {
                long id;
                if (long.TryParse(filesnModelView._search, out id))

                {
                    var q = await appDbContext.FilesInfos.Where(i => i.Id == id).ToListAsync();

                    FilesModelView mainModelView1 = new FilesModelView()
                    {
                        FilesInfos = q,
                    };
                    TempData["FilesData"] = JsonConvert.SerializeObject(mainModelView1);
                    return(RedirectToAction("FilesTable", "Home"));
                }
                else
                {
                    var cmp = await appDbContext.FilesInfos.Where(i => i.Name.Contains(filesnModelView._search)).ToListAsync();

                    //tmp.AddRange(cmp);
                    FilesModelView fileModelView1 = new FilesModelView()
                    {
                        FilesInfos = cmp
                    };

                    return(RedirectToAction("FilesTable", "Home"));
                }
            }

            else
            {
                return(RedirectToAction("FilesTable", "Home"));
            }
        }
示例#3
0
        public async Task <IActionResult> FilesTable(FilesModelView filesModelView, string[] filters)
        {
            _logger.LogInformation($"{DateTime.Now.ToString()} FilesTable method HomeController class");


            if (filesModelView._search != null)
            {
                long id;
                if (long.TryParse(filesModelView._search, out id))

                {
                    var q = await appDbContext.FilesInfos.Where(i => i.Id == id).ToListAsync();

                    FilesModelView mainModelView1 = new FilesModelView()
                    {
                        FilesInfos = q,
                        Filters    = await appDbContext.FilesInfos.Select(i => i.Name).Distinct().ToListAsync()
                    };
                    return(View(mainModelView1));
                }
                else
                {
                    var tmp = await appDbContext.FilesInfos.Where(i => i.Path.Contains(filesModelView._search)).ToListAsync();


                    var cmp = await appDbContext.FilesInfos.Where(i => i.Name.Contains(filesModelView._search)).ToListAsync();

                    tmp.AddRange(cmp);
                    FilesModelView fileModelView = new FilesModelView()
                    {
                        FilesInfos = tmp,
                        Filters    = await appDbContext.FilesInfos.Select(i => i.Name).Distinct().ToListAsync()
                    };
                    //       TempData["FilesData"] = JsonConvert.SerializeObject(fileModelView1);

                    return(View(filesModelView));
                }
            }

            if (filters != null)
            {
                List <FilesInfo> infos = new List <FilesInfo>();
                List <string>    check = new List <string>();
                for (int i = 0; i < filters.Length; i++)
                {
                    var r = await appDbContext.FilesInfos.Where(k => k.Name.Contains(filters[i])).ToListAsync();

                    infos.AddRange(r);
                    check.Add(filters[i]);
                }
                if (filters.Length == 0)
                {
                    infos = await appDbContext.FilesInfos.ToListAsync();
                }
                FilesModelView f_ilesModelView = new FilesModelView();
                f_ilesModelView.CheckedItems = check;
                f_ilesModelView.FilesInfos   = infos;
                f_ilesModelView.Filters      = await appDbContext.FilesInfos.Select(i => i.Name).Distinct().ToListAsync();


                return(View(f_ilesModelView));
            }

            var m = await appDbContext.FilesInfos.ToListAsync();

            var _m = new FilesModelView()
            {
                FilesInfos = m,
                Filters    = m.Select(i => i.Name).Distinct().ToList()
            };

            return(View(_m));
        }