public DtoActionResult Put(int id, EntityExternalDownload download) { download.Id = id; var result = _downloadService.Update(download); if (result == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } return(result); }
public void DownloadFile(DtoFileDownload fileDownload) { var entityExternalDownload = new EntityExternalDownload(); entityExternalDownload.FileName = fileDownload.FileName; entityExternalDownload.Url = fileDownload.Url; entityExternalDownload.ModuleGuid = fileDownload.ModuleGuid; entityExternalDownload.Status = EnumFileDownloader.DownloadStatus.Queued; entityExternalDownload.Id = fileDownload.ExternalDownloadId; new ServiceFileDownloader(entityExternalDownload).DownloadFile(); }
public DtoActionResult Add(EntityExternalDownload download) { var actionResult = new DtoActionResult(); _uow.ExternalDownloadRepository.Insert(download); _uow.Save(); actionResult.Success = true; actionResult.Id = download.Id; return(actionResult); }
public bool DeleteExternalFile(EntityExternalDownload file) { if (file == null) { return(false); } if (string.IsNullOrEmpty(file.FileName) || file.FileName == Path.DirectorySeparatorChar.ToString()) { return(false); } if (string.IsNullOrEmpty(file.ModuleGuid) || file.ModuleGuid == Path.DirectorySeparatorChar.ToString()) { return(false); } var basePath = Path.Combine(ServiceSetting.GetSettingValue(SettingStrings.StoragePath), "software_uploads"); var fullPath = Path.Combine(basePath, file.ModuleGuid, file.FileName); using (var unc = new UncServices()) { if (unc.NetUseWithCredentials() || unc.LastError == 1219) { try { File.Delete(fullPath); return(true); } catch (Exception ex) { log.Error("Could Not Delete " + fullPath); log.Error(ex.Message); return(false); } } else { log.Error("Could Not Reach Storage Path"); return(false); } } }
public DtoActionResult Update(EntityExternalDownload download) { var u = GetDownload(download.Id); if (u == null) { return new DtoActionResult { ErrorMessage = "External Download Not Found", Id = 0 } } ; var actionResult = new DtoActionResult(); _uow.ExternalDownloadRepository.Update(download, u.Id); _uow.Save(); actionResult.Success = true; actionResult.Id = download.Id; return(actionResult); } }
public async Task BatchDownload(List <DtoFileDownload> fileDownloads) { if (fileDownloads.Count == 0) { return; } var entityList = new List <EntityExternalDownload>(); foreach (var fileDownload in fileDownloads) { var entityExternalDownload = new EntityExternalDownload(); entityExternalDownload.FileName = fileDownload.FileName; entityExternalDownload.Url = fileDownload.Url; entityExternalDownload.ModuleGuid = fileDownload.ModuleGuid; entityExternalDownload.Sha256Hash = fileDownload.Sha256; entityExternalDownload.Status = EnumFileDownloader.DownloadStatus.Queued; entityList.Add(entityExternalDownload); } _uow.ExternalDownloadRepository.InsertRange(entityList); _uow.Save(); foreach (var ed in entityList) { await new ServiceFileDownloader(ed).DownloadFile(); } var first = fileDownloads.FirstOrDefault(); if (first != null) { if (first.SyncWhenDone) { new FolderSync().RunAllServers(); } } }
public DtoActionResult Post(EntityExternalDownload download) { return(_downloadService.Add(download)); }
public ServiceFileDownloader(EntityExternalDownload externalDownload) { EntityDownload = externalDownload; _serviceExternalDownload = new ServiceExternalDownload(); _progress = 0; }