public ActionResult Index(EnginesModel model) { model = model ?? new EnginesModel(); if (!string.IsNullOrEmpty(model.UploadName) && model.upload != null) { model.Message = UploadEngine(model.UploadName, model.UploadPlatforms); } var defaultPlatform = EnginePlatforms[0]; var winBasePath = Path.Combine(Server.MapPath("~"), "engine", defaultPlatform); if (!Directory.Exists(winBasePath)) Directory.CreateDirectory(winBasePath); var items = new List<EngineItem>(); foreach (var name in new DirectoryInfo(winBasePath).GetFiles().Select(x => x.Name).Select(Path.GetFileNameWithoutExtension)) { var item = new EngineItem() { Name = name, Platforms = new List<string>() { defaultPlatform }, IsDefault = name == MiscVar.DefaultEngine}; foreach (var p in EnginePlatforms.Where(x => x != defaultPlatform)) { if (System.IO.File.Exists(Path.Combine(Server.MapPath("~"), "engine", p, $"{name}.zip"))) item.Platforms.Add(p); } items.Add(item); } if (model.SearchName != null) items = items.Where(x => x.Name.Contains(model.SearchName)).ToList(); model.Data = items.OrderByDescending(x => x.Name).AsQueryable(); return View("EnginesIndex", model); }
public ActionResult Index(EnginesModel model) { model = model ?? new EnginesModel(); if (!string.IsNullOrEmpty(model.UploadName) && model.upload != null) { model.Message = UploadEngine(model.UploadName, model.UploadPlatforms); } var defaultPlatform = EnginePlatforms[0]; var winBasePath = Path.Combine(Server.MapPath("~"), "engine", defaultPlatform); if (!Directory.Exists(winBasePath)) { Directory.CreateDirectory(winBasePath); } var items = new List <EngineItem>(); foreach (var name in new DirectoryInfo(winBasePath).GetFiles().Select(x => x.Name).Select(Path.GetFileNameWithoutExtension)) { var item = new EngineItem() { Name = name, Platforms = new List <string>() { defaultPlatform }, IsDefault = name == MiscVar.DefaultEngine }; foreach (var p in EnginePlatforms.Where(x => x != defaultPlatform)) { if (System.IO.File.Exists(Path.Combine(Server.MapPath("~"), "engine", p, $"{name}.zip"))) { item.Platforms.Add(p); } } items.Add(item); } if (model.SearchName != null) { items = items.Where(x => x.Name.Contains(model.SearchName)).ToList(); } model.Data = items.OrderByDescending(x => x.Name).AsQueryable(); return(View("EnginesIndex", model)); }