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)); } }
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); }