private void btPackage_Click(object sender, EventArgs e) { string src = tbPath.Text; string file = tbName.Text + "-" + tbVersion.Text.Replace('.', '-') + ".udp"; string dst = DirTool.Combine(DirTool.GetFilePath(tbPath.Text), file); if (FilePackageTool.Pack(src, dst) > 0 && File.Exists(dst)) { string md5Code = FileTool.GetMD5(dst); //设置更新模型,14个属性 AppUpdateInfo aui = new AppUpdateInfo() { Name = tbName.Text, Author = tbAuthor.Text, Desc = tbDesc.Text, Version = tbVersion.Text, ReleasePath = tbReleasePath.Text, Necessary = cbNecessary.Checked, DateTime = DateTime.Now, DownloadMode = rbHttpMode.Checked ? 0 : 1, HttpUrl = tbHttpUrl.Text, FtpIp = tbFtpIp.Text, FtpAccount = tbFtpAccount.Text, FtpPassword = tbFtpPassword.Text, FtpFile = tbFtpFile.Text, Md5 = md5Code, }; string auiJson = JsonTool.ToStr(aui); TxtTool.Create(dst + ".txt", auiJson); } }
private void BtBuild_Click(object sender, EventArgs e) { Task.Factory.StartNew(() => { this.Invoke(new Action(() => { LbResult.Text = "开始检索并生成目录文件,请稍候……"; })); beginTime = DateTime.Now; string path = TbPath.Text; string parentPath = DirTool.Parent(path); FileCodeHelper fcode = new FileCodeHelper(); if (Directory.Exists(path) && Directory.Exists(parentPath)) { List <string> fileList = FileTool.GetAllFile(path); if (!ListTool.IsNullOrEmpty(fileList)) { VersionModel version = new VersionModel() { Number = DateTime.Now.Second, Path = path, FileList = new List <VersionFile>(), }; foreach (var item in fileList) { version.FileList.Add(new VersionFile() { File = item.Replace(path, ""), MD5 = fcode.GetMD5(item), }); } string file = string.Format(@"{0}\version.txt", parentPath); string json = JsonTool.ToStr(version); TxtTool.Create(file, json); } } endTime = DateTime.Now; this.Invoke(new Action(() => { LbResult.Text = string.Format("生成完成,用时:{0}秒。", (endTime - beginTime).TotalSeconds); })); }); }
}/// <summary> /// 模型 存储到文件 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="file"></param> /// <returns></returns> public static bool Object2File <T>(string file, T t) { string s = Object2String(t); bool rs = TxtTool.Create(file, s); return(rs); }
/// <summary> /// 整理图片到指定位置 /// </summary> /// <param name="file">图片路径</param> /// <param name="path">整理目标路径</param> /// <param name="picture">图片信息模型</param> /// <returns></returns> public static bool ReorganizePicture(string file, string path, Pictures picture) { try { if (File.Exists(file)) { //根据照片信息旋转,生成临时文件 string temp = DirTool.Combine(path, "_data", "temp"); DirTool.Create(temp); string tempfile = DirTool.Combine(temp, picture.Name); if (File.Exists(tempfile)) { FileTool.Delete(tempfile); } RotateImageTool.Rotate(file, tempfile); //创建压缩图 string normal = DirTool.Combine(path, "_data", "normal", $"{picture.Model}", $"{picture.OrigTime.Year}-{picture.OrigTime.Month}"); DirTool.Create(normal); if (File.Exists(DirTool.Combine(normal, picture.Name))) { FileTool.Delete(DirTool.Combine(normal, picture.Name)); } ImageHelper.MakeThumbnail(tempfile, DirTool.Combine(normal, picture.Name), 1000, 1000, "H"); //创建缩略图 string thumb = DirTool.Combine(path, "_data", "thumb", $"{picture.Model}", $"{picture.OrigTime.Year}-{picture.OrigTime.Month}"); DirTool.Create(thumb); if (File.Exists(DirTool.Combine(thumb, picture.Name))) { FileTool.Delete(DirTool.Combine(thumb, picture.Name)); } ImageHelper.MakeThumbnail(tempfile, DirTool.Combine(thumb, picture.Name), 500, 500, "Cut"); //整理原始照片 string original = DirTool.Combine(path, $"{picture.Model}", $"{picture.OrigTime.Year}-{picture.OrigTime.Month}"); DirTool.Create(original); if (File.Exists(DirTool.Combine(original, picture.Name))) { FileTool.Delete(DirTool.Combine(original, picture.Name)); } File.Move(file, DirTool.Combine(original, picture.Name)); //整理照片基础信息 string info = DirTool.Combine(path, "_data", "info", $"{picture.Model}", $"{picture.OrigTime.Year}-{picture.OrigTime.Month}"); DirTool.Create(info); TxtTool.Create(DirTool.Combine(info, picture.Name + ".info"), JsonTool.ToStr(picture)); FileTool.Delete(tempfile); return(true); } } catch { return(false); } return(false); }
private void 生成配置ToolStripMenuItem_Click(object sender, EventArgs e) { VersionModel vm = GatherModel(); string vmJson = JsonTool.ToStr(vm); string vmFile = string.IsNullOrWhiteSpace(NowOpenFile) ? R.Paths.VersionFile + string.Format("{0}.version", DateTime.Now.ToString("MMddHHmmss")) : NowOpenFile; TxtTool.Create(vmFile, vmJson); TsslRunStatus.Text = "构建成功:" + Path.GetFileName(vmFile); }
private void 生成配置到指定目录ToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog fileDialog = new SaveFileDialog(); fileDialog.InitialDirectory = R.Paths.VersionFile; fileDialog.Filter = "版本文件|*.version"; if (fileDialog.ShowDialog() == DialogResult.OK) { VersionModel vm = GatherModel(); string vmJson = JsonTool.ToStr(vm); TxtTool.Create(fileDialog.FileName, vmJson); TsslRunStatus.Text = "构建成功:" + Path.GetFileName(fileDialog.FileName); } }
public static bool Write(DataEntity data) { if (data != null && data.User != null && Str.Ok(data.User.Email, data.User.Passcode)) { string s = PassHelper.EnData(data); string file = R.Files.GetUserDataFile(data.User.Email); string cache = R.Files.GetUserDataCacheFile(data.User.Email); bool f1 = TxtTool.Create(cache, s); if (f1) { bool f2 = FileTool.Copy(cache, file, true); return(f2); } } return(false); }
internal static void Get() { Task.Factory.StartNew(() => { List <USBVendorModel> list = GetByFile(); if (Ls.Ok(list)) { __USBIDS = list; } List <USBVendorModel> weblist = GetByWeb(); if (Ls.Ok(weblist)) { __USBIDS = weblist; TxtTool.Create(R.Files.USBIds, Json.Object2String(weblist)); } }); }
/// <summary> /// 保存配置信息 /// </summary> /// <returns></returns> public override bool DoSave() { string s = Json.Object2String(this.Config); s = JsonFormat.Format(s); TxtTool.Create(this.FilePath, s); bool result = TxtTool.Create(this.FilePathBackup, s); if (result) { if (Json.File2Object <T>(this.FilePathBackup) != null) { if (FileTool.Copy(this.FilePathBackup, this.FilePath, true)) { FileTool.Delete(this.FilePathBackup); } } } return(result); }
private void CreateVersionMap() { string versionNumber = TbVersionNumber.Text; string ftpPath = TbFtpPath.Text; string[] beginClose = TbBeginClose.Text.Split(';'); string[] endRun = TbEndRun.Text.Split(';'); string path = TbPath.Text; string parentPath = DirTool.Parent(path); FileCodeTool fcode = new FileCodeTool(); if (Directory.Exists(path) && Directory.Exists(parentPath)) { List <string> fileList = FileTool.GetAllFile(path); if (!ListTool.IsNullOrEmpty(fileList)) { VersionModel version = new VersionModel() { Number = versionNumber, ServerPath = ftpPath, BeginCloseProcess = beginClose, EndRunProcess = endRun, FileList = new List <VersionFile>() }; foreach (var item in fileList) { version.FileList.Add(new VersionFile() { File = item.Replace(path, ""), MD5 = fcode.GetMD5(item), }); } string file = string.Format(@"{0}\update.version", parentPath, versionNumber); string json = JsonTool.ToStr(version); TxtTool.Create(file, json); } } }
public static void Persistence() { DirTool.Create(R.Paths.Store); List <SystemStatusModel> ssm = new List <SystemStatusModel>(); List <ProjectStatusModel> psm = new List <ProjectStatusModel>(); foreach (var item in SystemStatus.ToArray()) { ssm.Add(item.Value); } foreach (var item in ProjectStatus.ToArray()) { psm.Add(item.Value); } string ss = Json.Object2String(ssm.OrderBy(x => x.IP)); string ps = Json.Object2String(psm.OrderBy(x => x.IP).ThenBy(x => x.Port)); bool ss_flag = TxtTool.Create(R.Files.SystemStatus, ss); bool ps_flag = TxtTool.Create(R.Files.ProjectStatus, ps); }
/// <summary> /// 初始化Ini配置信息 /// </summary> static void InitIni() { DirTool.Create(R.Paths.Settings); DirTool.Create(R.Paths.Projects); DirTool.Create(R.Paths.DefaultPublishStorage); DirTool.Create(R.Paths.DefaultNewStorage); R.Paths.PublishStorage = IniTool.GetString(R.Files.Settings, "Paths", "PublishStorage", R.Paths.DefaultPublishStorage); if (string.IsNullOrWhiteSpace(R.Paths.PublishStorage)) { R.Paths.PublishStorage = R.Paths.DefaultPublishStorage; } R.Paths.NewStorage = IniTool.GetString(R.Files.Settings, "Paths", "NewStorage", R.Paths.DefaultNewStorage); if (string.IsNullOrWhiteSpace(R.Paths.NewStorage)) { R.Paths.NewStorage = R.Paths.DefaultNewStorage; } R.Tx.IP = IniTool.GetString(R.Files.Settings, "Console", "IP", ""); R.Tx.Port = IniTool.GetInt(R.Files.Settings, "Console", "Port", 0); R.Tx.LocalIP = IniTool.GetString(R.Files.Settings, "Local", "IP", ""); R.Tx.LocalName = IniTool.GetString(R.Files.Settings, "Local", "Name", ""); R.IsAutoDeleteExpiredLog = IniTool.GetBool(R.Files.Settings, "Settings", "AutoDeleteExpiredLog", false); R.AppID = IniTool.GetString(R.Files.Settings, "App", "ID", ""); if (!Str.Ok(R.AppID)) { R.AppID = GuidTool.Short(); IniTool.Set(R.Files.Settings, "App", "ID", R.AppID); } if (!File.Exists(R.Files.NewStorageReadme)) { TxtTool.Create(R.Files.NewStorageReadme, R.NewStorageReadmeTxt); } }
/// <summary> /// 设置/重置工程信息 /// </summary> /// <param name="model"></param> public void SetProject(ProjectModel model) { //初始化设置项目 Project = model; //获取当前端口进程 if (GetProcess()) { //初始化时有进程占用端口号 StatusUI(WorkStatus.端口占用); } else { //没有进程占用端口号 StatusUI(WorkStatus.准备就绪); } //为控件更新显示 LBProjectName.Text = Project.Name; //更新项目名称 LBPort.Text = $"端口:{Project.Port}"; //更新端口号信息 //设置下拉框选择版本信息 if (ListTool.HasElements(Project.Versions)) { try { DataTable dt = new DataTable(); dt.TableName = "dt"; dt.Columns.Add("Code"); dt.Columns.Add("Name"); Project.Versions.OrderByDescending(x => x.Number).ToList().ForEach(x => { DataRow row = dt.NewRow(); row["Code"] = x.Number.ToString(); row["Name"] = $"{x.Number}({x.CreateTime.ToString("yyyy年MM月dd日 HH:mm")})"; dt.Rows.Add(row); if (x.Number > Project.CurrentVersion) { Project.CurrentVersion = x.Number; } }); CBVersion.DataSource = dt; CBVersion.DisplayMember = "Name"; CBVersion.ValueMember = "Code"; } catch { } } else { DataTable dt = new DataTable(); dt.TableName = "dt"; dt.Columns.Add("Code"); dt.Columns.Add("Name"); DataRow row = dt.NewRow(); row["Code"] = 0; row["Name"] = $"新建工程需要先加载工程"; dt.Rows.Add(row); CBVersion.DataSource = dt; CBVersion.DisplayMember = "Name"; CBVersion.ValueMember = "Code"; } //保存工程信息到文件 string str = Json.Object2String(Project); TxtTool.Create(DirTool.Combine(R.Paths.Projects, Name), str); //刷新进程 GetProcess(); }