/// <summary> /// /// </summary> /// <returns></returns> public ActionResult projectFileContent(string repositoryId, string version, string path) { if (repositoryId != null || !repositoryId.Equals("") || version != null || !version.Equals("")) { string projectPath = Server.MapPath("/"); //取得项目决对路径 string repositorySavePath = ConfigConstant.repositoryPath; //获取仓库存放位置 string currentRepositoryPath = projectPath + repositorySavePath + repositoryId; //当前仓库路径 Repository repository = repositoryDao.findRepositoryById(repositoryId); //获取仓库的id Src.Dao.UserDao userDao = new Src.Dao.UserDao(); User user = userDao.findUserByEmail(repository.email); //根据仓库id查找用户的信息 ViewData["user"] = user; //设置仓库所属用户信息 ViewData["repository"] = repository; //设置仓库信息 //List<MVersion> versions = versionDao.findVersionByRepositoryId(id);//根据仓库查找所有版本 DirectoryInfo[] versions = SingletonSyncFileManager.getInstance(currentRepositoryPath).listDir(); //版本列表 ViewData["versions"] = versions; //版本列表 SingletonSyncFileManager.removeOneOperator(currentRepositoryPath); ViewData["repositoryId"] = repositoryId; ViewData["version"] = version; ViewData["path"] = path; string showPath = projectPath + repositorySavePath + repositoryId + "/" + version + "/" + path; SyncFileUtil fileUtil = SingletonSyncFileManager.getInstance(showPath); string content = fileUtil.readFile(); ViewData["fileContent"] = content; SingletonSyncFileManager.removeOneOperator(showPath); return(View("projectFileContent")); } return(RedirectToAction("frame", "User")); }
public ActionResult fileDownload(string repositoryId) { if (repositoryId != null && !repositoryId.Equals("")) { string projectPath = Server.MapPath("/"); //取得项目决对路径 string repositorySavePath = ConfigConstant.repositoryPath; //获取仓库存放位置 string currentRepositoryPath = projectPath + repositorySavePath + repositoryId; //当前仓库路径 string temp = projectPath + "temp/" + repositoryId + ".zip"; //当前仓库路径 SyncFileUtil fileUtil = SingletonSyncFileManager.getInstance(temp); fileUtil.delete(); SingletonSyncFileManager.removeOneOperator(temp); ZipFile.CreateFromDirectory(currentRepositoryPath, temp); return(File(temp, "1", Url.Encode(repositoryId + ".zip"))); } return(null); }
public ActionResult saveFile(string repositoryId, string version, string path, string fileContent) { if (repositoryId != null || !repositoryId.Equals("") || version != null || !version.Equals("")) { string projectPath = Server.MapPath("/"); //取得项目决对路径 string repositorySavePath = ConfigConstant.repositoryPath; //获取仓库存放位置 string currentRepositoryPath = projectPath + repositorySavePath + repositoryId; //当前仓库路径 string showPath = projectPath + repositorySavePath + repositoryId + "/" + version + "/" + path; SyncFileUtil fileUtil = SingletonSyncFileManager.getInstance(showPath); fileUtil.createFileAndWrite(fileContent); SingletonSyncFileManager.removeOneOperator(showPath); return(projectFileContent(repositoryId, version, path)); } return(RedirectToAction("frame", "User")); }
public string getFileConetent(string repositoryId, string version, string path) { if (repositoryId != null || !repositoryId.Equals("") || version != null || !version.Equals("")) { string projectPath = Server.MapPath("/"); //取得项目决对路径 string repositorySavePath = ConfigConstant.repositoryPath; //获取仓库存放位置 string currentRepositoryPath = projectPath + repositorySavePath + repositoryId; //当前仓库路径 string showPath = projectPath + repositorySavePath + repositoryId + "/" + version + "/" + path; SyncFileUtil fileUtil = SingletonSyncFileManager.getInstance(showPath); string content = fileUtil.readFile(); ViewData["fileContent"] = content; SingletonSyncFileManager.removeOneOperator(showPath); return(content); } return(""); }
public ActionResult newDir(string repositoryId, string version, string path, string fileName) { if (repositoryId != null && !repositoryId.Equals("") && version != null && !version.Equals("") && fileName != null && !fileName.Equals("")) { string projectPath = Server.MapPath("/"); //取得项目决对路径 string repositorySavePath = ConfigConstant.repositoryPath; //获取仓库存放位置 string currentRepositoryPath = projectPath + repositorySavePath + repositoryId; //当前仓库路径 string showPath = projectPath + repositorySavePath + repositoryId + "/" + version + "/" + path + "/" + fileName; SyncFileUtil fileUtil = SingletonSyncFileManager.getInstance(showPath); fileUtil.createDictionary(); SingletonSyncFileManager.removeOneOperator(showPath); return(projectFiles(repositoryId, version, path)); } return(RedirectToAction("frame", "User")); }
/// <summary> /// 列出所有文件和文件夹 /// </summary> /// <param name="repositoryId">要列出文件的仓库id</param> /// <param name="version">要列出的版本</param> /// <param name="path">版本内的路径</param> /// <returns></returns> public ActionResult projectFiles(string repositoryId, string version, string path) { if (repositoryId != null) //传来的仓库id不为空 { Repository repository = repositoryDao.findRepositoryById(repositoryId); //获取仓库的id Src.Dao.UserDao userDao = new Src.Dao.UserDao(); User user = userDao.findUserByEmail(repository.email); //根据仓库id查找用户的信息 User currentUser = (User)Session["loginUser"]; if (currentUser != null) { FollowRepositoryBll bll = new FollowRepositoryBll(); ViewData["isFollow"] = bll.isFollow(currentUser.email, repositoryId);//判断是否关注 } else { ViewData["isFollow"] = false; } string projectPath = Server.MapPath("/"); //取得项目决对路径 string repositorySavePath = ConfigConstant.repositoryPath; //获取仓库存放位置 string currentRepositoryPath = projectPath + repositorySavePath + repositoryId; //当前仓库路径 user.pwd = ""; ViewData["user"] = user; //设置仓库所属用户信息 ViewData["repository"] = repository; //设置仓库信息 //List<MVersion> versions = versionDao.findVersionByRepositoryId(id);//根据仓库查找所有版本 DirectoryInfo[] versions = SingletonSyncFileManager.getInstance(currentRepositoryPath).listDir(); //版本列表 ViewData["versions"] = versions; //版本列表 SingletonSyncFileManager.removeOneOperator(currentRepositoryPath); if (versions == null || versions.Length == 0) { return(View("projectFiles")); } if (path == null) { path = ""; } //VersionService service = new VersionService(); string showPath;//要显示的文件列表路径 if (version == null || version.Equals("")) { showPath = projectPath + repositorySavePath + repositoryId + "/" + versions[0] + "/" + path; ViewData["version"] = versions[0];//文件夹列表 } else { showPath = projectPath + repositorySavePath + repositoryId + "/" + version + "/" + path; ViewData["version"] = version;//文件夹列表 } SyncFileUtil fileUtil = SingletonSyncFileManager.getInstance(showPath); ViewData["dirList"] = fileUtil.listDir(); //文件夹列表 ViewData["fileList"] = fileUtil.listFile(); //文件列表 SingletonSyncFileManager.removeOneOperator(showPath); ViewData["path"] = path; } else { return(RedirectToAction("frame", "User")); } return(View("projectFiles")); }