public IActionResult DeleteDirectory([FromQuery] int dirId) { var lang = Request.Headers["language"].ToString(); var errorMessages = new List <string>(); try { var dir = _directoryRepository.FindById(dirId); if (dir == null) { return(NotFound()); } var path = Path.Combine(_webHostEnvironment.WebRootPath, "appData"); var fullPath = Path.Combine(path, dir.Path); if (Directory.Exists(fullPath)) { Directory.Delete(fullPath); var deletedDir = _directoryRepository.Delete(dirId); return(Ok(new { deletedDirId = deletedDir.Id })); } errorMessages.Add(_translator.GetTranslation("NOT_FOUND", lang)); return(BadRequest(new { errors = errorMessages })); } catch { errorMessages.Add(_translator.GetTranslation("ERROR", lang)); return(BadRequest(new { errors = errorMessages })); } }