Exemple #1
0
 public IHttpActionResult AddCompanyUpdate(ServerUpdate companyUpdate)
 {
     try
     {
         var dataRetireved = _companyUpdateService.Save(companyUpdate);
         return(Ok(dataRetireved));
     }
     catch (Exception e)
     {
         ModelState.AddModelError("Error", e.Message);
         return(BadRequest(ModelState));
     }
 }
Exemple #2
0
        private byte[] CreateRelease(ServerUpdate companyUpdate, List <Release> recenteRelease)
        {
            var pathDownload = Path.Combine(_directoryPath + $@"\Isolucion_{User.Name}_{recenteRelease.Last().Version}");

            Directory.CreateDirectory(pathDownload);
            foreach (var release in recenteRelease)
            {
                Log.Instance.Info($"Copiando release {release.Version} para descargar");
                System.IO.File.WriteAllBytes($@"{_directoryPath}\{release.Version}.zip", release.ReleaseContent);
                var path = Path.Combine(_directoryPath + $@"\{release.Version}.zip");
                if (!Directory.Exists(path))
                {
                    System.IO.File.Copy(path, $@"{pathDownload}\{release.Version}.zip", true);
                }

                _companyUpdateService.Save(new ServerUpdate
                {
                    ReleaseId = release.Id,
                    ServerId  = companyUpdate.ServerId,
                    Update    = companyUpdate.Update
                });
            }

            _companyUpdateService.CreateXml(new ServerUpdate
            {
                ReleaseId = recenteRelease.LastOrDefault().Id,
                ServerId  = companyUpdate.ServerId,
                Update    = companyUpdate.Update
            }, $@"{pathDownload}\CompanyUpdate.xml");

            if (!Directory.Exists($"{pathDownload}.zip"))
            {
                Compress.CompressFolder($"{pathDownload}.zip", pathDownload);
                Log.Instance.Info($"Comprimiendo archivo {pathDownload}.zip para descargar");
            }

            var fs   = System.IO.File.OpenRead($"{pathDownload}.zip");
            var data = new byte[fs.Length];
            var br   = fs.Read(data, 0, data.Length);

            if (br != fs.Length)
            {
                throw new IOException($"{pathDownload}.zip");
            }
            return(data);
        }