public ActionResult DownloadRelease(HttpPostedFileBase fileXml) { try { var fileName = Path.GetFileName(fileXml.FileName); var pathXml = Path.Combine(_directoryPath + $@"\{fileName}"); fileXml.SaveAs(pathXml); var lastRelease = _companyUpdateService.ValidateXmlFile(pathXml, $"{User.Name} {User.LastName}"); var recenteRelease = _releaseService.GetLatestRelease(lastRelease.ReleaseId).ToList(); var releaseDistinctCompany = _companyReleaseService.GetReleaseListDownload(recenteRelease.Select(x => x.Id), lastRelease.ServerId); recenteRelease = recenteRelease.Where(x => !releaseDistinctCompany.Contains(x.Id)).ToList(); if (recenteRelease.Any()) { var companyUpdate = new ServerUpdate { ServerId = lastRelease.ServerId, Update = lastRelease.Update }; byte[] data = CreateRelease(companyUpdate, recenteRelease); Log.Instance.Info($"Iniciando descarga Isolucion_{recenteRelease.Last().Version}.zip"); return(File(data, MediaTypeNames.Application.Octet, $@"Isolucion_{recenteRelease.Last().Version}.zip")); } } catch (Exception ex) { Log.Instance.Error(ex); } return(RedirectToAction("Index")); }
public async Task <CachedPublicationViewModel> GetViewModelAsync(Guid id, IEnumerable <Guid> includedReleaseIds) { var publication = await _contentDbContext.Publications .Include(p => p.Contact) .Include(p => p.LegacyReleases) .Include(p => p.Methodology) .Include(p => p.Topic) .ThenInclude(topic => topic.Theme) .SingleOrDefaultAsync(p => p.Id == id); var publicationViewModel = _mapper.Map <CachedPublicationViewModel>(publication); var latestRelease = await _releaseService.GetLatestRelease(publication.Id, includedReleaseIds); publicationViewModel.LatestReleaseId = latestRelease.Id; publicationViewModel.Releases = GetReleaseViewModels(id, includedReleaseIds); return(publicationViewModel); }
private async Task <List <FileInfo> > GetDownloadFiles(Publication publication, IEnumerable <Guid> includedReleaseIds) { var latestRelease = await _releaseService.GetLatestRelease(publication.Id, includedReleaseIds); return(await _releaseService.GetDownloadFiles(latestRelease)); }