/// <summary> /// 添加一个新版本 /// </summary> /// <param name="version">版本号</param> /// <returns>是否添加成功</returns> public bool AddVersion(Versioninfo version) { version.Date = DateTime.Now; DataBaseContext.Versioninfo.Add(version); this.DataBaseContext.SaveChanges(); return(true); }
/// <summary> /// 根据版本号获取版本信息 /// </summary> /// <param name="version">版本号</param> /// <returns></returns> public VersionUpdateInfo GetVersionInfoByVersion(string version) { Versioninfo versioninfo = this.GetVersionByVersion(version); if (versioninfo != null) { return(CacheKey.UploadCacheFileRootPath.FromProjectRootCombine(versioninfo.Path, CacheKey.VersionUpdateFileSaveName).ReadFromFile <VersionUpdateInfo>()); } else { return(null); } }
/// <summary> /// 根据历史版本的改动获取所有需要下载的文件的集合 /// </summary> /// <param name="historys">历史改动版本</param> /// <param name="cacheKey">配置</param> /// <param name="isDesc">是否逆向操作</param> /// <returns>需要修改的文件信息</returns> public static VersionUpdateInfo ConvertToHistory(List <Versioninfo> historys, CacheKey cacheKey, bool isDesc = false) { VersionUpdateInfo version = new VersionUpdateInfo(); if (isDesc == false) { //遍历历史 foreach (var item in historys) { //获取根目录 string root = cacheKey.UploadCacheFileRootPath.FromProjectRootCombine(item.Path, cacheKey.VersionUpdateFileSaveName); //读取对应版本的配置文件 VersionUpdateInfo info = root.ReadFromFile <VersionUpdateInfo>(); foreach (var fileInfo in info.Files.Values) { version.AddFileInfo(fileInfo); } } } else { for (int i = historys.Count - 1; i > 0; i--) { Versioninfo item = historys[i]; //获取根目录 string root = cacheKey.UploadCacheFileRootPath.FromProjectRootCombine(item.Path, cacheKey.VersionUpdateFileSaveName); //读取对应版本的配置文件 VersionUpdateInfo info = root.ReadFromFile <VersionUpdateInfo>(); foreach (var fileInfo in info.Files.Values) { if (fileInfo.Status == FileStatus.Add) { fileInfo.Status = FileStatus.Delete; } else if (fileInfo.Status == FileStatus.Delete) { fileInfo.Version = historys[i - 1].Value; fileInfo.Status = FileStatus.Add; } else if (fileInfo.Status == FileStatus.Modify) { fileInfo.Version = historys[i - 1].Value; fileInfo.Status = FileStatus.Modify; } version.AddFileInfo(fileInfo); } } } return(version); }