public virtual async Task <ActionResult> Details(string id) { var cts = TaskHelper.CreateChildCancellationTokenSource(ClientDisconnectedToken()); FileInfo data = null; try { var repository = FileSystemGenericRepositoryFactory.CreateFileRepositoryReadOnly(cts.Token, PhysicalPath, IncludeSubDirectories); data = await repository.GetByPathAsync(id.Replace("/", "\\")); if (data == null) { return(HandleReadException()); } } catch { return(HandleReadException()); } ViewBag.PageTitle = Title; ViewBag.Admin = Admin; var dto = Mapper.Map <FileMetadataDto>(data); dto.Id = dto.Id.Replace(PhysicalPath, ""); // return View("Details", dto); return(View("~/Views/Bootstrap4/Details.cshtml", dto)); }
public virtual async Task <ActionResult> Index(int page = 1, int pageSize = 10, string orderColumn = nameof(FileInfo.LastWriteTime), string orderType = "desc", string search = "") { var cts = TaskHelper.CreateChildCancellationTokenSource(ClientDisconnectedToken()); try { var repository = FileSystemGenericRepositoryFactory.CreateFileRepositoryReadOnly(cts.Token, PhysicalPath, IncludeSubDirectories); var dataTask = repository.SearchAsync(search, null, LamdaHelper.GetOrderByFunc <FileInfo>(orderColumn, orderType), (page - 1) * pageSize, pageSize); var totalTask = repository.GetSearchCountAsync(search, null); await TaskHelper.WhenAllOrException(cts, dataTask, totalTask); var data = dataTask.Result; var total = totalTask.Result; var rows = data.ToList().Select(Mapper.Map <FileInfo, FileMetadataDto>).ToList(); foreach (FileMetadataDto dto in rows) { dto.Id = dto.Id.Replace(PhysicalPath, ""); } var response = new WebApiPagedResponseDto <FileMetadataDto> { Page = page, PageSize = pageSize, Records = total, Rows = rows, OrderColumn = orderColumn, OrderType = orderType, Search = search }; ViewBag.Search = search; ViewBag.Page = page; ViewBag.PageSize = pageSize; ViewBag.OrderColumn = orderColumn; ViewBag.OrderType = orderType; ViewBag.DisableCreate = true; ViewBag.DisableSorting = true; ViewBag.DisableDelete = false; ViewBag.PageTitle = Title; ViewBag.Admin = Admin; return(View("List", response)); } catch { return(HandleReadException()); } }
public virtual async Task <ActionResult> Index(int p = 1, int pageSize = 10, string orderBy = nameof(FileInfo.LastWriteTime) + " desc", string search = "") { var cts = TaskHelper.CreateChildCancellationTokenSource(ClientDisconnectedToken()); try { var repository = FileSystemGenericRepositoryFactory.CreateFileRepositoryReadOnly(cts.Token, PhysicalPath, IncludeSubDirectories); var data = await repository.SearchAsync(search, null, UIHelper.GetOrderByIQueryableDelegate <FileInfo>(orderBy), (p - 1) *pageSize, pageSize); var total = await repository.GetSearchCountAsync(search, null); var rows = data.ToList().Select(Mapper.Map <FileInfo, FileMetadataDto>).ToList(); foreach (FileMetadataDto dto in rows) { dto.Id = dto.Id.Replace(PhysicalPath, ""); } var response = new WebApiPagedResponseDto <FileMetadataDto> { Page = p, PageSize = pageSize, Records = total, Rows = rows, OrderBy = orderBy, Search = search }; ViewBag.Search = search; ViewBag.Page = p; ViewBag.PageSize = pageSize; ViewBag.OrderBy = orderBy; ViewBag.DisableCreate = true; ViewBag.DisableSorting = true; ViewBag.DisableDelete = false; ViewBag.PageTitle = Title; ViewBag.Admin = Admin; //return View("List", response); return(View("~/Views/Bootstrap4/List.cshtml", response)); } catch { return(HandleReadException()); } }
public virtual async Task <ActionResult> Delete(string id) { var cts = TaskHelper.CreateChildCancellationTokenSource(ClientDisconnectedToken()); JpegMetadata data = null; try { var repository = FileSystemGenericRepositoryFactory.CreateJpegMetadataRepositoryReadOnly(cts.Token, PhysicalPath, IncludeSubDirectories); data = await repository.MetadataGetByPathAsync(id.Replace("/", "\\")); var dto = Mapper.Map <JpegMetadataDto>(data); ViewBag.PageTitle = Title; ViewBag.Admin = Admin; return(View("Delete", dto)); } catch { return(HandleReadException()); } }
public virtual ActionResult DeleteConfirmed(string id) { var cts = TaskHelper.CreateChildCancellationTokenSource(ClientDisconnectedToken()); if (ModelState.IsValid) { try { var repository = FileSystemGenericRepositoryFactory.CreateFolderRepository(cts.Token, PhysicalPath, IncludeSubDirectories); repository.Delete(id.Replace("/", "\\")); return(RedirectToControllerDefault().WithSuccess(this, Messages.DeleteSuccessful)); } catch (Exception ex) { HandleUpdateException(ex); } } ViewBag.PageTitle = Title; ViewBag.Admin = Admin; return(View("Delete", id)); }