Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        private async Task <List <FileInfo> > GetDownloadFiles(Publication publication, IEnumerable <Guid> includedReleaseIds)
        {
            var latestRelease = await _releaseService.GetLatestRelease(publication.Id, includedReleaseIds);

            return(await _releaseService.GetDownloadFiles(latestRelease));
        }