internal static async Task <DirectoryInfo> GetResourceDirectory(ScanModel model) { await _semaphoreSlim.WaitAsync(); DirectoryInfo resourceFolder = null; try { DirectoryInfo preReqFolder = null; string resourceFolderPath = null; if (!String.IsNullOrEmpty(model.PrerequisiteName)) { if (!IsScanPrereqExist(model.PrerequisiteName)) { ScanPrerequisiteModel prerequisiteModel = await KamajiClient.Instance.Scans.GetScanPrerequisiteBy(model.PrerequisiteName); preReqFolder = await CreateScanPrereqFolder(prerequisiteModel.Name, prerequisiteModel.Resources); } else { preReqFolder = GetExistPrereq(model.PrerequisiteName); } resourceFolderPath = preReqFolder.FullName + "\\" + model.ResourceName; } else { resourceFolderPath = ScanResourcesPath + model.ResourceName;//if it has no prereq, just copy to the root folder. } if (!Directory.Exists(resourceFolderPath)) { ScanResourceModel resourceModel = await KamajiClient.Instance.Scans.GetScanResourceBy(model.ResourceName); if (null != resourceModel) { byte[] resources = resourceModel.Resources; resourceFolder = Directory.CreateDirectory(resourceFolderPath); await ExtractZip(resourceFolderPath, resources); } } else { resourceFolder = new DirectoryInfo(resourceFolderPath); } } finally { _semaphoreSlim.Release(); } return(resourceFolder); }
public async Task SaveScanPrerequisiteTest() { int result = 0; await RestClient.Instance.SignIn(); ScanPrerequisiteModel model; string path = RootPath + "puppeteer_1.9.0&express_4.16.4.zip";// Utility.GetExecutionPath() + "\\puppeteer_1.9.0&express_4.16.4.zip"; model = new ScanPrerequisiteModel(); model.Name = "puppeteer"; model.Version = "1.0.0"; model.Resources = await File.ReadAllBytesAsync(path); result = await RestClient.Instance.PostAsync <int>("Scan/SaveScanPrerequisite", model); Assert.AreEqual(result, 1); }
[HttpGet]//Node bunu çağırıyor. public Task <IActionResult> GetScanPrerequisiteBy(string name) { return(this.ResultAsync(async() => { ScanPrerequisiteModel ret = null; if (!String.IsNullOrEmpty(name)) { IScanPrerequisiteModel entity = await this.Db.ScanPrerequisites.GetBy(name); if (null != entity) { ret = new ScanPrerequisiteModel(); ret.CopyPropertiesFrom(entity); } } return ret; })); }
public Task <IActionResult> SaveScanPrerequisite(ScanPrerequisiteModel model) { return(this.ResultAsync(async() => { int ret = 0; if (model.IsModelValid()) { IScanPrerequisiteModel entity = this.Db.ModelFactory.CreateScanPrerequisiteModel(); entity.CopyPropertiesFrom(model); entity.CreatedDate = await this.Db.GetDbDateTime(); entity.LastModifiedDate = entity.CreatedDate; await this.Db.ScanPrerequisites.Save(entity); ret = 1; } return ret; })); }