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")); }
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")); } }
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)); }