public async Task <IActionResult> Delete([FromForm] TestProblemsIdViewModel test) { var testToDelete = _testRepository.GetItem(test.TestId); if (testToDelete == null) { return(BadRequest("No test to delete")); } var problem = _problemRepository.GetItem(test.ProblemId); var problemName = problem?.ProblemName; //delete from linux server first TestDeleteModel testToDeleteModel = new TestDeleteModel { ProblemName = problemName, FisierIn = testToDelete.FisierIn, FisierOk = testToDelete.FisierOk }; var testWasDeleted = await DeleteTest(testToDeleteModel); if (testWasDeleted == true) { _testRepository.Delete(test.TestId); _testRepository.Save(); return(RedirectToAction(nameof(Index), new { id = test.ProblemId })); } return(RedirectToAction(nameof(Delete), new { id = test.TestId })); }
public JsonResult DeleteTestFiles([FromBody] TestDeleteModel item) { if (ModelState.IsValid) { var deleted = _testGenerator.DeleteTestFile(item.FisierIn, item.FisierOk, item.ProblemName); if (deleted == true) { return(Json("File deleted")); } return(Json("Failed to delete files")); } return(Json("Failed response")); }
private async Task <bool> DeleteTest(TestDeleteModel testToDeleteModel) { var client = new HttpClient(); var serializedInputData = JsonConvert.SerializeObject(testToDeleteModel); var httpContent = new StringContent(serializedInputData, Encoding.UTF8, "application/json"); var response = await client.PostAsync(_deleteTestApi, httpContent); if (response.StatusCode == System.Net.HttpStatusCode.OK) { var result = await response.Content.ReadAsStringAsync(); var resultDeserialized = JsonConvert.DeserializeObject(result); if (result.Contains("File deleted")) { //we delete successfuly the input and the output file return(true); } return(false); } return(false); }