public ActionResult exportFicheirosToCsv(FilesUploadListViewModel viewModel, string sort, string direction, string tabNr) { if (tabNr == null || tabNr == "") tabNr = "1"; viewModel.SetParameters(int.Parse(tabNr), 1, sort, direction, Request.Params); viewModel.PageSize = 0; FilesUploadListViewModel result = getFicheiros(viewModel); List<FicheiroToCsv> ficheirosCsv = new List<FicheiroToCsv>(); foreach (Ficheiro file in result.ficheiros) ficheirosCsv.Add(new FicheiroToCsv { entidade = file.entidade.nome, nome = file.nomeFicheiro, estado = file.estado.descricao.ToString(), dataUpload = file.dataUpload.ToString(), dataAlteracao = file.dataAlteracao.ToString(), username = file.userName }); CsvExport<FicheiroToCsv> csv = new CsvExport<FicheiroToCsv>(ficheirosCsv); byte[] fileBytes = csv.ExportToBytes(); return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, "Ficheiros_" + DateTime.Now.ToShortDateString() + ".csv"); }
// // Get: /Index/ // public ActionResult Index(FilesUploadListViewModel viewModel, string sort, string direction, int? page, string tabNr) { if (tabNr == null || tabNr == "") tabNr = "1"; viewModel.SetParameters(int.Parse(tabNr), page == null ? 1 : page.Value, sort, direction, Request.Params); FilesUploadListViewModel result = getFicheiros(viewModel); return View(result); }
protected FilesUploadListViewModel getFicheiros(FilesUploadListViewModel viewModel) { IPagedList<Ficheiro> ficheirosToView = null; IQueryable<Ficheiro> query = null; UserProfile user = usersRepository.GetUserByIDIncludeEntidade(WebSecurity.CurrentUserId); if (viewModel.entidadeId == default(int)) viewModel.entidadeId = user.entidadeId; int entId = viewModel.entidadeId; if (user.entidade.nome == "ISP" && viewModel.entidadeId == user.entidadeId) entId = -1; if (user.entidade.scope.valor == "GLOBAL") { if(entId == -1) query = ficheirosRepository.All.OrderByDescending(f => f.dataUpload); else query = ficheirosRepository.All.Where(f => f.entidadeId == viewModel.entidadeId).OrderByDescending(f => f.dataUpload); this.ViewBag.entidadeId = new SelectList(entidadesRepository.All.Where(e => e.nome != "ISP") , "entidadeId", "nome", viewModel.entidadeId); } else { query = ficheirosRepository.All.Where(f => f.entidadeId == user.entidadeId).OrderByDescending(f => f.dataUpload); this.ViewBag.entidadeId = new SelectList(entidadesRepository.All.Where(e => e.nome != "ISP"), "entidadeId", "nome", user.entidadeId); } viewModel.totalNumberOfFicheiros = query.Count(); if (viewModel.PageSize == 0) viewModel.PageSize = viewModel.totalNumberOfFicheiros; switch (viewModel.SortColumn) { case "Entidade": if (viewModel.SortDirection == System.ComponentModel.ListSortDirection.Descending) ficheirosToView = query.OrderByDescending(s => s.entidade.nome).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); else ficheirosToView = query.OrderBy(s => s.entidade.nome).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); break; case "NomeFicheiro": if (viewModel.SortDirection == System.ComponentModel.ListSortDirection.Descending) ficheirosToView = query.OrderByDescending(s => s.nomeFicheiro).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); else ficheirosToView = query.OrderBy(s => s.nomeFicheiro).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); break; case "Estado": if (viewModel.SortDirection == System.ComponentModel.ListSortDirection.Descending) ficheirosToView = query.OrderByDescending(s => s.estado.descricao).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); else ficheirosToView = query.OrderBy(s => s.estado.descricao).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); break; case "DataUpload": if (viewModel.SortDirection == System.ComponentModel.ListSortDirection.Descending) ficheirosToView = query.OrderByDescending(s => s.dataUpload).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); else ficheirosToView = query.OrderBy(s => s.dataUpload).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); break; case "DataAlteracao": if (viewModel.SortDirection == System.ComponentModel.ListSortDirection.Descending) ficheirosToView = query.OrderByDescending(s => s.dataAlteracao).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); else ficheirosToView = query.OrderBy(s => s.dataAlteracao).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); break; case "UserName": if (viewModel.SortDirection == System.ComponentModel.ListSortDirection.Descending) ficheirosToView = query.OrderByDescending(s => s.userName).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); else ficheirosToView = query.OrderBy(s => s.userName).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); break; default: ficheirosToView = query.OrderByDescending(s => s.dataAlteracao).ToPagedList(viewModel.CurrentPageNumber, viewModel.PageSize); break; } viewModel.ficheiros = ficheirosToView.ToList(); return viewModel; =======
public ActionResult Upload(FilesUploadListViewModel model, HttpPostedFileBase file) { //List<ValorSistema> paramSistema = valoresSistemaRepository.All.Where(v => v.tipologia == "ESTADO_FICHEIRO" // || v.tipologia == "PARAM_PASTA_FICHEIROS" // || v.tipologia == "PARAM_PASTA_FICHEIROS_ISENTOS").ToList(); //List<ValorSistema> estadosFicheiro = paramSistema.Where(v => v.tipologia == "ESTADO_FICHEIRO").ToList(); //ValorSistema pastaUpload = paramSistema.Where(v => v.tipologia == "PARAM_PASTA_FICHEIROS").Single(); //ValorSistema pastaUploadIsentos = paramSistema.Where(v => v.tipologia == "PARAM_PASTA_FICHEIROS_ISENTOS").Single(); List<ValorSistema> estadosFicheiro = valoresSistemaRepository.GetPorTipologia("ESTADO_FICHEIRO"); ValorSistema pastaUpload = valoresSistemaRepository.GetPorTipologia("PARAM_PASTA_FICHEIROS").Single(); ValorSistema pastaUploadIsentos = valoresSistemaRepository.GetPorTipologia("PARAM_PASTA_FICHEIROS_ISENTOS").Single(); =======